• M
    mm: memblock: do not enforce current limit for memblock_phys* family · f3057ad7
    Mike Rapoport 提交于
    Until commit 92d12f95 ("memblock: refactor internal allocation
    functions") the maximal address for memblock allocations was forced to
    memblock.current_limit only for the allocation functions returning
    virtual address.  The changes introduced by that commit moved the limit
    enforcement into the allocation core and as a result the allocation
    functions returning physical address also started to limit allocations
    to memblock.current_limit.
    
    This caused breakage of etnaviv GPU driver:
    
      etnaviv etnaviv: bound 130000.gpu (ops gpu_ops)
      etnaviv etnaviv: bound 134000.gpu (ops gpu_ops)
      etnaviv etnaviv: bound 2204000.gpu (ops gpu_ops)
      etnaviv-gpu 130000.gpu: model: GC2000, revision: 5108
      etnaviv-gpu 130000.gpu: command buffer outside valid memory window
      etnaviv-gpu 134000.gpu: model: GC320, revision: 5007
      etnaviv-gpu 134000.gpu: command buffer outside valid memory window
      etnaviv-gpu 2204000.gpu: model: GC355, revision: 1215
      etnaviv-gpu 2204000.gpu: Ignoring GPU with VG and FE2.0
    
    Restore the behaviour of memblock_phys* family so that these functions
    will not enforce memblock.current_limit.
    
    Link: http://lkml.kernel.org/r/1570915861-17633-1-git-send-email-rppt@kernel.org
    Fixes: 92d12f95 ("memblock: refactor internal allocation functions")
    Signed-off-by: NMike Rapoport <rppt@linux.ibm.com>
    Reported-by: NAdam Ford <aford173@gmail.com>
    Tested-by: Adam Ford <aford173@gmail.com>	[imx6q-logicpd]
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Fabio Estevam <festevam@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    f3057ad7
memblock.c 56.6 KB
反馈
建议
客服 返回
顶部