[Intel-gfx] [PATCH] drm/i915/gt: Fix use of static in macro mismatch

Jani Nikula jani.nikula at linux.intel.com
Wed May 11 08:58:21 UTC 2022


On Tue, 10 May 2022, Andi Shyti <andi.shyti at linux.intel.com> wrote:
> The INTEL_GT_RPS_SYSFS_ATTR was creating to different structures
> but. When called with the "static" keyword this is affecting only
> the first structure, while the second is created as non static.
>
> Move the static keyword inside the macros to affect both the
> structures.
>
> Reported-by: Jani Nikula <jani.nikula at linux.intel.com>
> Fixes: 56a709cf77468 ("drm/i915/gt: Create per-tile RPS sysfs interfaces")
> Signed-off-by: Andi Shyti <andi.shyti at linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula at intel.com>

> ---
>  drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 21 +++++++++++----------
>  1 file changed, 11 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
> index e92990d514b24..f76b6cf8040ec 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
> @@ -457,22 +457,23 @@ static ssize_t vlv_rpe_freq_mhz_show(struct device *dev,
>  }
>  
>  #define INTEL_GT_RPS_SYSFS_ATTR(_name, _mode, _show, _store) \
> -	struct device_attribute dev_attr_gt_##_name = __ATTR(gt_##_name, _mode, _show, _store); \
> -	struct device_attribute dev_attr_rps_##_name = __ATTR(rps_##_name, _mode, _show, _store)
> +	static struct device_attribute dev_attr_gt_##_name = __ATTR(gt_##_name, _mode, _show, _store); \
> +	static struct device_attribute dev_attr_rps_##_name = __ATTR(rps_##_name, _mode, _show, _store)
>  
>  #define INTEL_GT_RPS_SYSFS_ATTR_RO(_name)				\
>  		INTEL_GT_RPS_SYSFS_ATTR(_name, 0444, _name##_show, NULL)
>  #define INTEL_GT_RPS_SYSFS_ATTR_RW(_name)				\
>  		INTEL_GT_RPS_SYSFS_ATTR(_name, 0644, _name##_show, _name##_store)
>  
> -static INTEL_GT_RPS_SYSFS_ATTR_RO(act_freq_mhz);
> -static INTEL_GT_RPS_SYSFS_ATTR_RO(cur_freq_mhz);
> -static INTEL_GT_RPS_SYSFS_ATTR_RW(boost_freq_mhz);
> -static INTEL_GT_RPS_SYSFS_ATTR_RO(RP0_freq_mhz);
> -static INTEL_GT_RPS_SYSFS_ATTR_RO(RP1_freq_mhz);
> -static INTEL_GT_RPS_SYSFS_ATTR_RO(RPn_freq_mhz);
> -static INTEL_GT_RPS_SYSFS_ATTR_RW(max_freq_mhz);
> -static INTEL_GT_RPS_SYSFS_ATTR_RW(min_freq_mhz);
> +/* The below macros generate static structures */
> +INTEL_GT_RPS_SYSFS_ATTR_RO(act_freq_mhz);
> +INTEL_GT_RPS_SYSFS_ATTR_RO(cur_freq_mhz);
> +INTEL_GT_RPS_SYSFS_ATTR_RW(boost_freq_mhz);
> +INTEL_GT_RPS_SYSFS_ATTR_RO(RP0_freq_mhz);
> +INTEL_GT_RPS_SYSFS_ATTR_RO(RP1_freq_mhz);
> +INTEL_GT_RPS_SYSFS_ATTR_RO(RPn_freq_mhz);
> +INTEL_GT_RPS_SYSFS_ATTR_RW(max_freq_mhz);
> +INTEL_GT_RPS_SYSFS_ATTR_RW(min_freq_mhz);
>  
>  static DEVICE_ATTR_RO(vlv_rpe_freq_mhz);

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list