# --- T2-COPYRIGHT-BEGIN --- # t2/package/*/linux/hotfix-ppc-isa-dma.patch # Copyright (C) 2025 The T2 SDE Project # SPDX-License-Identifier: GPL-2.0 or patched project license # --- T2-COPYRIGHT-END --- ALSA pcmC0D0p,0:CS4236: cannot preallocate for size 65536 ALSA pcmC0D0c,0:CS4236: cannot preallocate for size 65536 Use ZONE_DMA for 24-bit, 16MB ISA DMA like alpha or x86, and ZONE_DMA32 for 31-bit PowerMac Broadcom hacks. --- linux-6.15/arch/powerpc/mm/mem.c.vanilla 2025-07-10 13:02:38.333694091 +0200 +++ linux-6.15/arch/powerpc/mm/mem.c 2025-07-10 13:33:08.853860359 +0200 @@ -260,7 +260,11 @@ zone_dma_limit = DMA_BIT_MASK(zone_dma_bits); #ifdef CONFIG_ZONE_DMA - max_zone_pfns[ZONE_DMA] = min(max_low_pfn, + /* 24-bit, 16MB ISA DMA */ + max_zone_pfns[ZONE_DMA] = 1UL << (24 - PAGE_SHIFT); +#endif +#ifdef CONFIG_ZONE_DMA32 + max_zone_pfns[ZONE_DMA32] = min(max_low_pfn, 1UL << (zone_dma_bits - PAGE_SHIFT)); #endif max_zone_pfns[ZONE_NORMAL] = max_low_pfn; --- linux-6.15/arch/powerpc/platforms/chrp/Kconfig.vanilla 2025-07-10 13:01:24.629970059 +0200 +++ linux-6.15/arch/powerpc/platforms/chrp/Kconfig 2025-07-10 13:36:51.939828805 +0200 @@ -13,4 +13,5 @@ select PPC_UDBG_16550 select PPC_HASH_MMU_NATIVE select FORCE_PCI + select ZONE_DMA default y --- linux-6.15/arch/powerpc/platforms/powermac/Kconfig.vanilla 2025-07-10 13:01:12.426792180 +0200 +++ linux-6.15/arch/powerpc/platforms/powermac/Kconfig 2025-07-10 13:31:09.797916612 +0200 @@ -9,7 +9,7 @@ select PPC_MPC106 if PPC32 select PPC_64S_HASH_MMU if PPC64 select PPC_HASH_MMU_NATIVE - select ZONE_DMA if PPC32 + select ZONE_DMA32 if PPC32 default y config PPC_PMAC64 --- linux-6.15/arch/powerpc/platforms/Kconfig.cputype.vanilla 2025-07-10 13:00:48.560083125 +0200 +++ linux-6.15/arch/powerpc/platforms/Kconfig.cputype 2025-07-10 13:30:56.239587297 +0200 @@ -101,7 +101,7 @@ select PPC_FPU # Make it a choice ? select PPC_SMP_MUXED_IPI select PPC_DOORBELL - select ZONE_DMA + select ZONE_DMA32 endchoice