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@linuxace.com Signed-off-by: Jocelyn Falempe jfalempe@redhat.com --- 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
Hi,
Thanks for your patch.
FYI: kernel test robot notices the stable kernel rule is not satisfied.
Rule: 'Cc: stable@vger.kernel.org' or 'commit <sha1> upstream.' Subject: [PATCH] drm/mgag200: Fix gamma lut not initialized. Link: https://lore.kernel.org/stable/20230510085451.226546-1-jfalempe%40redhat.com
The check is based on https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
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@linuxace.com Signed-off-by: Jocelyn Falempe jfalempe@redhat.com
Also needs:
Cc: stable@vger.kernel.org # v6.1+
In terms of what it does:
Reviewed-by: Thomas Zimmermann tzimmermann@suse.de
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.
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
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@linuxace.com Signed-off-by: Jocelyn Falempe jfalempe@redhat.com
Also needs:
Cc: stable@vger.kernel.org # v6.1+
Should I send a v2 with this added ?
In terms of what it does:
Reviewed-by: Thomas Zimmermann tzimmermann@suse.de
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
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
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@linuxace.com Signed-off-by: Jocelyn Falempe jfalempe@redhat.com
Also needs:
Cc: stable@vger.kernel.org # v6.1+
Should I send a v2 with this added ?
Yes, please.
In terms of what it does:
Reviewed-by: Thomas Zimmermann tzimmermann@suse.de
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
linux-stable-mirror@lists.linaro.org