android_kernel_xiaomi_sm8350/arch/arm/plat-omap
Kalle Jokiniemi ba50ea7eb9 OMAP3: PM: Fix secure SRAM context save/restore
The secure sram context save uses dma channels 0 and 1.
In order to avoid collision between kernel DMA transfers and
ROM code dma transfers, we need to reserve DMA channels 0
1 on high security devices.

A bug in ROM code leaves dma irq status bits uncleared.
Hence those irq status bits need to be cleared when restoring
DMA context after off mode.

There was also a faulty parameter given to PPA in the secure
ram context save assembly code, which caused interrupts to
be enabled during secure ram context save. This caused the
save to fail sometimes, which resulted the saved context
to be corrupted, but also left DMA channels in secure mode.
The secure mode DMA channels caused "DMA secure error with
device 0" errors to be displayed.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-11 14:42:26 -08:00
..
include/plat OMAP: PM: DMA context save/restore for off-mode support 2009-11-11 14:42:25 -08:00
clock.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
common.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
cpu-omap.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
debug-devices.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
debug-leds.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
devices.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
dma.c OMAP3: PM: Fix secure SRAM context save/restore 2009-11-11 14:42:26 -08:00
dmtimer.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
fb.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
gpio.c OMAP3: PM: GPIO context save/restore 2009-11-11 14:40:12 -08:00
i2c.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
io.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
iommu-debug.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
iommu.c Merge branch '7xx-iosplit-plat' with omap-fixes 2009-11-10 18:10:34 -08:00
iopgtable.h
iovmm.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
Kconfig OMAP2/3 PM: create the OMAP PM interface and add a default OMAP PM no-op layer 2009-09-03 20:14:01 +03:00
mailbox.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
Makefile OMAP2/3/4 core: create omap_device layer 2009-09-03 20:14:05 +03:00
mcbsp.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
mux.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
ocpi.c
omap_device.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
omap-pm-noop.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
sram.c OMAP3: PM: restore SRAM functions after off-mode. 2009-11-11 14:42:24 -08:00
usb.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00