From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: "Ruhl, Michael J" <michael.j.ruhl@intel.com>
Cc: "platform-driver-x86@vger.kernel.org"
<platform-driver-x86@vger.kernel.org>,
"intel-xe@lists.freedesktop.org"
<intel-xe@lists.freedesktop.org>,
Hans de Goede <hansg@kernel.org>,
"Brost, Matthew" <matthew.brost@intel.com>,
"Vivi, Rodrigo" <rodrigo.vivi@intel.com>,
"thomas.hellstrom@linux.intel.com"
<thomas.hellstrom@linux.intel.com>,
"airlied@gmail.com" <airlied@gmail.com>,
"simona@ffwll.ch" <simona@ffwll.ch>,
"david.e.box@linux.intel.com" <david.e.box@linux.intel.com>,
"Vijay, Anoop C" <anoop.c.vijay@intel.com>,
"Nilawar, Badal" <badal.nilawar@intel.com>,
"Roper, Matthew D" <matthew.d.roper@intel.com>,
"Ausmus, James" <james.ausmus@intel.com>,
"Poosa, Karthik" <karthik.poosa@intel.com>
Subject: RE: [PATCH v3 02/10] platform/x86/intel/pmt: Add register access callbacks
Date: Wed, 26 Aug 2026 21:30:24 +0300 (EEST) [thread overview]
Message-ID: <e76729c8-6e54-6c97-756a-d14bef40ae0a@linux.intel.com> (raw)
In-Reply-To: <CH3PR11MB04614971FF5B6E71CC17E77AE3C1AE2@CH3PR11MB046149.namprd11.prod.outlook.com>
[-- Attachment #1: Type: text/plain, Size: 5169 bytes --]
On Wed, 26 Aug 2026, Ruhl, Michael J wrote:
> >-----Original Message-----
> >From: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> >Sent: Tuesday, August 25, 2026 5:35 AM
> >To: Ruhl, Michael J <michael.j.ruhl@intel.com>
> >Cc: platform-driver-x86@vger.kernel.org; intel-xe@lists.freedesktop.org; Hans
> >de Goede <hansg@kernel.org>; Brost, Matthew <matthew.brost@intel.com>;
> >Vivi, Rodrigo <rodrigo.vivi@intel.com>; thomas.hellstrom@linux.intel.com;
> >airlied@gmail.com; simona@ffwll.ch; david.e.box@linux.intel.com; Vijay,
> >Anoop C <anoop.c.vijay@intel.com>; Nilawar, Badal
> ><badal.nilawar@intel.com>; Roper, Matthew D <matthew.d.roper@intel.com>;
> >Ausmus, James <james.ausmus@intel.com>; Poosa, Karthik
> ><karthik.poosa@intel.com>
> >Subject: Re: [PATCH v3 02/10] platform/x86/intel/pmt: Add register access
> >callbacks
> >
> >On Mon, 24 Aug 2026, Michael J. Ruhl wrote:
> >
> >> Some HW does not have direct MMIO access to PMT control and data
> >> features.
> >>
> >> Augment the current callback infrastructure (data access) to allow
> >> a registered driver to customize read/write access to the control
> >> paths for PMT usage.
> >>
> >> Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
> >> ---
> >> drivers/platform/x86/intel/pmt/crashlog.c | 39 +++++++++++++++++++++-
> >-
> >> include/linux/intel_vsec.h | 14 +++++++-
> >> 2 files changed, 49 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/drivers/platform/x86/intel/pmt/crashlog.c
> >b/drivers/platform/x86/intel/pmt/crashlog.c
> >> index f936daf99e4d..5923ad7abbd9 100644
> >> --- a/drivers/platform/x86/intel/pmt/crashlog.c
> >> +++ b/drivers/platform/x86/intel/pmt/crashlog.c
> >> @@ -129,7 +129,19 @@ static void pmt_crashlog_rmw(struct
> >crashlog_entry *crashlog, u32 bit, bool set)
> >> {
> >> const struct crashlog_control *control = &crashlog->info->control;
> >> struct intel_pmt_entry *entry = &crashlog->entry;
> >> - u32 reg = readl(entry->disc_table + control->offset);
> >> + u32 guid = entry->header.guid;
> >> + u32 reg;
> >> + int err;
> >> +
> >> + if (entry->cb && entry->cb->read_reg) {
> >> + err = entry->cb->read_reg(entry->dev, guid, ®, control-
> >>offset);
> >> + if (err) {
> >> + pr_err("%s: failed to read reg: %d\n", __func__, err);
> >
> >Never print __func__ in any user consumable message (level > debug) but
> >write the message in plain English.
> >
> >Also, this needs include.
> >
> >> + return;
> >> + }
> >> + } else {
> >> + reg = readl(entry->disc_table + control->offset);
> >
> >Add include.
>
> I have added the linux/printk.h include... I am not clear on the correct readl inclued.
>
> Should this be <linux/io.h> or <include/asm-generic/io.h>?
Usually it's better to use linux/ one, except in headers that are used
in many .c files where it may be helpful to use as precise include as
possible to limit the number of things one include ends up pulling in.
> >> + }
> >>
> >> reg &= ~control->trigger_mask;
> >>
> >> @@ -138,14 +150,35 @@ static void pmt_crashlog_rmw(struct
> >crashlog_entry *crashlog, u32 bit, bool set)
> >> else
> >> reg &= ~bit;
> >>
> >> - writel(reg, entry->disc_table + control->offset);
> >> + if (entry->cb && entry->cb->write_reg) {
> >> + err = entry->cb->write_reg(entry->dev, guid, reg, control-
> >>offset);
> >> + if (err) {
> >> + pr_err("%s: failed to write reg: %d\n", __func__, err);
> >
> >Rephrase without using __func__.
>
> This was for my internal debugging and should have been cleaned up. Removed.
>
> >> + return;
> >> + }
> >> + } else {
> >> + writel(reg, entry->disc_table + control->offset);
> >> + }
> >> }
> >>
> >> /* Read the status register and see if the specified @bit is set */
> >> static bool pmt_crashlog_rc(struct crashlog_entry *crashlog, u32 bit)
> >> {
> >> const struct crashlog_status *status = &crashlog->info->status;
> >> - u32 reg = readl(crashlog->entry.disc_table + status->offset);
> >> + struct intel_pmt_entry *entry = &crashlog->entry;
> >> + u32 guid = entry->header.guid;
> >> + u32 reg;
> >> + int err;
> >> +
> >> + if (entry->cb && entry->cb->read_reg) {
> >> + err = entry->cb->read_reg(entry->dev, guid, ®, status-
> >>offset);
> >> + if (err) {
> >> + pr_err("%s: failed to read reg: %d\n", __func__, err);
> >> + return false;
> >
> >It seems you need a lerger rework here to properly return error codes.
>
> Yes, there would be a significant rework (almost all internal functions
> will need to be updated) to return the error codes. This seems out of
> scope for these updates.
Your series adds a call that can fail (before there wasn't one) so it
should be part of this effort. bool -> int conversion should be mostly
simple (though admittedly a bit tedious) as it mainly just adds the
error handling ifs to the callchains.
> Does this need to be addressed to make progress on this patch set? Or can we work on that
> in the future?
I think it should be part of this effort because of the forementioned
reason.
--
i.
next prev parent reply other threads:[~2026-08-26 18:30 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-24 16:23 [PATCH v3 00/10] Crescent Island PMT support Michael J. Ruhl
2026-08-24 16:23 ` [PATCH v3 01/10] platform/x86/intel/pmt: complete pcidev to device update Michael J. Ruhl
2026-08-24 18:56 ` Rodrigo Vivi
2026-08-25 9:40 ` Ilpo Järvinen
2026-08-25 9:25 ` Ilpo Järvinen
2026-08-24 16:23 ` [PATCH v3 02/10] platform/x86/intel/pmt: Add register access callbacks Michael J. Ruhl
2026-08-24 16:36 ` sashiko-bot
2026-08-24 18:39 ` Ruhl, Michael J
2026-08-25 9:34 ` Ilpo Järvinen
2026-08-26 16:13 ` Ruhl, Michael J
2026-08-26 18:30 ` Ilpo Järvinen [this message]
2026-08-27 17:05 ` Ruhl, Michael J
2026-08-24 16:23 ` [PATCH v3 03/10] drm/xe/vsec: Protect against missing config Michael J. Ruhl
2026-08-24 16:36 ` sashiko-bot
2026-08-24 18:43 ` Ruhl, Michael J
2026-08-24 19:01 ` Rodrigo Vivi
2026-08-24 16:23 ` [PATCH v3 04/10] drm/xe/vsec: Use correct pm state get Michael J. Ruhl
2026-08-24 19:04 ` Rodrigo Vivi
2026-08-24 16:23 ` [PATCH v3 05/10] drm/xe/vsec: Support possible hotplug exit Michael J. Ruhl
2026-08-24 19:07 ` Rodrigo Vivi
2026-08-24 16:23 ` [PATCH v3 06/10] drm/xe/vsec: Support Crescent Island PMT Michael J. Ruhl
2026-08-24 16:33 ` sashiko-bot
2026-08-24 19:10 ` Rodrigo Vivi
2026-08-25 10:19 ` Ilpo Järvinen
2026-08-24 16:23 ` [PATCH v3 07/10] drm/xe/vsec: Crescent Island PMT decode Michael J. Ruhl
2026-08-24 16:35 ` sashiko-bot
2026-08-25 10:24 ` Ilpo Järvinen
2026-08-24 16:23 ` [PATCH v3 08/10] drm/xe/vsec: Crescent Island PMT callbacks Michael J. Ruhl
2026-08-24 16:37 ` sashiko-bot
2026-08-24 18:47 ` Ruhl, Michael J
2026-08-24 16:23 ` [PATCH v3 09/10] drm/xe/vsec: Support late bind fw information Michael J. Ruhl
2026-08-24 16:36 ` sashiko-bot
2026-08-24 19:15 ` Rodrigo Vivi
2026-08-26 13:45 ` Ruhl, Michael J
2026-08-25 10:01 ` Ilpo Järvinen
2026-08-24 16:23 ` [PATCH v3 10/10] drm/xe/vsec: Update PMT internal access for CRI Michael J. Ruhl
2026-08-24 19:18 ` Rodrigo Vivi
2026-08-25 10:16 ` Ilpo Järvinen
2026-08-25 6:44 ` ✓ CI.KUnit: success for Crescent Island PMT support (rev5) Patchwork
2026-08-25 7:29 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-25 10:56 ` ✗ Xe.CI.FULL: failure " Patchwork
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=e76729c8-6e54-6c97-756a-d14bef40ae0a@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=airlied@gmail.com \
--cc=anoop.c.vijay@intel.com \
--cc=badal.nilawar@intel.com \
--cc=david.e.box@linux.intel.com \
--cc=hansg@kernel.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=james.ausmus@intel.com \
--cc=karthik.poosa@intel.com \
--cc=matthew.brost@intel.com \
--cc=matthew.d.roper@intel.com \
--cc=michael.j.ruhl@intel.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rodrigo.vivi@intel.com \
--cc=simona@ffwll.ch \
--cc=thomas.hellstrom@linux.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