diff mbox series

[09/13] drm/i915/dsb: Don't use DSB to load the LUTs during full modeset

Message ID 20230118163040.29808-10-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915: Load LUTs with DSB | expand

Commit Message

Ville Syrjälä Jan. 18, 2023, 4:30 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Using the DSB for LUT loading during full modesets would require
some actual though. Let's just use mmio for the time being.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_color.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Animesh Manna Feb. 3, 2023, 10:04 a.m. UTC | #1
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville
> Syrjala
> Sent: Wednesday, January 18, 2023 10:01 PM
> To: intel-gfx@lists.freedesktop.org
> Subject: [Intel-gfx] [PATCH 09/13] drm/i915/dsb: Don't use DSB to load the
> LUTs during full modeset
> 
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Using the DSB for LUT loading during full modesets would require some
> actual though. Let's just use mmio for the time being.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_color.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_color.c
> b/drivers/gpu/drm/i915/display/intel_color.c
> index f4a527a3c265..cab8dfd03853 100644
> --- a/drivers/gpu/drm/i915/display/intel_color.c
> +++ b/drivers/gpu/drm/i915/display/intel_color.c
> @@ -1383,6 +1383,10 @@ void intel_color_prepare_commit(struct
> intel_crtc_state *crtc_state)
>  	/* FIXME DSB has issues loading LUTs, disable it for now */
>  	return;
> 
> +	if (!crtc_state->hw.active ||
> +	    intel_crtc_needs_modeset(crtc_state))
> +		return;

Is it causing any issue ? Did not get the advantage of MMIO over DSB during modeset.

Regards,
Animesh

> +
>  	if (!crtc_state->pre_csc_lut && !crtc_state->post_csc_lut)
>  		return;
> 
> --
> 2.38.2
Ville Syrjälä Feb. 3, 2023, 10:46 a.m. UTC | #2
On Fri, Feb 03, 2023 at 10:04:17AM +0000, Manna, Animesh wrote:
> 
> 
> > -----Original Message-----
> > From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville
> > Syrjala
> > Sent: Wednesday, January 18, 2023 10:01 PM
> > To: intel-gfx@lists.freedesktop.org
> > Subject: [Intel-gfx] [PATCH 09/13] drm/i915/dsb: Don't use DSB to load the
> > LUTs during full modeset
> > 
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Using the DSB for LUT loading during full modesets would require some
> > actual though. Let's just use mmio for the time being.
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_color.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_color.c
> > b/drivers/gpu/drm/i915/display/intel_color.c
> > index f4a527a3c265..cab8dfd03853 100644
> > --- a/drivers/gpu/drm/i915/display/intel_color.c
> > +++ b/drivers/gpu/drm/i915/display/intel_color.c
> > @@ -1383,6 +1383,10 @@ void intel_color_prepare_commit(struct
> > intel_crtc_state *crtc_state)
> >  	/* FIXME DSB has issues loading LUTs, disable it for now */
> >  	return;
> > 
> > +	if (!crtc_state->hw.active ||
> > +	    intel_crtc_needs_modeset(crtc_state))
> > +		return;
> 
> Is it causing any issue ? Did not get the advantage of MMIO over DSB during modeset.

Integrating DSB usage into the modeset path would require actual
thought.
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_color.c b/drivers/gpu/drm/i915/display/intel_color.c
index f4a527a3c265..cab8dfd03853 100644
--- a/drivers/gpu/drm/i915/display/intel_color.c
+++ b/drivers/gpu/drm/i915/display/intel_color.c
@@ -1383,6 +1383,10 @@  void intel_color_prepare_commit(struct intel_crtc_state *crtc_state)
 	/* FIXME DSB has issues loading LUTs, disable it for now */
 	return;
 
+	if (!crtc_state->hw.active ||
+	    intel_crtc_needs_modeset(crtc_state))
+		return;
+
 	if (!crtc_state->pre_csc_lut && !crtc_state->post_csc_lut)
 		return;