drm/xe: Extend rpX values extraction for future platforms
authorBadal Nilawar <badal.nilawar@intel.com>
Wed, 25 Oct 2023 16:12:01 +0000 (21:42 +0530)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:43:22 +0000 (11:43 -0500)
In existing code flow for future platforms i.e. >1270, the rpX
(rp0,rpn and rpe) fused values are read from gen 6 registers.
Which is not correct. Unless specified gen 1270 regs should be valid
for gen 1270+ platforms as well.

Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_guc_pc.c

index d9375d1d582ff9b46d596f68c1d74288957f0b92..74247e0d367428392a7906e89d665db8ed64a2ea 100644 (file)
@@ -340,7 +340,7 @@ static void pc_update_rp_values(struct xe_guc_pc *pc)
        struct xe_gt *gt = pc_to_gt(pc);
        struct xe_device *xe = gt_to_xe(gt);
 
-       if (xe->info.platform == XE_METEORLAKE)
+       if (GRAPHICS_VERx100(xe) >= 1270)
                mtl_update_rpe_value(pc);
        else
                tgl_update_rpe_value(pc);
@@ -365,7 +365,7 @@ static ssize_t freq_act_show(struct device *dev,
        xe_device_mem_access_get(gt_to_xe(gt));
 
        /* When in RC6, actual frequency reported will be 0. */
-       if (xe->info.platform == XE_METEORLAKE) {
+       if (GRAPHICS_VERx100(xe) >= 1270) {
                freq = xe_mmio_read32(gt, MTL_MIRROR_TARGET_WP1);
                freq = REG_FIELD_GET(MTL_CAGF_MASK, freq);
        } else {
@@ -680,7 +680,7 @@ static void pc_init_fused_rp_values(struct xe_guc_pc *pc)
        struct xe_gt *gt = pc_to_gt(pc);
        struct xe_device *xe = gt_to_xe(gt);
 
-       if (xe->info.platform == XE_METEORLAKE)
+       if (GRAPHICS_VERx100(xe) >= 1270)
                mtl_init_fused_rp_values(pc);
        else
                tgl_init_fused_rp_values(pc);