* device/gt#/freq0/throttle/reason_psys_crit - Frequency throttle due to PSYS critical
*/
-static struct xe_gt *
-dev_to_gt(struct device *dev)
+static struct xe_gt *dev_to_gt(struct device *dev)
{
return kobj_to_gt(dev->kobj.parent);
}
+static struct xe_gt *throttle_to_gt(struct kobject *kobj)
+{
+ return dev_to_gt(kobj_to_dev(kobj));
+}
+
u32 xe_gt_throttle_get_limit_reasons(struct xe_gt *gt)
{
struct xe_device *xe = gt_to_xe(gt);
static ssize_t status_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, U32_MAX));
}
static ssize_t reason_pl1_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, POWER_LIMIT_1_MASK));
}
static ssize_t reason_pl2_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, POWER_LIMIT_2_MASK));
}
static ssize_t reason_pl4_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, POWER_LIMIT_4_MASK));
}
static ssize_t reason_thermal_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, THERMAL_LIMIT_MASK));
}
static ssize_t reason_soc_thermal_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, SOC_THERMAL_LIMIT_MASK));
}
static ssize_t reason_prochot_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, PROCHOT_MASK));
}
static ssize_t reason_ratl_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, RATL_MASK));
}
static ssize_t reason_vr_thermalert_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, VR_THERMALERT_MASK));
}
static ssize_t reason_soc_avg_thermal_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, SOC_AVG_THERMAL_MASK));
}
static ssize_t reason_vr_tdc_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, VR_TDC_MASK));
}
static ssize_t reason_fastvmode_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, FASTVMODE_MASK));
}
static ssize_t reason_mem_thermal_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, MEM_THERMAL_MASK));
}
static ssize_t reason_vr_thermal_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, VR_THERMAL_MASK));
}
static ssize_t reason_iccmax_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, ICCMAX_MASK));
}
static ssize_t reason_psys_pl1_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, PSYS_PL1_MASK));
}
static ssize_t reason_psys_pl2_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, PSYS_PL2_MASK));
}
static ssize_t reason_p0_freq_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, P0_FREQ_MASK));
}
static ssize_t reason_psys_crit_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buff)
{
- struct device *dev = kobj_to_dev(kobj);
- struct xe_gt *gt = dev_to_gt(dev);
+ struct xe_gt *gt = throttle_to_gt(kobj);
return sysfs_emit(buff, "%u\n", is_throttled_by(gt, PSYS_CRIT_MASK));
}