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

Configure Feed

Select the types of activity you want to include in your feed.

drm/panthor: Make sure the tiler initial/max chunks are consistent

It doesn't make sense to have a maximum number of chunks smaller than
the initial number of chunks attached to the context.

Fix the uAPI header to reflect the new constraint, and mention the
undocumented "initial_chunk_count > 0" constraint while at it.

v3:
- Add R-b

v2:
- Fix the check

Fixes: 9cca48fa4f89 ("drm/panthor: Add the heap logical block")
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-3-boris.brezillon@collabora.com

+9 -2
+3
drivers/gpu/drm/panthor/panthor_heap.c
··· 281 281 if (initial_chunk_count == 0) 282 282 return -EINVAL; 283 283 284 + if (initial_chunk_count > max_chunks) 285 + return -EINVAL; 286 + 284 287 if (hweight32(chunk_size) != 1 || 285 288 chunk_size < SZ_256K || chunk_size > SZ_2M) 286 289 return -EINVAL;
+6 -2
include/uapi/drm/panthor_drm.h
··· 895 895 /** @vm_id: VM ID the tiler heap should be mapped to */ 896 896 __u32 vm_id; 897 897 898 - /** @initial_chunk_count: Initial number of chunks to allocate. */ 898 + /** @initial_chunk_count: Initial number of chunks to allocate. Must be at least one. */ 899 899 __u32 initial_chunk_count; 900 900 901 901 /** @chunk_size: Chunk size. Must be a power of two at least 256KB large. */ 902 902 __u32 chunk_size; 903 903 904 - /** @max_chunks: Maximum number of chunks that can be allocated. */ 904 + /** 905 + * @max_chunks: Maximum number of chunks that can be allocated. 906 + * 907 + * Must be at least @initial_chunk_count. 908 + */ 905 909 __u32 max_chunks; 906 910 907 911 /**