Quoting Jani Nikula (2025-03-11 06:26:32-03:00) >On Mon, 10 Mar 2025, Gustavo Sousa <gustavo.so...@intel.com> wrote: >> Quoting Ville Syrjälä (2025-03-10 13:47:57-03:00) >>>On Fri, Mar 07, 2025 at 04:25:11PM -0300, Gustavo Sousa wrote: >>>> Update intel_bw.c internally use intel_display. Conversion of the public >>>> interface will come as a follow-up. >>>> >>>> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com> >>>> Signed-off-by: Gustavo Sousa <gustavo.so...@intel.com> >>>> --- >>>> drivers/gpu/drm/i915/display/intel_bw.c | 416 >>>> +++++++++++++++++--------------- >>>> 1 file changed, 217 insertions(+), 199 deletions(-) >>>> >>>> diff --git a/drivers/gpu/drm/i915/display/intel_bw.c >>>> b/drivers/gpu/drm/i915/display/intel_bw.c >>>> index >>>> 048be287224774110d94fe2944daa580d8dc20a6..d71dc796f1793f546fe04146e5987a9be56bae9b >>>> 100644 >>>> --- a/drivers/gpu/drm/i915/display/intel_bw.c >>>> +++ b/drivers/gpu/drm/i915/display/intel_bw.c >>>> @@ -11,6 +11,7 @@ >>>> #include "intel_atomic.h" >>>> #include "intel_bw.h" >>>> #include "intel_cdclk.h" >>>> +#include "intel_de.h" >>>> #include "intel_display_core.h" >>>> #include "intel_display_types.h" >>>> #include "skl_watermark.h" >>>> @@ -39,14 +40,14 @@ struct intel_qgv_info { >>>> u8 deinterleave; >>>> }; >>>> >>>> -static int dg1_mchbar_read_qgv_point_info(struct drm_i915_private >>>> *dev_priv, >>>> +static int dg1_mchbar_read_qgv_point_info(struct intel_display *display, >>>> struct intel_qgv_point *sp, >>>> int point) >>>> { >>>> u32 dclk_ratio, dclk_reference; >>>> u32 val; >>>> >>>> - val = intel_uncore_read(&dev_priv->uncore, >>>> SA_PERF_STATUS_0_0_0_MCHBAR_PC); >>>> + val = intel_de_read(display, SA_PERF_STATUS_0_0_0_MCHBAR_PC); >>> >>>Not entirely convinced we want to start using intel_de_*() on >>>mchbar registers. >>> >>>Apart from that the rest looks fine. >> >> Okay. I sent v4 with reverting this function to use intel_uncore_read(). > >The question becomes, *what* are we supposed to do with this stuff in >the future? Kind of want to get rid of all intel_uncore_* in display/.
The first thing that comes to mind is a common interface that is provided to display by both xe and i915... -- Gustavo Sousa