ARC: IOC: panic if both IOC and ZONE_HIGHMEM enabled
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
committed by
Vineet Gupta
parent
2820a708d5
commit
2b720e99a1
@@ -1144,6 +1144,19 @@ noinline void __init arc_ioc_setup(void)
|
|||||||
{
|
{
|
||||||
unsigned int ioc_base, mem_sz;
|
unsigned int ioc_base, mem_sz;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* As for today we don't support both IOC and ZONE_HIGHMEM enabled
|
||||||
|
* simultaneously. This happens because as of today IOC aperture covers
|
||||||
|
* only ZONE_NORMAL (low mem) and any dma transactions outside this
|
||||||
|
* region won't be HW coherent.
|
||||||
|
* If we want to use both IOC and ZONE_HIGHMEM we can use
|
||||||
|
* bounce_buffer to handle dma transactions to HIGHMEM.
|
||||||
|
* Also it is possible to modify dma_direct cache ops or increase IOC
|
||||||
|
* aperture size if we are planning to use HIGHMEM without PAE.
|
||||||
|
*/
|
||||||
|
if (IS_ENABLED(CONFIG_HIGHMEM))
|
||||||
|
panic("IOC and HIGHMEM can't be used simultaneously");
|
||||||
|
|
||||||
/* Flush + invalidate + disable L1 dcache */
|
/* Flush + invalidate + disable L1 dcache */
|
||||||
__dc_disable();
|
__dc_disable();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user