Hwmon reads the energy/power consumed by discrete soc, i.e. energy/power includes the power drawn from non-gfx discrete components This test uses the power consumed by GT to validate RC6 power consumption. Skip comparison of power for discrete graphics TODO : measure power of GT in discrete graphics and modify the condition v2: update commit message (Anshuman) Signed-off-by: Riana Tauro <riana.tauro@xxxxxxxxx> Reviewed-by: Anshuman Gupta <anshuman.gupta@xxxxxxxxx> --- drivers/gpu/drm/i915/gt/selftest_rc6.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gt/selftest_rc6.c b/drivers/gpu/drm/i915/gt/selftest_rc6.c index 682f2fe67b3a..47165f490449 100644 --- a/drivers/gpu/drm/i915/gt/selftest_rc6.c +++ b/drivers/gpu/drm/i915/gt/selftest_rc6.c @@ -107,7 +107,15 @@ int live_rc6_manual(void *arg) ktime_to_ns(dt)); pr_info("GPU consumed %llduW in RC0 and %llduW in RC6\n", rc0_power, rc6_power); - if (2 * rc6_power > rc0_power) { + + /* + * Condition valid for integrated graphics + * On discrete graphics, hwwmon reads the energy/power from + * discrete SOC that includes non-gfx components. + * TODO : Measure power of GT for discrete graphics and + * modify the condition + */ + if (!IS_DGFX(gt->i915) && (2 * rc6_power > rc0_power)) { pr_err("GPU leaked energy while in RC6!\n"); err = -EINVAL; goto out_unlock; -- 2.40.0