-
Notifications
You must be signed in to change notification settings - Fork 55.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix multicore arcsync reset #1151
Closed
seduardof
wants to merge
13
commits into
torvalds:master
from
foss-for-synopsys-dwc-arc-processors:fix_multicore_arcsync_reset
Closed
Fix multicore arcsync reset #1151
seduardof
wants to merge
13
commits into
torvalds:master
from
foss-for-synopsys-dwc-arc-processors:fix_multicore_arcsync_reset
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add several changes to load Linux on the HS4x host of the NPU prototype platform (NPP): include/asm/delay.h - prevent lp_conter overflow on NPP include/asm/io.h - use uncached access to the UART during early boot include/asm/irq.h - start external IRQs from 18 (IRQ18 for UART) kernel/devtree.c - change HW freq for UART, for early boot. Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
HAPS100 NPP bitfiles require 4MHz clock and work only with 9600 baud. Add special snps,haps_npp compatibility label for HAPS DTS files to set correct freq for early console and uart driver. Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
Enable HAVE_DMA_CONTIGUOUS for ARC to be able to use CMA with dma framework on ARC platform. Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
Add the platform driver for the ARCSync v1/v2 IP which is used to synchronize and control the VPX/NPX ARC processors. The driver provides control functions to the accel and rproc drivers for VPX/NPX - power/ reset/run/halt/status, it controls NPX cluster groups reset/power, handles ARCSync interrupts and allows another drivers (accel driver) register callback for the interrupt handler. Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
Add the driver in the remoteproc framework to setup and start VPX and NPX processors, upload and start processors firmware. For NPX processors the driver performs Cluster Network setup. The driver uses functions provided by the ARCSync driver to send control commands to the VPX/NPX cores. Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
Add the platform driver to help user space runtime with getting access to the kernel-space objects such as accelerator shared memory region, ARCSync MMIO, notification interrupts. The driver also allocates memory for DMA buffers, manages dma-bufs and implements dma-buf import/export functionality. Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
Add basic kernel defconfig for the NPP development platform. Link the accelerator drivers as a part of the image. Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
Add new kernel config for demos with dma buffers and enabled CMA. Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
Add several examples of Device Tree Source files for the NPU prototyping platform (NPP): - zebu_hs_npp.dts - basic example of platform description (for ZeBu) - haps_hs_npp.dts - basic example of platform description (for HAPS, UART baud rate 9600) - haps_hs_npx6_8k_vpx.dts - extended example of platform description (for HAPS, UART baud rate 19200) Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
…vent counter The driver informs the client about a new interrupt (unblocks the client) in the ioctl SNPS_ACCEL_IOCTL_WAIT_IRQ if the interrupt counter has changed since the last notification. A zero value in the client context for handled_irq_event after open() could result in a false notification (unblock) for the first ioctl SNPS_ACCEL_IOCTL_WAIT_IRQ call, if the interrupt counter is not equal to zero, for example if the client app starts and opens device second time. Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
Add DMA_BUF namespace to allow building driver as module. Signed-off-by: Pavel Kozlov <pavel.kozlov@synopsys.com>
Wrong repo picked apologies to all that got notified. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since all cores within the cluster share the same reset line, lifting the reset line before the IVT is set for cores other than 0 leads to them to be stuck trying to execute at 0x00000000. This fixes this behavior.