[Intel-xe] [PATCH] drm/xe: Add a sysfs node for requested frequency
Sundaresan, Sujaritha
sujaritha.sundaresan at intel.com
Mon May 29 11:57:13 UTC 2023
On 5/29/2023 5:00 PM, Riana Tauro wrote:
> Hi Suja
>
> On 5/29/2023 2:57 PM, Sujaritha Sundaresan wrote:
>> Adding freq_pureq as a sysfs node to expose the frequency requested
>> by the PUnit.
>>
>> Signed-off-by: Sujaritha Sundaresan <sujaritha.sundaresan at intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_guc_pc.c | 15 +++++++++++++++
>> 1 file changed, 15 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c
>> b/drivers/gpu/drm/xe/xe_guc_pc.c
>> index e799faa1c6b8..8a1b3bc5d397 100644
>> --- a/drivers/gpu/drm/xe/xe_guc_pc.c
>> +++ b/drivers/gpu/drm/xe/xe_guc_pc.c
>> @@ -62,6 +62,7 @@
>> * device/gt#/freq_* *read-only* files:
>> * - freq_act: The actual resolved frequency decided by PCODE.
>> * - freq_cur: The current one requested by GuC PC to the Hardware.
>> + * - freq_pureq: The frequency requested by PUnit.
>> * - freq_rpn: The Render Performance (RP) N level, which is the
>> minimal one.
>> * - freq_rpe: The Render Performance (RP) E level, which is the
>> efficient one.
>> * - freq_rp0: The Render Performance (RP) 0 level, which is the
>> maximum one.
>> @@ -425,6 +426,19 @@ static ssize_t freq_cur_show(struct device *dev,
>> }
>> static DEVICE_ATTR_RO(freq_cur);
>> +static ssize_t freq_pureq_show(struct device *dev,
>> + struct device_attribute *attr, char *buf)
>> +{
>> + struct kobject *kobj = &dev->kobj;
>> + struct xe_gt *gt = kobj_to_gt(kobj);
>> + u32 freq;
>> +
>> + freq = xe_mmio_read32(gt, RPNSWREQ);
> freq_cur also reads the same mmio. REQ_RATIO_MASK is used in freq_cur.
> Is there a mask missing here?
>> +
>> + return sysfs_emit(buf, "%d\n", decode_freq(freq));
>> +}
>> +static DEVICE_ATTR_RO(freq_pureq);
> Maybe freq_punit_req?
>
> Thanks
> Riana
>> +
>> static ssize_t freq_rp0_show(struct device *dev,
>> struct device_attribute *attr, char *buf)
>> {
>> @@ -628,6 +642,7 @@ static DEVICE_ATTR_RO(rc6_residency);
>> static const struct attribute *pc_attrs[] = {
>> &dev_attr_freq_act.attr,
>> &dev_attr_freq_cur.attr,
>> + &dev_attr_freq_pureq.attr,
>> &dev_attr_freq_rp0.attr,
>> &dev_attr_freq_rpe.attr,
>> &dev_attr_freq_rpn.attr,
Thanks for the review Riana.
Looks like this patch can be closed out. freq_cur already does what this
attribute wants to do. So closing out this patch.
Nothing further needed here.
- Suja
More information about the Intel-xe
mailing list