drm/nouveau: exec: report max pushs through getparam
authorDanilo Krummrich <dakr@redhat.com>
Mon, 2 Oct 2023 13:46:48 +0000 (15:46 +0200)
committerDanilo Krummrich <dakr@redhat.com>
Tue, 3 Oct 2023 22:10:18 +0000 (00:10 +0200)
commitd59e75eef52d89201aaf5342a3ac23ddf3e9b112
tree1afbf0272f482863b77a80163c1cc628ab6d7365
parentbbe08a0e11ae76fc466c11b9fa6dd6eb52544a46
drm/nouveau: exec: report max pushs through getparam

Report the maximum number of IBs that can be pushed with a single
DRM_IOCTL_NOUVEAU_EXEC through DRM_IOCTL_NOUVEAU_GETPARAM.

While the maximum number of IBs per ring might vary between chipsets,
the kernel will make sure that userspace can only push a fraction of the
maximum number of IBs per ring per job, such that we avoid a situation
where there's only a single job occupying the ring, which could
potentially lead to the ring run dry.

Using DRM_IOCTL_NOUVEAU_GETPARAM to report the maximum number of IBs
that can be pushed with a single DRM_IOCTL_NOUVEAU_EXEC implies that
all channels of a given device have the same ring size.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231002135008.10651-3-dakr@redhat.com
drivers/gpu/drm/nouveau/nouveau_abi16.c
drivers/gpu/drm/nouveau/nouveau_chan.c
drivers/gpu/drm/nouveau/nouveau_dma.h
drivers/gpu/drm/nouveau/nouveau_exec.c
drivers/gpu/drm/nouveau/nouveau_exec.h
include/uapi/drm/nouveau_drm.h