On Thu, 08 Dec 2022, Andrzej Hajda <andrzej.hajda@xxxxxxxxx> wrote: > On 07.12.2022 18:17, Jani Nikula wrote: >> From: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> >> >> Add more de helpers to be able to avoid direct calls to uncore. >> >> v3 by Jani: >> - drop intel_de_write_samevalue/intel_de_rewrite_fw altogether >> >> v2 by Jani: >> - drop pcode stuff for now >> - rename intel_de_write_samevalue -> intel_de_rewrite_fw >> >> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> >> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> >> --- >> drivers/gpu/drm/i915/display/intel_de.h | 35 +++++++++++++++++++++++++ >> 1 file changed, 35 insertions(+) >> >> diff --git a/drivers/gpu/drm/i915/display/intel_de.h b/drivers/gpu/drm/i915/display/intel_de.h >> index 9c104f65e4c8..004f01906fd7 100644 >> --- a/drivers/gpu/drm/i915/display/intel_de.h >> +++ b/drivers/gpu/drm/i915/display/intel_de.h >> @@ -16,6 +16,12 @@ intel_de_read(struct drm_i915_private *i915, i915_reg_t reg) >> return intel_uncore_read(&i915->uncore, reg); >> } >> >> +static inline u8 >> +intel_de_read8(struct drm_i915_private *i915, i915_reg_t reg) >> +{ >> + return intel_uncore_read8(&i915->uncore, reg); >> +} >> + >> static inline void >> intel_de_posting_read(struct drm_i915_private *i915, i915_reg_t reg) >> { >> @@ -41,6 +47,23 @@ intel_de_wait_for_register(struct drm_i915_private *i915, i915_reg_t reg, >> return intel_wait_for_register(&i915->uncore, reg, mask, value, timeout); >> } >> >> +static inline int >> +intel_de_wait_for_register_fw(struct drm_i915_private *i915, i915_reg_t reg, >> + u32 mask, u32 value, unsigned int timeout) >> +{ >> + return intel_wait_for_register_fw(&i915->uncore, reg, mask, value, timeout); >> +} >> + >> +static inline int >> +__intel_de_wait_for_register(struct drm_i915_private *i915, i915_reg_t reg, >> + u32 mask, u32 value, >> + unsigned int fast_timeout_us, >> + unsigned int slow_timeout_ms, u32 *out_value) >> +{ >> + return __intel_wait_for_register(&i915->uncore, reg, mask, value, >> + fast_timeout_us, slow_timeout_ms, out_value); >> +} >> + >> static inline int >> intel_de_wait_for_set(struct drm_i915_private *i915, i915_reg_t reg, >> u32 mask, unsigned int timeout) >> @@ -81,4 +104,16 @@ intel_de_write_fw(struct drm_i915_private *i915, i915_reg_t reg, u32 val) >> intel_uncore_write_fw(&i915->uncore, reg, val); >> } >> >> +static inline u32 >> +intel_de_read_notrace(struct drm_i915_private *i915, i915_reg_t reg) >> +{ >> + return intel_uncore_read_notrace(&i915->uncore, reg); >> +} >> + >> +static inline void >> +intel_de_write_notrace(struct drm_i915_private *i915, i915_reg_t reg, u32 val) >> +{ >> + intel_uncore_write_notrace(&i915->uncore, reg, val); >> +} >> + > > I wonder why intel_de_* helpers are only in display subsystem, I guess > whole i915 could benefit from it. I guess the rest of i915 needs to remain aware of gt specific uncores? > Reviewed-by: Andrzej Hajda <andrzej.hajda@xxxxxxxxx> Thanks, pushed the series to din. BR, Jani. > > Regards > Andrzej > > >> #endif /* __INTEL_DE_H__ */ > -- Jani Nikula, Intel Open Source Graphics Center