[Intel-gfx] [PATCH v2 01/11] drm/i915/de: Add more macros to remove all direct calls to uncore
Andrzej Hajda
andrzej.hajda at intel.com
Thu Dec 8 10:29:34 UTC 2022
On 07.12.2022 18:17, Jani Nikula wrote:
> From: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
>
> 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 at linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
> 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.
Reviewed-by: Andrzej Hajda <andrzej.hajda at intel.com>
Regards
Andrzej
> #endif /* __INTEL_DE_H__ */
More information about the Intel-gfx
mailing list