Hi,
On 10/25/24 23:14, Lucas Stach wrote:
Since the kernel ringbuffers are allocated from a larger suballocated area, same as the user commandbufs, they don't need to be CPU page sized. Allocate 4KB for the kernel ring buffers, as we never use more than that. Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
Tested-by: Sui Jingfeng <[email protected]> Tested with on a 16 KiB system, it works fine as before. I notices that most test samples of glmark2 consumes only one page, only a few of them consumes more than one page command buffer, can up to 20 KiB.
--- drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c index 7c7f97793ddd..7b39786871b3 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c @@ -848,8 +848,7 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu) priv->shm_gfp_mask |= GFP_DMA32;/* Create buffer: */- ret = etnaviv_cmdbuf_init(priv->cmdbuf_suballoc, &gpu->buffer, - PAGE_SIZE); + ret = etnaviv_cmdbuf_init(priv->cmdbuf_suballoc, &gpu->buffer, SZ_4K); if (ret) { dev_err(gpu->dev, "could not create command buffer\n"); goto fail;
-- Best regards Sui
