[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