android_kernel_motorola_sm6225/arch/arc
Eugeniy Paltsev 705d1e7331 ARC: IOC: panic if kernel was started with previously enabled IOC
[ Upstream commit 3624379d90ad2b65f9dbb30d7f7ce5498d2fe322 ]

If IOC was already enabled (due to bootloader) it technically needs to
be reconfigured with aperture base,size corresponding to Linux memory map
which will certainly be different than uboot's. But disabling and
reenabling IOC when DMA might be potentially active is tricky business.
To avoid random memory issues later, just panic here and ask user to
upgrade bootloader to one which doesn't enable IOC

This was actually seen as issue on some of the HSDK board with a version
of uboot which enabled IOC. There were random issues later with starting
of X or peripherals etc.

Also while I'm at it, replace hardcoded bits in ARC_REG_IO_COH_PARTIAL
and ARC_REG_IO_COH_ENABLE registers by definitions.

Inspired by: https://lkml.org/lkml/2018/1/19/557
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-13 08:51:12 +01:00
..
boot ARC: [plat-hsdk]: Add missing FIFO size entry in GMAC node 2019-06-25 11:35:55 +08:00
configs ARC: enable uboot support unconditionally 2019-08-06 19:06:57 +02:00
include ARC: IOC: panic if kernel was started with previously enabled IOC 2019-12-13 08:51:12 +01:00
kernel ARC: perf: Accommodate big-endian CPU 2019-12-01 09:17:37 +01:00
lib ARCv2: lib: memcpy: fix doing prefetchw outside of buffer 2019-03-23 20:09:51 +01:00
mm ARC: IOC: panic if kernel was started with previously enabled IOC 2019-12-13 08:51:12 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
plat-axs10x ARC: [plat-axs103] refactor the quad core DT quirk code 2017-12-20 12:41:45 -08:00
plat-eznps arc: [plat-eznps] fix printk warning in arc/plat-eznps/mtm.c 2018-07-30 11:48:49 -07:00
plat-hsdk ARCv2: support manual regfile save on interrupts 2019-03-23 20:09:51 +01:00
plat-sim ARC: [plat-sim] Include this platform unconditionally 2017-08-04 13:49:47 +05:30
plat-tb10x arc: select GPIOLIB directly 2016-04-26 14:07:59 +02:00
Kbuild ARC: Build system: Makefiles, Kconfig, Linker script 2013-02-11 20:00:25 +05:30
Kconfig ARC: enable uboot support unconditionally 2019-08-06 19:06:57 +02:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Makefile ARC: change defconfig defaults to ARCv2 2018-12-08 12:59:10 +01:00