From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Stuart Summers <stuart.summers@intel.com>
Cc: <intel-xe@lists.freedesktop.org>, <raag.jadav@intel.com>,
Jonathan Cavitt <jonathan.cavitt@intel.com>
Subject: Re: [PATCH] drm/xe/pcode: Initialize data0 for pcode read routine
Date: Fri, 22 Aug 2025 12:26:54 -0400 [thread overview]
Message-ID: <aKiaTuU_BxfkjI2k@intel.com> (raw)
In-Reply-To: <20250819201054.393220-1-stuart.summers@intel.com>
On Tue, Aug 19, 2025 at 08:10:54PM +0000, Stuart Summers wrote:
> There are two registers filled in when reading data from
> pcode besides the mailbox itself. Currently, we allow a NULL
> value for the second of these two (data1) and assume the first
> is defined. However, many of the routines that are calling
> this function assume that pcode will ignore the value being
> passed in and so leave that first value (data0) defined but
> uninitialized. To be safe, make sure this value is always
> initialized to something (0 generally) in the event pcode
> behavior changes and starts using this value.
>
> v2: Fix sob/author
pushed to drm-xe-next. Thank you all
>
> Signed-off-by: Stuart Summers <stuart.summers@intel.com>
> Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
> ---
> drivers/gpu/drm/xe/xe_device_sysfs.c | 8 ++++----
> drivers/gpu/drm/xe/xe_hwmon.c | 8 ++++----
> drivers/gpu/drm/xe/xe_vram_freq.c | 4 ++--
> 3 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_device_sysfs.c b/drivers/gpu/drm/xe/xe_device_sysfs.c
> index bd9015761aa0..6ee422594b56 100644
> --- a/drivers/gpu/drm/xe/xe_device_sysfs.c
> +++ b/drivers/gpu/drm/xe/xe_device_sysfs.c
> @@ -76,7 +76,7 @@ lb_fan_control_version_show(struct device *dev, struct device_attribute *attr, c
> {
> struct xe_device *xe = pdev_to_xe_device(to_pci_dev(dev));
> struct xe_tile *root = xe_device_get_root_tile(xe);
> - u32 cap, ver_low = FAN_TABLE, ver_high = FAN_TABLE;
> + u32 cap = 0, ver_low = FAN_TABLE, ver_high = FAN_TABLE;
> u16 major = 0, minor = 0, hotfix = 0, build = 0;
> int ret;
>
> @@ -115,7 +115,7 @@ lb_voltage_regulator_version_show(struct device *dev, struct device_attribute *a
> {
> struct xe_device *xe = pdev_to_xe_device(to_pci_dev(dev));
> struct xe_tile *root = xe_device_get_root_tile(xe);
> - u32 cap, ver_low = VR_CONFIG, ver_high = VR_CONFIG;
> + u32 cap = 0, ver_low = VR_CONFIG, ver_high = VR_CONFIG;
> u16 major = 0, minor = 0, hotfix = 0, build = 0;
> int ret;
>
> @@ -153,7 +153,7 @@ static int late_bind_create_files(struct device *dev)
> {
> struct xe_device *xe = pdev_to_xe_device(to_pci_dev(dev));
> struct xe_tile *root = xe_device_get_root_tile(xe);
> - u32 cap;
> + u32 cap = 0;
> int ret;
>
> xe_pm_runtime_get(xe);
> @@ -186,7 +186,7 @@ static void late_bind_remove_files(struct device *dev)
> {
> struct xe_device *xe = pdev_to_xe_device(to_pci_dev(dev));
> struct xe_tile *root = xe_device_get_root_tile(xe);
> - u32 cap;
> + u32 cap = 0;
> int ret;
>
> xe_pm_runtime_get(xe);
> diff --git a/drivers/gpu/drm/xe/xe_hwmon.c b/drivers/gpu/drm/xe/xe_hwmon.c
> index c17ed1ae8649..32a76ae6e9dc 100644
> --- a/drivers/gpu/drm/xe/xe_hwmon.c
> +++ b/drivers/gpu/drm/xe/xe_hwmon.c
> @@ -179,7 +179,7 @@ static int xe_hwmon_pcode_rmw_power_limit(const struct xe_hwmon *hwmon, u32 attr
> u32 clr, u32 set)
> {
> struct xe_tile *root_tile = xe_device_get_root_tile(hwmon->xe);
> - u32 val0, val1;
> + u32 val0 = 0, val1 = 0;
> int ret = 0;
>
> ret = xe_pcode_read(root_tile, PCODE_MBOX(PCODE_POWER_SETUP,
> @@ -734,7 +734,7 @@ static int xe_hwmon_power_curr_crit_read(struct xe_hwmon *hwmon, int channel,
> long *value, u32 scale_factor)
> {
> int ret;
> - u32 uval;
> + u32 uval = 0;
>
> mutex_lock(&hwmon->hwmon_lock);
>
> @@ -918,7 +918,7 @@ xe_hwmon_power_write(struct xe_hwmon *hwmon, u32 attr, int channel, long val)
> static umode_t
> xe_hwmon_curr_is_visible(const struct xe_hwmon *hwmon, u32 attr, int channel)
> {
> - u32 uval;
> + u32 uval = 0;
>
> /* hwmon sysfs attribute of current available only for package */
> if (channel != CHANNEL_PKG)
> @@ -1020,7 +1020,7 @@ xe_hwmon_energy_read(struct xe_hwmon *hwmon, u32 attr, int channel, long *val)
> static umode_t
> xe_hwmon_fan_is_visible(struct xe_hwmon *hwmon, u32 attr, int channel)
> {
> - u32 uval;
> + u32 uval = 0;
>
> if (!hwmon->xe->info.has_fan_control)
> return 0;
> diff --git a/drivers/gpu/drm/xe/xe_vram_freq.c b/drivers/gpu/drm/xe/xe_vram_freq.c
> index b26e26d73dae..17bc84da4cdc 100644
> --- a/drivers/gpu/drm/xe/xe_vram_freq.c
> +++ b/drivers/gpu/drm/xe/xe_vram_freq.c
> @@ -34,7 +34,7 @@ static ssize_t max_freq_show(struct device *dev, struct device_attribute *attr,
> char *buf)
> {
> struct xe_tile *tile = dev_to_tile(dev);
> - u32 val, mbox;
> + u32 val = 0, mbox;
> int err;
>
> mbox = REG_FIELD_PREP(PCODE_MB_COMMAND, PCODE_FREQUENCY_CONFIG)
> @@ -56,7 +56,7 @@ static ssize_t min_freq_show(struct device *dev, struct device_attribute *attr,
> char *buf)
> {
> struct xe_tile *tile = dev_to_tile(dev);
> - u32 val, mbox;
> + u32 val = 0, mbox;
> int err;
>
> mbox = REG_FIELD_PREP(PCODE_MB_COMMAND, PCODE_FREQUENCY_CONFIG)
> --
> 2.34.1
>
next prev parent reply other threads:[~2025-08-22 16:27 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-19 20:10 [PATCH] drm/xe/pcode: Initialize data0 for pcode read routine Stuart Summers
2025-08-20 6:07 ` ✓ CI.KUnit: success for drm/xe/pcode: Initialize data0 for pcode read routine (rev3) Patchwork
2025-08-20 6:38 ` [PATCH] drm/xe/pcode: Initialize data0 for pcode read routine Raag Jadav
2025-08-20 7:29 ` ✓ Xe.CI.BAT: success for drm/xe/pcode: Initialize data0 for pcode read routine (rev3) Patchwork
2025-08-21 2:11 ` ✗ Xe.CI.Full: failure " Patchwork
2025-08-22 16:26 ` Rodrigo Vivi [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-08-13 19:54 [PATCH] drm/xe/pcode: Initialize data0 for pcode read routine stuartsummers
2025-08-17 16:36 ` Rodrigo Vivi
2025-08-19 14:40 ` Summers, Stuart
2025-08-08 15:36 stuartsummers
2025-08-08 16:38 ` Cavitt, Jonathan
2025-08-08 17:01 ` Summers, Stuart
2025-08-10 9:26 ` Raag Jadav
2025-08-11 15:29 ` Summers, Stuart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aKiaTuU_BxfkjI2k@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=jonathan.cavitt@intel.com \
--cc=raag.jadav@intel.com \
--cc=stuart.summers@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).