Re: [PATCH] drm/mgag200: Fix gamma lut not initialized.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

Am 10.05.23 um 11:29 schrieb Jocelyn Falempe:
On 10/05/2023 11:15, Thomas Zimmermann wrote:
Hi,

oh great! Thank you for fixing this bug. And sorry that I broke it.

Am 10.05.23 um 10:54 schrieb Jocelyn Falempe:
When mgag200 switched from simple KMS to regular atomic helpers,
the initialization of the gamma settings was lost.
This leads to a black screen, if the bios/uefi doesn't use the same
pixel color depth.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=2171155
Fixes: 1baf9127c482 ("drm/mgag200: Replace simple-KMS with regular atomic helpers")
Tested-by: Phil Oester <kernel@xxxxxxxxxxxx>
Signed-off-by: Jocelyn Falempe <jfalempe@xxxxxxxxxx>

Also needs:

Cc: <stable@xxxxxxxxxxxxxxx> # v6.1+

Should I send a v2 with this added ?

Yes, please.


In terms of what it does:

Reviewed-by: Thomas Zimmermann <tzimmermann@xxxxxxx>

but the patch is apparently for against an old version. (v6.1?) The code in mgag200_crtc_helper_atomic_enable has changed quite a bit.

Yes, I based it on the culprit commit 1baf9127c482, but it applies cleanly with git am -3 on top of v6.3

Rather send a patch against drm-misc-fixes and let backporters sort it out. That's current practice AFAIK. You could also reply to your v2 patch mail with a link to the v1 patch.

Best regards
Thomas



Best regards
Thomas

---
  drivers/gpu/drm/mgag200/mgag200_mode.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
index 461da1409fdf..911d46741e40 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -819,6 +819,11 @@ static void mgag200_crtc_helper_atomic_enable(struct drm_crtc *crtc,
      else if (mdev->type == G200_EV)
          mgag200_g200ev_set_hiprilvl(mdev);
+    if (crtc_state->gamma_lut)
+        mgag200_crtc_set_gamma(mdev, format, crtc_state->gamma_lut->data);
+    else
+        mgag200_crtc_set_gamma_linear(mdev, format);
+
      mgag200_enable_display(mdev);
      if (mdev->type == G200_WB || mdev->type == G200_EW3)

base-commit: 1baf9127c482a3a58aef81d92ae751798e2db202



--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux