Re: [PATCH] drm/atomic: do not branch based on the value of current->comm[0]
Am 2022-11-05 23:20, schrieb Jason A. Donenfeld: This reverts 26b1d3b527e7 ("drm/atomic: Take the atomic toys away from X") I'm in favor of reverting this commit. I've tried to get allowing to enable atomic in Xorg again in there in the past: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/533 I've no illusions of getting this through though, after all mostly the same people control what's merged into Xorg, what drm stuff gets into the kernel and who disabled it in the kernel in the first place. And there doesn't seem much interest in dealing with anything Xorg either, in the merge request I linked, someone even called Xorg "abandonware". This is also why I didn't respond here until now. I do see value in enabling this. When I looked at this 2 years ago, there were situations where enabling atomic brought clear improvements, and I would expect that it can still improve performance on some special systems. I think the users should have the option to use it if they want or need to. There is also the concern that this may cause a regression, but I would argue, that there never was a regression to be fixed here in the first place. There may have been that one broken application in the past, but it was just that, a broken application, not something broken by the kernel. I do not think the kernel should modify it's behavior just to work around bugs in a specific program, which have always existed, and didn't come from a changer in behavior of the kernel APIs. If a program was written wrongly, the program should be fixed, and in case of Xorg, I think it is fixed already. This probably won't mean much coming from me, but: Acked-by: Daniel Abrecht
[PATCH v2 RESEND] drm: mxsfb: Implement .format_mod_supported
This will make sure applications which use the IN_FORMATS blob to figure out which modifiers they can use will pick up the linear modifier which is needed by mxsfb. Such applications will not work otherwise if an incompatible implicit modifier ends up being selected. Before commit ae1ed0093281 ("drm: mxsfb: Stop using DRM simple display pipeline helper"), the DRM simple display pipeline helper took care of this. Signed-off-by: Daniel Abrecht Fixes: ae1ed0093281 ("drm: mxsfb: Stop using DRM simple display pipeline helper") --- drivers/gpu/drm/mxsfb/mxsfb_kms.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/mxsfb/mxsfb_kms.c b/drivers/gpu/drm/mxsfb/mxsfb_kms.c index 956f631997f2..fc4b1626261b 100644 --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c @@ -484,6 +484,13 @@ static void mxsfb_plane_overlay_atomic_update(struct drm_plane *plane, writel(ctrl, mxsfb->base + LCDC_AS_CTRL); } +static bool mxsfb_format_mod_supported(struct drm_plane *plane, + uint32_t format, + uint64_t modifier) +{ + return modifier == DRM_FORMAT_MOD_LINEAR; +} + static const struct drm_plane_helper_funcs mxsfb_plane_primary_helper_funcs = { .atomic_check = mxsfb_plane_atomic_check, .atomic_update = mxsfb_plane_primary_atomic_update, @@ -495,6 +502,7 @@ static const struct drm_plane_helper_funcs mxsfb_plane_overlay_helper_funcs = { }; static const struct drm_plane_funcs mxsfb_plane_funcs = { + .format_mod_supported = mxsfb_format_mod_supported, .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy= drm_plane_cleanup, -- 2.20.1 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] Implement .format_mod_supported in mxsfb
Hi Guido Am 2020-10-25 15:52, schrieb Guido Günther: Since this got broken by the switch away for the simple display pipeline helper (ae1ed0093281939b80664a687689f12436c0e874) could you add a fixes tag? Cheers, -- Guido Thanks, I've sent a v2 with the fixes tag added. Regards, Daniel Abrecht ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2] drm: mxsfb: Implement .format_mod_supported
This will make sure applications which use the IN_FORMATS blob to figure out which modifiers they can use will pick up the linear modifier which is needed by mxsfb. Such applications will not work otherwise if an incompatible implicit modifier ends up being selected. Before commit ae1ed0093281 ("drm: mxsfb: Stop using DRM simple display pipeline helper"), the DRM simple display pipeline helper took care of this. Signed-off-by: Daniel Abrecht Fixes: ae1ed0093281 ("drm: mxsfb: Stop using DRM simple display pipeline helper") --- drivers/gpu/drm/mxsfb/mxsfb_kms.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/mxsfb/mxsfb_kms.c b/drivers/gpu/drm/mxsfb/mxsfb_kms.c index 956f631997f2..fc4b1626261b 100644 --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c @@ -484,6 +484,13 @@ static void mxsfb_plane_overlay_atomic_update(struct drm_plane *plane, writel(ctrl, mxsfb->base + LCDC_AS_CTRL); } +static bool mxsfb_format_mod_supported(struct drm_plane *plane, + uint32_t format, + uint64_t modifier) +{ + return modifier == DRM_FORMAT_MOD_LINEAR; +} + static const struct drm_plane_helper_funcs mxsfb_plane_primary_helper_funcs = { .atomic_check = mxsfb_plane_atomic_check, .atomic_update = mxsfb_plane_primary_atomic_update, @@ -495,6 +502,7 @@ static const struct drm_plane_helper_funcs mxsfb_plane_overlay_helper_funcs = { }; static const struct drm_plane_funcs mxsfb_plane_funcs = { + .format_mod_supported = mxsfb_format_mod_supported, .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy= drm_plane_cleanup, -- 2.20.1 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH] Implement .format_mod_supported in mxsfb
This will make sure applications which use the IN_FORMATS blob to figure out which modifiers they can use will pick up the linear modifier which is needed by mxsfb. Such applications will not work otherwise if an incompatible implicit modifier ends up being selected. Signed-off-by: Daniel Abrecht --- drivers/gpu/drm/mxsfb/mxsfb_kms.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/mxsfb/mxsfb_kms.c b/drivers/gpu/drm/mxsfb/mxsfb_kms.c index 956f631997f2..fc4b1626261b 100644 --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c @@ -484,6 +484,13 @@ static void mxsfb_plane_overlay_atomic_update(struct drm_plane *plane, writel(ctrl, mxsfb->base + LCDC_AS_CTRL); } +static bool mxsfb_format_mod_supported(struct drm_plane *plane, + uint32_t format, + uint64_t modifier) +{ + return modifier == DRM_FORMAT_MOD_LINEAR; +} + static const struct drm_plane_helper_funcs mxsfb_plane_primary_helper_funcs = { .atomic_check = mxsfb_plane_atomic_check, .atomic_update = mxsfb_plane_primary_atomic_update, @@ -495,6 +502,7 @@ static const struct drm_plane_helper_funcs mxsfb_plane_overlay_helper_funcs = { }; static const struct drm_plane_funcs mxsfb_plane_funcs = { + .format_mod_supported = mxsfb_format_mod_supported, .update_plane = drm_atomic_helper_update_plane, .disable_plane = drm_atomic_helper_disable_plane, .destroy= drm_plane_cleanup, -- 2.20.1 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm: mxsfb: check framebuffer pitch
Am 2020-09-07 16:03, schrieb Stefan Agner: The lcdif IP does not support a framebuffer pitch (stride) other than the CRTC width. This may be true for some SOCs, but not for all of them. I used to have this working flawlessly on the imx8mq like so: http://projects.dpa.li/git/?p=linux.git;a=commitdiff;h=5a7baa8ba7f1f30139cfcd0f9e13b3773f3605ff That in turn was based on some patches which weren't fully upstreamed yet at the time, and was inspired by another patch I had seen here: https://lore.kernel.org/linux-arm-kernel/20190722174853.GA31795@bogus/t/#m7ac218480eb1d827ff65f82f2e03a5a84c94a5e0 I had almost forgotten about this already, since I currently don't need it anymore, and I was waiting for the patches it was based on to get taken up. But if anyone else needs this, feel free to do whatever you want with it. I could also take another look at this and submit some patches if this is preferred, but I'm quiet busy right now, so that could take a while. In the meantime and for other SOCs, I think checking for an unsupported pitch is still needed regardless. I'm not against this patch, this is just a note to make sure it's known that and how this can be done on the imx8mq. Regards, Daniel Abrecht ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel