linux_dsm_epyc7002/arch/arm/mach-davinci/include/mach
Rajashekhara, Sudhakar 90bd4e6dd7 davinci: support for EDMA resource sharing
Current EDMA driver is not taking care of EDMA channels/slots
which are allocated from other processor, say DSP. If a
channel/slot is allocated from DSP, the existing EDMA driver
can still allocate the same resource on ARM.

This patch enables the user to pass the channel/slots reserved
for DSP as platform data. EDMA driver scans this list during
probe and prepares a bitmap of channel/slots which can be used
on ARM side.

Trying to reserve channels by doing a 'pre-allocate' using
edma_alloc_{slot|channel}() API does not work because

1) The reservation should be done in probe() to avoid race
   with other ARM side driver trying to use EDMA

2) The alloc channel API sets up the access through shadow region
   0 which will be incorrect for DSP usage. It also sets up the
   channel <-> queue number mapping which is not required as DSP
   will likely do its own mapping anyway.

3) (minor) There is no API to allocate channels in bulk.

Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-08-05 09:58:25 -07:00
..
asp.h Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci 2009-12-09 19:02:46 -08:00
cdce949.h davinci: add support for CDCE949 clock synthesizer 2010-02-04 13:29:58 -08:00
clkdev.h davinci: major rework of clock, PLL, PSC infrastructure 2009-04-23 09:31:00 -07:00
clock.h davinci: major rework of clock, PLL, PSC infrastructure 2009-04-23 09:31:00 -07:00
common.h Davinci: iotable based ioremap() interception 2010-05-13 10:05:31 -07:00
cp_intc.h Davinci: aintc/cpintc - use ioremap() 2010-05-13 10:05:28 -07:00
cpufreq.h davinci: DA850/OMAP-L138: avoid using separate initcall for initializing regulator 2009-11-25 10:21:37 -08:00
cpuidle.h davinci: cpuidle: move mapping of DDR2 controller registers out of driver 2010-02-04 13:29:38 -08:00
cputype.h Davinci: tnetv107x cpu types 2010-05-06 15:02:05 -07:00
da8xx.h Davinci: watchdog reset separation across socs 2010-05-06 15:02:09 -07:00
debug-macro.S Davinci: generalized debug macros 2010-06-21 12:48:30 -07:00
dm355.h DaVinci: move AEMIF #define's to the proper headers 2010-05-06 15:02:06 -07:00
dm365.h DaVinci: move AEMIF #define's to the proper headers 2010-05-06 15:02:06 -07:00
dm644x.h DaVinci: move AEMIF #define's to the proper headers 2010-05-06 15:02:06 -07:00
dm646x.h DaVinci: move IDE platform device to its proper place 2010-05-06 15:02:07 -07:00
edma.h davinci: support for EDMA resource sharing 2010-08-05 09:58:25 -07:00
entry-macro.S davinci: Integrate cp_intc support into low-level irq code 2009-05-28 15:17:47 -07:00
gpio.h Davinci: tnetv107x initial gpio support 2010-06-21 12:48:31 -07:00
hardware.h ARM: 5928/1: Change type of VMALLOC_END to unsigned long. 2010-02-15 21:40:33 +00:00
i2c.h Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
io.h davinci: Move IO device mapping macros from io.h to hardware.h 2009-08-26 10:57:01 +03:00
irqs.h Davinci: tnetv107x IRQ definitions 2010-05-06 15:02:05 -07:00
keyscan.h Input: davinci_keyscan - add device_enable method to platform data 2010-01-06 00:17:11 -08:00
memory.h davinci: add power management support 2010-02-04 13:29:55 -08:00
mmc.h davinci: mmc: pass number of SG segments as platform data 2010-05-27 09:12:39 -07:00
mux.h DM365: Added more PINMUX configurations for AEMIF 2010-05-13 11:10:31 -07:00
nand.h mtd: Add bad block table overrides to Davinci NAND driver 2009-11-30 11:31:09 +00:00
pm.h davinci: add power management support 2010-02-04 13:29:55 -08:00
psc.h Davinci: tnetv107x LPSC modules 2010-05-06 15:02:05 -07:00
serial.h Davinci: tnetv107x decompresser uart definitions 2010-06-21 12:48:30 -07:00
spi.h DaVinci: SPI: Adding header file for SPI support. 2010-03-01 10:20:22 -08:00
sram.h davinci: add SRAM allocator 2009-05-28 15:18:13 -07:00
system.h Davinci: watchdog reset separation across socs 2010-05-06 15:02:09 -07:00
time.h davinci: Add watchdog base address flexibility 2009-05-26 08:20:31 -07:00
timex.h davinci: explain CLOCK_TICK_RATE of 27MHz in include/mach/timex.h 2010-02-04 13:29:41 -08:00
tnetv107x.h Davinci: tnetv107x soc support 2010-06-21 12:48:30 -07:00
uncompress.h Davinci: tnetv107x decompresser uart definitions 2010-06-21 12:48:30 -07:00
usb.h DaVinci: rename setup_usb() to davinci_setup_usb() 2009-11-25 10:21:33 -08:00
vmalloc.h davinci: Move IO device mapping macros from io.h to hardware.h 2009-08-26 10:57:01 +03:00