Message ID | 20241209162504.2146697-11-arun.r.murthy@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Display Global Histogram | expand |
> -----Original Message----- > From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Arun R > Murthy > Sent: Monday, December 9, 2024 9:55 PM > To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; dri- > devel@lists.freedesktop.org > Cc: Murthy, Arun R <arun.r.murthy@intel.com> > Subject: [PATCHv2 10/10] drm/i915/histogram: Enable pipe dithering > > Enable pipe dithering while enabling histogram to overcome some atrifacts > seen on the screen. The commit message here should add color processing in histogram creates color banding and dithering helps avoid that. Other LGTM, Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> > > Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com> > --- > drivers/gpu/drm/i915/display/intel_histogram.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c > b/drivers/gpu/drm/i915/display/intel_histogram.c > index d503d0f0a5ee..545376ae365b 100644 > --- a/drivers/gpu/drm/i915/display/intel_histogram.c > +++ b/drivers/gpu/drm/i915/display/intel_histogram.c > @@ -29,6 +29,13 @@ struct intel_histogram { > u32 bin_data[HISTOGRAM_BIN_COUNT]; > }; > > +static void intel_histogram_enable_dithering(struct intel_display *display, > + enum pipe pipe) > +{ > + intel_de_rmw(display, PIPE_MISC(pipe), PIPE_MISC_DITHER_ENABLE, > + PIPE_MISC_DITHER_ENABLE); > +} > + > static void set_bin_index_0(struct intel_display *display, enum pipe pipe) { > if (DISPLAY_VER(display) >= 20) > @@ -207,6 +214,9 @@ static int intel_histogram_enable(struct intel_crtc > *intel_crtc) > if (histogram->enable) > return 0; > > + /* Pipe Dithering should be enabled with histogram */ > + intel_histogram_enable_dithering(display, pipe); > + > /* enable histogram, clear DPST_BIN reg and select TC function */ > if (DISPLAY_VER(display) >= 20) > intel_de_rmw(display, DPST_CTL(pipe), > -- > 2.25.1
diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c b/drivers/gpu/drm/i915/display/intel_histogram.c index d503d0f0a5ee..545376ae365b 100644 --- a/drivers/gpu/drm/i915/display/intel_histogram.c +++ b/drivers/gpu/drm/i915/display/intel_histogram.c @@ -29,6 +29,13 @@ struct intel_histogram { u32 bin_data[HISTOGRAM_BIN_COUNT]; }; +static void intel_histogram_enable_dithering(struct intel_display *display, + enum pipe pipe) +{ + intel_de_rmw(display, PIPE_MISC(pipe), PIPE_MISC_DITHER_ENABLE, + PIPE_MISC_DITHER_ENABLE); +} + static void set_bin_index_0(struct intel_display *display, enum pipe pipe) { if (DISPLAY_VER(display) >= 20) @@ -207,6 +214,9 @@ static int intel_histogram_enable(struct intel_crtc *intel_crtc) if (histogram->enable) return 0; + /* Pipe Dithering should be enabled with histogram */ + intel_histogram_enable_dithering(display, pipe); + /* enable histogram, clear DPST_BIN reg and select TC function */ if (DISPLAY_VER(display) >= 20) intel_de_rmw(display, DPST_CTL(pipe),
Enable pipe dithering while enabling histogram to overcome some atrifacts seen on the screen. Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com> --- drivers/gpu/drm/i915/display/intel_histogram.c | 10 ++++++++++ 1 file changed, 10 insertions(+)