> > > The sharpness property requires the use of one of the scaler so need > > > to set the sharpness scaler coefficient values. > > > These values are based on experiments and vary for different tap > > > value/win size. These values are normalized by taking the sum of all > > > values and then dividing each value with a sum. > > > > > > --v4: fix ifndef header naming issue reported by kernel test robot > > > > > > Signed-off-by: Nemesa Garg <nemesa.garg@xxxxxxxxx> > > > --- > > > drivers/gpu/drm/i915/Makefile | 1 + > > > drivers/gpu/drm/i915/display/intel_display.c | 2 + > > > .../drm/i915/display/intel_display_types.h | 9 ++ > > > .../drm/i915/display/intel_sharpen_filter.c | 121 ++++++++++++++++++ > > > .../drm/i915/display/intel_sharpen_filter.h | 27 ++++ > > > drivers/gpu/drm/i915/i915_reg.h | 2 + > > > drivers/gpu/drm/xe/Makefile | 1 + > > > 7 files changed, 163 insertions(+) > > > create mode 100644 > > > drivers/gpu/drm/i915/display/intel_sharpen_filter.c > > > create mode 100644 > > > drivers/gpu/drm/i915/display/intel_sharpen_filter.h > > > > Can a unified name be used across the patches. -> > > intel_sharpness_filter.c > > > > > > > > diff --git a/drivers/gpu/drm/i915/Makefile > > > b/drivers/gpu/drm/i915/Makefile index c63fa2133ccb..0021f0a372ab > > > 100644 > > > --- a/drivers/gpu/drm/i915/Makefile > > > +++ b/drivers/gpu/drm/i915/Makefile > > > @@ -280,6 +280,7 @@ i915-y += \ > > > display/intel_pmdemand.o \ > > > display/intel_psr.o \ > > > display/intel_quirks.o \ > > > + display/intel_sharpen_filter.o \ > > > display/intel_sprite.o \ > > > display/intel_sprite_uapi.o \ > > > display/intel_tc.o \ > > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c > > > b/drivers/gpu/drm/i915/display/intel_display.c > > > index c2c388212e2e..a62560a0c1a9 100644 > > > --- a/drivers/gpu/drm/i915/display/intel_display.c > > > +++ b/drivers/gpu/drm/i915/display/intel_display.c > > > @@ -5906,6 +5906,8 @@ static int intel_atomic_check_planes(struct > > > intel_atomic_state *state) > > > if (ret) > > > return ret; > > > > > > + intel_sharpness_scaler_compute_config(new_crtc_state); > > > + > > > /* > > > * On some platforms the number of active planes affects > > > * the planes' minimum cdclk calculation. Add such planes diff - > > > -git a/drivers/gpu/drm/i915/display/intel_display_types.h > > > b/drivers/gpu/drm/i915/display/intel_display_types.h > > > index 8713835e2307..1c3e031ab369 100644 > > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > > > @@ -55,6 +55,7 @@ > > > #include "intel_display_limits.h" > > > #include "intel_display_power.h" > > > #include "intel_dpll_mgr.h" > > > +#include "intel_sharpen_filter.h" > > > #include "intel_wm_types.h" > > > > > > struct drm_printer; > > > @@ -828,6 +829,13 @@ struct intel_scaler { > > > u32 mode; > > > }; > > > > > > +struct intel_sharpness_filter { > > > + struct scaler_filter_coeff coeff[7]; > > > + u32 scaler_coefficient[119]; > > What is this magic number 119 and 7? > > For each win size there are 7 coefficients, so coeff[7] is used to store these > values which are further used in calculating scaler coefficients. > As we need to compute scaler coefficients for 17 phases of 7 taps I have used > scaler_coefficient[119] . Can these magic numbers be replaced with a meaningful macros? Thanks and Regards, Arun R Murthy --------------------