Patch "drm/cirrus: Load lut in crtc_commit" has been added to the 4.14-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/cirrus: Load lut in crtc_commit
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-cirrus-load-lut-in-crtc_commit.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
745fd50f3b044db6a3922e1718306555613164b0Mon Sep 17 00:00:00 2001
From: Daniel Vetter <[email protected]>
Date: Wed, 31 Jan 2018 12:04:50 +0100
Subject: drm/cirrus: Load lut in crtc_commit
From: Daniel Vetter <[email protected]>
commit 745fd50f3b044db6a3922e1718306555613164b0 upstream.
In the past the ast driver relied upon the fbdev emulation helpers to call ->load_lut at boot-up. But since
commit b8e2b0199cc377617dc238f5106352c06dcd3fa2
Author: Peter Rosin <[email protected]> Date: Tue Jul 4 12:36:57 2017 +0200
drm/fb-helper: factor out pseudo-palette
that's cleaned up and drivers are expected to boot into a consistent lut state. This patch fixes that.
References: https://bugzilla.kernel.org/show_bug.cgi?id=198123
--- drivers/gpu/drm/cirrus/cirrus_mode.c | 40 ++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 17 deletions(-)
drivers/gpu/drm/cirrus/cirrus_mode.c +23 -17
@@ -294,22 +294,7 @@ static void cirrus_crtc_prepare(struct d { } -/* -* This is called after a mode is programmed. It should reverse anything done -* by the prepare function -*/ -static void cirrus_crtc_commit (struct drm_crtc *crtc) -{ -} - -/* -* The core can pass us a set of gamma values to program. We actually only -* use this for 8-bit mode so can't perform smooth fades on deeper modes, -* but it's a requirement that we provide the function -*/ -static int cirrus_crtc_gamma_set (struct drm_crtc *crtc,u16 *red,u16 *green, -u16 *blue,uint32_t size, -struct drm_modeset_acquire_ctx *ctx) +static void cirrus_crtc_load_lut (struct drm_crtc *crtc) {struct drm_device *dev = crtc->dev;struct cirrus_device *cdev = dev->dev_private;
@@ -317,7 +302,7 @@ static int cirrus_crtc_gamma_set(structint i;if (!crtc->enabled) -return 0 ; +return ; r = crtc->gamma_store; g = r + crtc->gamma_size;
@@ -330,6 +315,27 @@ static int cirrus_crtc_gamma_set(structWREG8 (PALETTE_DATA , *g++ >>8 );WREG8 (PALETTE_DATA , *b++ >>8 ); } +} + +/* +* This is called after a mode is programmed. It should reverse anything done +* by the prepare function +*/ +static void cirrus_crtc_commit (struct drm_crtc *crtc) +{ +cirrus_crtc_load_lut (crtc); +} + +/* +* The core can pass us a set of gamma values to program. We actually only +* use this for 8-bit mode so can't perform smooth fades on deeper modes, +* but it's a requirement that we provide the function +*/ +static int cirrus_crtc_gamma_set (struct drm_crtc *crtc,u16 *red,u16 *green, +u16 *blue,uint32_t size, +struct drm_modeset_acquire_ctx *ctx) +{ +cirrus_crtc_load_lut (crtc);return 0 ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/drm-handle-unexpected-holes-in-color-eviction.patch queue-4.14/drm-cirrus-load-lut-in-crtc_commit.patch queue-4.14/drm-edid-add-6-bpc-quirk-for-cpt-panel-in-asus-ux303la.patch