summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorAntonino Maniscalco <antonino.maniscalco@collabora.com>2024-05-02 19:51:54 +0300
committerBoris Brezillon <boris.brezillon@collabora.com>2024-05-13 10:49:12 +0300
commitd2143297579f12ea22479d403d955819838e7e67 (patch)
treec85a4471c66570f68eb83f5460fa03e0df25f64a /include/uapi
parent713a75079f37b92835db48b27699e540657e3c5a (diff)
downloadlinux-d2143297579f12ea22479d403d955819838e7e67.tar.xz
drm/panthor: Fix tiler OOM handling to allow incremental rendering
If the kernel couldn't allocate memory because we reached the maximum number of chunks but no render passes are in flight (panthor_heap_grow() returning -ENOMEM), we should defer the OOM handling to the FW by returning a NULL chunk. The FW will then call the tiler OOM exception handler, which is supposed to implement incremental rendering (execute an intermediate fragment job to flush the pending primitives, release the tiler memory that was used to store those primitives, and start over from where it stopped). Instead of checking for both ENOMEM and EBUSY, make panthor_heap_grow() return ENOMEM no matter the reason of this allocation failure, the FW doesn't care anyway. v3: - Add R-bs v2: - Make panthor_heap_grow() return -ENOMEM for all kind of allocation failures - Document the panthor_heap_grow() semantics Fixes: de8548813824 ("drm/panthor: Add the scheduler logical block") Signed-off-by: Antonino Maniscalco <antonino.maniscalco@collabora.com> Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> Reviewed-by: Steven Price <steven.price@arm.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240502165158.1458959-2-boris.brezillon@collabora.com
Diffstat (limited to 'include/uapi')
0 files changed, 0 insertions, 0 deletions