Commit 2b720e99 authored by Eugeniy Paltsev's avatar Eugeniy Paltsev Committed by Vineet Gupta
Browse files

ARC: IOC: panic if both IOC and ZONE_HIGHMEM enabled

parent 2820a708
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -1144,6 +1144,19 @@ noinline void __init arc_ioc_setup(void)
{
	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 */
	__dc_disable();