public inbox for intel-xe@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH] drm/xe/hwmon: Enable energy attributes for CRI
@ 2026-03-10 12:20 Karthik Poosa
  2026-03-10 15:06 ` ✗ CI.KUnit: failure for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Karthik Poosa @ 2026-03-10 12:20 UTC (permalink / raw)
  To: intel-xe
  Cc: anshuman.gupta, badal.nilawar, rodrigo.vivi, raag.jadav,
	riana.tauro, Karthik Poosa

Enable HWMON energy attributes for CRI which is available through
MMIO registers.

Signed-off-by: Karthik Poosa <karthik.poosa@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_pcode_regs.h | 3 +++
 drivers/gpu/drm/xe/xe_hwmon.c           | 7 ++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/regs/xe_pcode_regs.h b/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
index 4b3c46eb858f..c63b409d7a82 100644
--- a/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
@@ -27,4 +27,7 @@
 #define   TEMP_SIGN_MASK			REG_BIT(31)
 #define BMG_PACKAGE_TEMPERATURE			XE_REG(0x138434)
 
+#define CRI_PACKAGE_ENERGY_STATUS		XE_REG(0x138120)
+#define CRI_PLATFORM_ENERGY_STATUS		XE_REG(0x138458)
+
 #endif /* _XE_PCODE_REGS_H_ */
diff --git a/drivers/gpu/drm/xe/xe_hwmon.c b/drivers/gpu/drm/xe/xe_hwmon.c
index 0fd4d4f1014a..852681bdb84c 100644
--- a/drivers/gpu/drm/xe/xe_hwmon.c
+++ b/drivers/gpu/drm/xe/xe_hwmon.c
@@ -296,7 +296,12 @@ static struct xe_reg xe_hwmon_get_reg(struct xe_hwmon *hwmon, enum xe_hwmon_reg
 			return GT_PERF_STATUS;
 		break;
 	case REG_PKG_ENERGY_STATUS:
-		if (xe->info.platform == XE_PVC && channel == CHANNEL_PKG) {
+		if (xe->info.platform == XE_CRESCENTISLAND) {
+			if (channel == CHANNEL_CARD)
+				return CRI_PLATFORM_ENERGY_STATUS;
+			else if (channel == CHANNEL_PKG)
+				return CRI_PACKAGE_ENERGY_STATUS;
+		} else if (xe->info.platform == XE_PVC && channel == CHANNEL_PKG) {
 			return PVC_GT0_PLATFORM_ENERGY_STATUS;
 		} else if ((xe->info.platform == XE_DG2) && (channel == CHANNEL_PKG)) {
 			return PCU_CR_PACKAGE_ENERGY_STATUS;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* ✗ CI.KUnit: failure for drm/xe/hwmon: Enable energy attributes for CRI
  2026-03-10 12:20 [PATCH] drm/xe/hwmon: Enable energy attributes for CRI Karthik Poosa
@ 2026-03-10 15:06 ` Patchwork
  2026-03-11  7:20 ` [PATCH] " Gupta, Anshuman
  2026-03-17  4:32 ` Purkait, Soham
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2026-03-10 15:06 UTC (permalink / raw)
  To: Karthik Poosa; +Cc: intel-xe

== Series Details ==

Series: drm/xe/hwmon: Enable energy attributes for CRI
URL   : https://patchwork.freedesktop.org/series/162951/
State : failure

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
ERROR:root:../drivers/gpu/drm/xe/xe_lrc.c: In function ‘xe_lrc_ctx_init’:
../drivers/gpu/drm/xe/xe_lrc.c:1554:43: error: implicit declaration of function ‘_MASKED_BIT_ENABLE’; did you mean ‘REG_MASKED_FIELD_ENABLE’? [-Werror=implicit-function-declaration]
 1554 |                 state_cache_perf_fix[2] = _MASKED_BIT_ENABLE(DISABLE_STATE_CACHE_PERF_FIX);
      |                                           ^~~~~~~~~~~~~~~~~~
      |                                           REG_MASKED_FIELD_ENABLE
cc1: some warnings being treated as errors
make[7]: *** [../scripts/Makefile.build:289: drivers/gpu/drm/xe/xe_lrc.o] Error 1
make[7]: *** Waiting for unfinished jobs....
make[6]: *** [../scripts/Makefile.build:548: drivers/gpu/drm/xe] Error 2
make[5]: *** [../scripts/Makefile.build:548: drivers/gpu/drm] Error 2
make[4]: *** [../scripts/Makefile.build:548: drivers/gpu] Error 2
make[3]: *** [../scripts/Makefile.build:548: drivers] Error 2
make[2]: *** [/kernel/Makefile:2101: .] Error 2
make[1]: *** [/kernel/Makefile:248: __sub-make] Error 2
make: *** [Makefile:248: __sub-make] Error 2

[15:05:31] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:05:35] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=25
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH] drm/xe/hwmon: Enable energy attributes for CRI
  2026-03-10 12:20 [PATCH] drm/xe/hwmon: Enable energy attributes for CRI Karthik Poosa
  2026-03-10 15:06 ` ✗ CI.KUnit: failure for " Patchwork
@ 2026-03-11  7:20 ` Gupta, Anshuman
  2026-03-17  4:32 ` Purkait, Soham
  2 siblings, 0 replies; 6+ messages in thread
From: Gupta, Anshuman @ 2026-03-11  7:20 UTC (permalink / raw)
  To: Poosa, Karthik, intel-xe@lists.freedesktop.org
  Cc: Nilawar, Badal, Vivi, Rodrigo, Jadav, Raag, Tauro, Riana



> -----Original Message-----
> From: Poosa, Karthik <karthik.poosa@intel.com>
> Sent: Tuesday, March 10, 2026 5:50 PM
> To: intel-xe@lists.freedesktop.org
> Cc: Gupta, Anshuman <anshuman.gupta@intel.com>; Nilawar, Badal
> <badal.nilawar@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; Jadav, Raag
> <raag.jadav@intel.com>; Tauro, Riana <riana.tauro@intel.com>; Poosa, Karthik
> <karthik.poosa@intel.com>
> Subject: [PATCH] drm/xe/hwmon: Enable energy attributes for CRI
> 
> Enable HWMON energy attributes for CRI which is available through MMIO
> registers.
Can you explain why this change required in commit message ?
BR,
Anshuman
> 
> Signed-off-by: Karthik Poosa <karthik.poosa@intel.com>
> ---
>  drivers/gpu/drm/xe/regs/xe_pcode_regs.h | 3 +++
>  drivers/gpu/drm/xe/xe_hwmon.c           | 7 ++++++-
>  2 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
> b/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
> index 4b3c46eb858f..c63b409d7a82 100644
> --- a/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
> @@ -27,4 +27,7 @@
>  #define   TEMP_SIGN_MASK			REG_BIT(31)
>  #define BMG_PACKAGE_TEMPERATURE			XE_REG(0x138434)
> 
> +#define CRI_PACKAGE_ENERGY_STATUS		XE_REG(0x138120)
> +#define CRI_PLATFORM_ENERGY_STATUS		XE_REG(0x138458)
> +
>  #endif /* _XE_PCODE_REGS_H_ */
> diff --git a/drivers/gpu/drm/xe/xe_hwmon.c
> b/drivers/gpu/drm/xe/xe_hwmon.c index 0fd4d4f1014a..852681bdb84c
> 100644
> --- a/drivers/gpu/drm/xe/xe_hwmon.c
> +++ b/drivers/gpu/drm/xe/xe_hwmon.c
> @@ -296,7 +296,12 @@ static struct xe_reg xe_hwmon_get_reg(struct
> xe_hwmon *hwmon, enum xe_hwmon_reg
>  			return GT_PERF_STATUS;
>  		break;
>  	case REG_PKG_ENERGY_STATUS:
> -		if (xe->info.platform == XE_PVC && channel == CHANNEL_PKG)
> {
> +		if (xe->info.platform == XE_CRESCENTISLAND) {
> +			if (channel == CHANNEL_CARD)
> +				return CRI_PLATFORM_ENERGY_STATUS;
> +			else if (channel == CHANNEL_PKG)
> +				return CRI_PACKAGE_ENERGY_STATUS;
> +		} else if (xe->info.platform == XE_PVC && channel ==
> CHANNEL_PKG) {
>  			return PVC_GT0_PLATFORM_ENERGY_STATUS;
>  		} else if ((xe->info.platform == XE_DG2) && (channel ==
> CHANNEL_PKG)) {
>  			return PCU_CR_PACKAGE_ENERGY_STATUS;
> --
> 2.25.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: drm/xe/hwmon: Enable energy attributes for CRI
  2026-03-10 12:20 [PATCH] drm/xe/hwmon: Enable energy attributes for CRI Karthik Poosa
  2026-03-10 15:06 ` ✗ CI.KUnit: failure for " Patchwork
  2026-03-11  7:20 ` [PATCH] " Gupta, Anshuman
@ 2026-03-17  4:32 ` Purkait, Soham
  2026-03-20 12:46   ` Poosa, Karthik
  2 siblings, 1 reply; 6+ messages in thread
From: Purkait, Soham @ 2026-03-17  4:32 UTC (permalink / raw)
  To: Karthik Poosa, intel-xe
  Cc: anshuman.gupta, badal.nilawar, rodrigo.vivi, raag.jadav,
	riana.tauro

Hi Karthik,

On 10-03-2026 17:50, Karthik Poosa wrote:
> Enable HWMON energy attributes for CRI which is available through
> MMIO registers.
>
> Signed-off-by: Karthik Poosa <karthik.poosa@intel.com>
> ---
>   drivers/gpu/drm/xe/regs/xe_pcode_regs.h | 3 +++
>   drivers/gpu/drm/xe/xe_hwmon.c           | 7 ++++++-
>   2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/regs/xe_pcode_regs.h b/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
> index 4b3c46eb858f..c63b409d7a82 100644
> --- a/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
> @@ -27,4 +27,7 @@
>   #define   TEMP_SIGN_MASK			REG_BIT(31)
>   #define BMG_PACKAGE_TEMPERATURE			XE_REG(0x138434)
>   
> +#define CRI_PACKAGE_ENERGY_STATUS		XE_REG(0x138120)
> +#define CRI_PLATFORM_ENERGY_STATUS		XE_REG(0x138458)
> +
>   #endif /* _XE_PCODE_REGS_H_ */
> diff --git a/drivers/gpu/drm/xe/xe_hwmon.c b/drivers/gpu/drm/xe/xe_hwmon.c
> index 0fd4d4f1014a..852681bdb84c 100644
> --- a/drivers/gpu/drm/xe/xe_hwmon.c
> +++ b/drivers/gpu/drm/xe/xe_hwmon.c
> @@ -296,7 +296,12 @@ static struct xe_reg xe_hwmon_get_reg(struct xe_hwmon *hwmon, enum xe_hwmon_reg
>   			return GT_PERF_STATUS;
>   		break;
>   	case REG_PKG_ENERGY_STATUS:
> -		if (xe->info.platform == XE_PVC && channel == CHANNEL_PKG) {
> +		if (xe->info.platform == XE_CRESCENTISLAND) {
> +			if (channel == CHANNEL_CARD)

Instead of using if-else better to use switch-case here.

Thanks,
Soham

> +				return CRI_PLATFORM_ENERGY_STATUS;
> +			else if (channel == CHANNEL_PKG)
> +				return CRI_PACKAGE_ENERGY_STATUS;
> +		} else if (xe->info.platform == XE_PVC && channel == CHANNEL_PKG) {
>   			return PVC_GT0_PLATFORM_ENERGY_STATUS;
>   		} else if ((xe->info.platform == XE_DG2) && (channel == CHANNEL_PKG)) {
>   			return PCU_CR_PACKAGE_ENERGY_STATUS;

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: drm/xe/hwmon: Enable energy attributes for CRI
  2026-03-17  4:32 ` Purkait, Soham
@ 2026-03-20 12:46   ` Poosa, Karthik
  2026-03-26 14:08     ` Poosa, Karthik
  0 siblings, 1 reply; 6+ messages in thread
From: Poosa, Karthik @ 2026-03-20 12:46 UTC (permalink / raw)
  To: Purkait, Soham, intel-xe
  Cc: anshuman.gupta, badal.nilawar, rodrigo.vivi, raag.jadav,
	riana.tauro


On 17-03-2026 10:02, Purkait, Soham wrote:
> Hi Karthik,
>
> On 10-03-2026 17:50, Karthik Poosa wrote:
>> Enable HWMON energy attributes for CRI which is available through
>> MMIO registers.
>>
>> Signed-off-by: Karthik Poosa <karthik.poosa@intel.com>
>> ---
>>   drivers/gpu/drm/xe/regs/xe_pcode_regs.h | 3 +++
>>   drivers/gpu/drm/xe/xe_hwmon.c           | 7 ++++++-
>>   2 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/xe/regs/xe_pcode_regs.h 
>> b/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
>> index 4b3c46eb858f..c63b409d7a82 100644
>> --- a/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
>> +++ b/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
>> @@ -27,4 +27,7 @@
>>   #define   TEMP_SIGN_MASK            REG_BIT(31)
>>   #define BMG_PACKAGE_TEMPERATURE            XE_REG(0x138434)
>>   +#define CRI_PACKAGE_ENERGY_STATUS        XE_REG(0x138120)
>> +#define CRI_PLATFORM_ENERGY_STATUS        XE_REG(0x138458)
>> +
>>   #endif /* _XE_PCODE_REGS_H_ */
>> diff --git a/drivers/gpu/drm/xe/xe_hwmon.c 
>> b/drivers/gpu/drm/xe/xe_hwmon.c
>> index 0fd4d4f1014a..852681bdb84c 100644
>> --- a/drivers/gpu/drm/xe/xe_hwmon.c
>> +++ b/drivers/gpu/drm/xe/xe_hwmon.c
>> @@ -296,7 +296,12 @@ static struct xe_reg xe_hwmon_get_reg(struct 
>> xe_hwmon *hwmon, enum xe_hwmon_reg
>>               return GT_PERF_STATUS;
>>           break;
>>       case REG_PKG_ENERGY_STATUS:
>> -        if (xe->info.platform == XE_PVC && channel == CHANNEL_PKG) {
>> +        if (xe->info.platform == XE_CRESCENTISLAND) {
>> +            if (channel == CHANNEL_CARD)
>
> Instead of using if-else better to use switch-case here.
>
> Thanks,
> Soham
That will need refactor of this entire function. Those shall be handled 
in a separate patch series.
>
>> +                return CRI_PLATFORM_ENERGY_STATUS;
>> +            else if (channel == CHANNEL_PKG)
>> +                return CRI_PACKAGE_ENERGY_STATUS;
>> +        } else if (xe->info.platform == XE_PVC && channel == 
>> CHANNEL_PKG) {
>>               return PVC_GT0_PLATFORM_ENERGY_STATUS;
>>           } else if ((xe->info.platform == XE_DG2) && (channel == 
>> CHANNEL_PKG)) {
>>               return PCU_CR_PACKAGE_ENERGY_STATUS;

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: drm/xe/hwmon: Enable energy attributes for CRI
  2026-03-20 12:46   ` Poosa, Karthik
@ 2026-03-26 14:08     ` Poosa, Karthik
  0 siblings, 0 replies; 6+ messages in thread
From: Poosa, Karthik @ 2026-03-26 14:08 UTC (permalink / raw)
  To: Purkait, Soham, intel-xe@lists.freedesktop.org
  Cc: Gupta, Anshuman, Nilawar, Badal, Vivi, Rodrigo, Jadav, Raag,
	Tauro, Riana

[-- Attachment #1: Type: text/plain, Size: 2910 bytes --]


________________________________
From: Poosa, Karthik <karthik.poosa@intel.com>
Sent: Friday, March 20, 2026 6:16 PM
To: Purkait, Soham <soham.purkait@intel.com>; intel-xe@lists.freedesktop.org <intel-xe@lists.freedesktop.org>
Cc: Gupta, Anshuman <anshuman.gupta@intel.com>; Nilawar, Badal <badal.nilawar@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; Jadav, Raag <raag.jadav@intel.com>; Tauro, Riana <riana.tauro@intel.com>
Subject: Re: drm/xe/hwmon: Enable energy attributes for CRI


On 17-03-2026 10:02, Purkait, Soham wrote:
> Hi Karthik,
>
> On 10-03-2026 17:50, Karthik Poosa wrote:
>> Enable HWMON energy attributes for CRI which is available through
>> MMIO registers.
>>
>> Signed-off-by: Karthik Poosa <karthik.poosa@intel.com>
>> ---
>>   drivers/gpu/drm/xe/regs/xe_pcode_regs.h | 3 +++
>>   drivers/gpu/drm/xe/xe_hwmon.c           | 7 ++++++-
>>   2 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
>> b/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
>> index 4b3c46eb858f..c63b409d7a82 100644
>> --- a/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
>> +++ b/drivers/gpu/drm/xe/regs/xe_pcode_regs.h
>> @@ -27,4 +27,7 @@
>>   #define   TEMP_SIGN_MASK            REG_BIT(31)
>>   #define BMG_PACKAGE_TEMPERATURE            XE_REG(0x138434)
>>   +#define CRI_PACKAGE_ENERGY_STATUS        XE_REG(0x138120)
>> +#define CRI_PLATFORM_ENERGY_STATUS        XE_REG(0x138458)
>> +
>>   #endif /* _XE_PCODE_REGS_H_ */
>> diff --git a/drivers/gpu/drm/xe/xe_hwmon.c
>> b/drivers/gpu/drm/xe/xe_hwmon.c
>> index 0fd4d4f1014a..852681bdb84c 100644
>> --- a/drivers/gpu/drm/xe/xe_hwmon.c
>> +++ b/drivers/gpu/drm/xe/xe_hwmon.c
>> @@ -296,7 +296,12 @@ static struct xe_reg xe_hwmon_get_reg(struct
>> xe_hwmon *hwmon, enum xe_hwmon_reg
>>               return GT_PERF_STATUS;
>>           break;
>>       case REG_PKG_ENERGY_STATUS:
>> -        if (xe->info.platform == XE_PVC && channel == CHANNEL_PKG) {
>> +        if (xe->info.platform == XE_CRESCENTISLAND) {
>> +            if (channel == CHANNEL_CARD)
>
> Instead of using if-else better to use switch-case here.
>
> Thanks,
> Soham
That will need refactor of this entire function. Those shall be handled
in a separate patch series.

As per offline discussion, switch case was suggested for channels under energy.
As energy is supported only for card and package channels, switch case is not needed here.
>
>> +                return CRI_PLATFORM_ENERGY_STATUS;
>> +            else if (channel == CHANNEL_PKG)
>> +                return CRI_PACKAGE_ENERGY_STATUS;
>> +        } else if (xe->info.platform == XE_PVC && channel ==
>> CHANNEL_PKG) {
>>               return PVC_GT0_PLATFORM_ENERGY_STATUS;
>>           } else if ((xe->info.platform == XE_DG2) && (channel ==
>> CHANNEL_PKG)) {
>>               return PCU_CR_PACKAGE_ENERGY_STATUS;

[-- Attachment #2: Type: text/html, Size: 5593 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-03-26 14:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-10 12:20 [PATCH] drm/xe/hwmon: Enable energy attributes for CRI Karthik Poosa
2026-03-10 15:06 ` ✗ CI.KUnit: failure for " Patchwork
2026-03-11  7:20 ` [PATCH] " Gupta, Anshuman
2026-03-17  4:32 ` Purkait, Soham
2026-03-20 12:46   ` Poosa, Karthik
2026-03-26 14:08     ` Poosa, Karthik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox