(CC-ed Fei Shao) On Thu, Jul 18, 2024 at 4:24 PM AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> wrote: > > Hardware-speaking, there is no feature-reduced cursor specific > plane, so this driver reserves the last all Overlay plane as a > Cursor plane, but sets the maximum cursor width/height to the > maximum value that the full overlay plane can use. > > While this could be ok, it raises issues with common userspace > using libdrm (especially Mutter, but other compositors too) which > will crash upon performing allocations and/or using said cursor > plane. > > Reduce the maximum width/height for the cursor to 512x512 pixels, > value taken from IGT's maximum cursor size test, which succeeds. > > Fixes: a4c9410b31ca ("drm/mediatek: Set DRM mode configs accordingly") > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> > --- > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > index 6f0b415a978d..b96763664c4f 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > @@ -540,8 +540,8 @@ static int mtk_drm_kms_init(struct drm_device *drm) > } > > /* IGT will check if the cursor size is configured */ > - drm->mode_config.cursor_width = drm->mode_config.max_width; > - drm->mode_config.cursor_height = drm->mode_config.max_height; > + drm->mode_config.cursor_width = 512; > + drm->mode_config.cursor_height = 512; Fei already did the same (?) workaround downstream just recently. OOTH, Intel recently added a feature for enumerating "suggested" cursor sizes. See https://patchwork.freedesktop.org/patch/583299/ Not sure if other compositors will end up using it or not. ChenYu > /* Use OVL device for all DMA memory allocations */ > crtc = drm_crtc_from_index(drm, 0); > -- > 2.45.2 >