Re: [PATCH] drm/atomic: do not branch based on the value of current->comm[0]

2022-11-16 Thread Daniel Abrecht

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

2020-11-08 Thread Daniel Abrecht

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

2020-10-25 Thread Daniel Abrecht

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

2020-10-25 Thread Daniel Abrecht

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

2020-10-24 Thread Daniel Abrecht

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

2020-09-07 Thread Daniel Abrecht

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