Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'drm-etnaviv-fixes' of https://git.pengutronix.de/git/lst/linux into drm-fixes

a single fix for a FE hang after IOVA rollover on GC3000. This isn't
pretty, but is the minimal fix for the issue. A larger rework of the
code, that will also fix this issue properly, is currently in the works,
but that needs to wait for at least the next feature pull.

* 'drm-etnaviv-fixes' of https://git.pengutronix.de/git/lst/linux:
drm/etnaviv: trick drm_mm into giving out a low IOVA

+6 -1
+6 -1
drivers/gpu/drm/etnaviv/etnaviv_mmu.c
··· 116 116 struct list_head list; 117 117 bool found; 118 118 119 + /* 120 + * XXX: The DRM_MM_SEARCH_BELOW is really a hack to trick 121 + * drm_mm into giving out a low IOVA after address space 122 + * rollover. This needs a proper fix. 123 + */ 119 124 ret = drm_mm_insert_node_in_range(&mmu->mm, node, 120 125 size, 0, mmu->last_iova, ~0UL, 121 - DRM_MM_SEARCH_DEFAULT); 126 + mmu->last_iova ? DRM_MM_SEARCH_DEFAULT : DRM_MM_SEARCH_BELOW); 122 127 123 128 if (ret != -ENOSPC) 124 129 break;