[Intel-gfx] [PATCH] drm/i915: move tons of power well initializers to rodata

Jani Nikula jani.nikula at intel.com
Mon May 2 09:12:53 UTC 2022


On Fri, 29 Apr 2022, Imre Deak <imre.deak at intel.com> wrote:
> On Fri, Apr 29, 2022 at 05:21:40PM +0300, Jani Nikula wrote:
>> Using compound literals for initialization can be tricky. Lacking a
>> const qualifier, they won't end up in rodata, which is probably not
>> expected or intended. Add const to move a whopping 136 initializers to
>> rodata.
>> 
>> Compare:
>> 
>> $ objdump --syms drivers/gpu/drm/i915/display/intel_display_power_map.o | grep "\.rodata.*__compound_literal"
>> $ objdump --syms drivers/gpu/drm/i915/display/intel_display_power_map.o | grep "\.data.*__compound_literal"
>> 
>> Before and after the change.
>> 
>> Fixes: c32ffce42aa5 ("drm/i915: Convert the power well descriptor domain mask to an array of domains")
>> Fixes: 4a845ff0c0d4 ("drm/i915: Simplify power well definitions by adding power well instances")
>> Cc: Imre Deak <imre.deak at intel.com>
>> Cc: Jouni Högander <jouni.hogander at intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>
> Reviewed-by: Imre Deak <imre.deak at intel.com>

Thanks, pushed to drm-intel-next.

BR,
Jani.

>
>> ---
>>  drivers/gpu/drm/i915/display/intel_display_power_map.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c b/drivers/gpu/drm/i915/display/intel_display_power_map.c
>> index af6f54a26a35..97b367f39f35 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
>> @@ -21,7 +21,7 @@
>>  
>>  #define I915_PW_DOMAINS(...) \
>>  	(const struct i915_power_domain_list) \
>> -		__LIST(__LIST_INLINE_ELEMS(enum intel_display_power_domain, __VA_ARGS__))
>> +		__LIST(__LIST_INLINE_ELEMS(const enum intel_display_power_domain, __VA_ARGS__))
>>  
>>  #define I915_DECL_PW_DOMAINS(__name, ...) \
>>  	static const struct i915_power_domain_list __name = I915_PW_DOMAINS(__VA_ARGS__)
>> @@ -32,7 +32,7 @@
>>  
>>  #define I915_PW_INSTANCES(...) \
>>  	(const struct i915_power_well_instance_list) \
>> -		__LIST(__LIST_INLINE_ELEMS(struct i915_power_well_instance, __VA_ARGS__))
>> +		__LIST(__LIST_INLINE_ELEMS(const struct i915_power_well_instance, __VA_ARGS__))
>>  
>>  #define I915_PW(_name, _domain_list, ...) \
>>  	{ .name = _name, .domain_list = _domain_list, ## __VA_ARGS__ }
>> -- 
>> 2.30.2
>> 

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list