On Sun, 2012-10-14 at 18:28 +1300, Tony Prisk wrote: > Up until 07 Oct, drivers/video/wm8505-fb.c was working fine, but on the > 11 Oct when I did another pull from linus all of a sudden > dma_alloc_coherent is failing to allocate the framebuffer any longer. > > I did a quick look back and found this: > > ARM: add coherent dma ops > > arch_is_coherent is problematic as it is a global symbol. This > doesn't work for multi-platform kernels or platforms which can support > per device coherent DMA. > > This adds arm_coherent_dma_ops to be used for devices which connected > coherently (i.e. to the ACP port on Cortex-A9 or A15). The arm_dma_ops > are modified at boot when arch_is_coherent is true. > > Signed-off-by: Rob Herring <rob.herring@xxxxxxxxxxx> > Cc: Russell King <linux@xxxxxxxxxxxxxxxx> > Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > > > This is the only patch lately that I could find (not that I would claim > to be any good at finding things) that is related to the problem. Could > it have caused the allocations to fail? > > Regards > Tony P Have done a bit more digging and found the cause - not Rob's patch so apologies. The cause of the regression is this patch: >From f40d1e42bb988d2a26e8e111ea4c4c7bac819b7e Mon Sep 17 00:00:00 2001 From: Mel Gorman <mgorman@xxxxxxx> Date: Mon, 8 Oct 2012 16:32:36 -0700 Subject: [PATCH 2/3] mm: compaction: acquire the zone->lock as late as possible Up until then, the framebuffer allocation with dma_alloc_coherent(...) was fine. From this patch onwards, allocations fail. I don't know how this patch would effect CMA allocations, but it seems to be causing the issue (or at least, it's caused an error in arch-vt8500 to become visible). Perhaps someone who understand -mm could explain the best way to troubleshoot the cause of this problem? Regards Tony P -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>