]> git.baikalelectronics.ru Git - kernel.git/commit
ARC: IOC: panic if kernel was started with previously enabled IOC
authorEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Thu, 4 Oct 2018 13:12:12 +0000 (16:12 +0300)
committerVineet Gupta <vgupta@synopsys.com>
Mon, 12 Nov 2018 18:38:27 +0000 (10:38 -0800)
commit17b46e7f2011a2e9cf8ea4749c4392ef8e30a259
tree3f16fff94e092684e752fc241673505c98e0f169
parentffb5b6f17b889bb64e35b497db06ff76b8cdc23b
ARC: IOC: panic if kernel was started with previously enabled IOC

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>
arch/arc/include/asm/cache.h
arch/arc/mm/cache.c