[Intel-gfx] [PATCH v2 01/11] drm/i915/de: Add more macros to remove all direct calls to uncore

Jani Nikula jani.nikula at intel.com
Thu Dec 8 13:14:15 UTC 2022


On Thu, 08 Dec 2022, Andrzej Hajda <andrzej.hajda at intel.com> wrote:
> 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.

I guess the rest of i915 needs to remain aware of gt specific uncores?

> Reviewed-by: Andrzej Hajda <andrzej.hajda at intel.com>

Thanks, pushed the series to din.

BR,
Jani.

>
> Regards
> Andrzej
>
>
>>   #endif /* __INTEL_DE_H__ */
>

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list