On 2017-12-19 11:48 AM, Michel Dänzer wrote: > On 2017-12-18 02:50 PM, Peter Rosin wrote: >> On 2017-12-18 12:37, Michel Dänzer wrote: >>> >>> Following up by e-mail, since I can't find Peter Rosin in the kernel >>> bugzilla. >>> >>> >>> On 2017-12-16 02:41 AM, bugzilla-daemon@xxxxxxxxxxxxxxxxxxx wrote: >>>> https://bugzilla.kernel.org/show_bug.cgi?id=198123 >>>> >>>> --- Comment #8 from Deposite Pirate (dpirate@xxxxxxxxxxxxxxx) --- >>>> Ok, I went through all the git bisect process. Here are the results: >>>> >>>> [...] >>>> >>>> b8e2b0199cc377617dc238f5106352c06dcd3fa2 is the first bad commit >>>> commit b8e2b0199cc377617dc238f5106352c06dcd3fa2 >>>> Author: Peter Rosin <peda@xxxxxxxxxx> >>>> Date: Tue Jul 4 12:36:57 2017 +0200 >>>> >>>> drm/fb-helper: factor out pseudo-palette >>>> >>>> The pseudo-palette has nothing to do with the crtc, so move it >>>> out of the crtc loop and update the palette once, then break out >>>> early. >>>> >>>> Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> >>>> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> >>>> Link: >>>> http://patchwork.freedesktop.org/patch/msgid/1499164632-5582-2-git-send-email-peda@xxxxxxxxxx >>>> >>>> :040000 040000 a8c2650554e199fee994ac63c2700c73ba2ecffe >>>> 7f72ed414efadd77ef1d718e7477475c4ba1127d M drivers >>> >>> My guess would be this is because fb_helper->funcs->gamma_set is no >>> longer called from drm_fb_helper_setcmap in the FB_VISUAL_TRUECOLOR case >>> (was previously called via setcolreg). >> >> No, that's not right, fb_helper->funcs->gamma_set() wasn't called for the >> FB_VISUAL_TRUECOLOR case before the commit either. >> >> However, crtc_funcs->load_lut() was called, but that operation is now >> gone in a later cleanup. However#2, that ->load_lut() did not use anything >> that was provided in the call to drm_fb_helper_setcmap, since the load_lut >> implementations generally didn't look at the pseudo_palette variable. So, >> the now-missing ->load_lut() call probably just reloaded the clut? > > Makes sense. "Deposite Pirate", do the attached (only compile tested) patches work? -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer
From f683369b876b5198b0099d66ad83997455d9040f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@xxxxxxx> Date: Fri, 22 Dec 2017 16:27:09 +0100 Subject: [PATCH 1/2] drm/radeon: Call radeon_crtc_load_lut from radeon_crtc_init MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: stable@xxxxxxxxxxxxxxx Fixes: b8e2b0199cc3 "drm/fb-helper: factor out pseudo-palette" Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> --- drivers/gpu/drm/radeon/radeon_display.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c index ddfe91efa61e..d403be4afd24 100644 --- a/drivers/gpu/drm/radeon/radeon_display.c +++ b/drivers/gpu/drm/radeon/radeon_display.c @@ -707,6 +707,8 @@ static void radeon_crtc_init(struct drm_device *dev, int index) radeon_atombios_init_crtc(dev, radeon_crtc); else radeon_legacy_init_crtc(dev, radeon_crtc); + + radeon_crtc_load_lut(&radeon_crtc->base); } static const char *encoder_names[38] = { -- 2.15.1
From e071d7293a30bf84677c15a30d91872b7439ce70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@xxxxxxx> Date: Fri, 22 Dec 2017 16:31:54 +0100 Subject: [PATCH 2/2] drm/radeon: Remove unused lut_r/g/b arrays MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> --- drivers/gpu/drm/radeon/radeon_display.c | 7 ------- drivers/gpu/drm/radeon/radeon_mode.h | 1 - 2 files changed, 8 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c index d403be4afd24..0519c6162381 100644 --- a/drivers/gpu/drm/radeon/radeon_display.c +++ b/drivers/gpu/drm/radeon/radeon_display.c @@ -668,7 +668,6 @@ static void radeon_crtc_init(struct drm_device *dev, int index) { struct radeon_device *rdev = dev->dev_private; struct radeon_crtc *radeon_crtc; - int i; radeon_crtc = kzalloc(sizeof(struct radeon_crtc) + (RADEONFB_CONN_LIMIT * sizeof(struct drm_connector *)), GFP_KERNEL); if (radeon_crtc == NULL) @@ -697,12 +696,6 @@ static void radeon_crtc_init(struct drm_device *dev, int index) radeon_crtc->mode_set.num_connectors = 0; #endif - for (i = 0; i < 256; i++) { - radeon_crtc->lut_r[i] = i << 2; - radeon_crtc->lut_g[i] = i << 2; - radeon_crtc->lut_b[i] = i << 2; - } - if (rdev->is_atom_bios && (ASIC_IS_AVIVO(rdev) || radeon_r4xx_atom)) radeon_atombios_init_crtc(dev, radeon_crtc); else diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h index ca0a7ed28c9b..9b1fe25f624a 100644 --- a/drivers/gpu/drm/radeon/radeon_mode.h +++ b/drivers/gpu/drm/radeon/radeon_mode.h @@ -328,7 +328,6 @@ enum radeon_flip_status { struct radeon_crtc { struct drm_crtc base; int crtc_id; - u16 lut_r[256], lut_g[256], lut_b[256]; bool enabled; bool can_tile; bool cursor_out_of_bounds; -- 2.15.1
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel