Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Wajdeczko <michal.wajdeczko@intel.com>
To: Matt Roper <matthew.d.roper@intel.com>,
	Stuart Summers <stuart.summers@intel.com>,
	Jani Nikula <jani.nikula@linux.intel.com>
Cc: <intel-xe@lists.freedesktop.org>, <rodrigo.vivi@intel.com>,
	<matthew.brost@intel.com>, <umesh.nerlige.ramappa@intel.com>,
	<daniele.ceraolospurio@intel.com>, <shuicheng.lin@intel.com>
Subject: Re: [PATCH 04/10] drm/xe: Add a new debug focused configfs group
Date: Sun, 23 Aug 2026 23:22:21 +0200	[thread overview]
Message-ID: <face4f61-b67c-4dca-ae02-a32cef75dbc9@intel.com> (raw)
In-Reply-To: <20260821220853.GG681121@mdroper-desk1.amr.corp.intel.com>



On 8/22/2026 12:08 AM, Matt Roper wrote:
> On Thu, Aug 20, 2026 at 09:06:43PM +0000, Stuart Summers wrote:
>> Add the skeleton code for a new debug specific configfs group.
>> Just add the structure for now. Actual debug content will be
>> added in a subsequent patch.
>>
>> Signed-off-by: Stuart Summers <stuart.summers@intel.com>
>> Assisted-by: Copilot:claude-sonnet-4.6,claude-opus-4.7
>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> ---
>>  drivers/gpu/drm/xe/Makefile            |  2 ++
>>  drivers/gpu/drm/xe/xe_configfs.c       |  5 +++++
>>  drivers/gpu/drm/xe/xe_configfs_debug.c | 14 ++++++++++++++
>>  drivers/gpu/drm/xe/xe_configfs_debug.h | 13 +++++++++++++
>>  drivers/gpu/drm/xe/xe_configfs_types.h |  3 +++
>>  5 files changed, 37 insertions(+)
>>  create mode 100644 drivers/gpu/drm/xe/xe_configfs_debug.c
>>  create mode 100644 drivers/gpu/drm/xe/xe_configfs_debug.h
>>
>> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
>> index 92134709d998..0b71f311c9c4 100644
>> --- a/drivers/gpu/drm/xe/Makefile
>> +++ b/drivers/gpu/drm/xe/Makefile
>> @@ -163,6 +163,8 @@ xe-$(CONFIG_HWMON) += xe_hwmon.o
>>  
>>  xe-$(CONFIG_PERF_EVENTS) += xe_pmu.o
>>  xe-$(CONFIG_CONFIGFS_FS) += xe_configfs.o
> 
> Not really an issue with your patch here, but since we're messing with
> kconfig stuff it reminds me --- I'm not sure our pre-existing configfs
> kconfig handling is entirely correct (and I think I've seen kernel test
> robot warnings about that too).  The concern is that our header file
> does a typical IS_ENABLED(CONFIG_CONFIGFS) type of check to decide
> between extern function declarations or noop stubs.  But if Xe is built
> into the bzImage, but configfs is configured as a .ko, then Xe can't
> reach the configfs functions.  I believe there's an IS_REACHABLE() that
> maybe we should be using instead, although I haven't got around to
> actually looking closer and trying it out myself.

I was already trying to use IS_REACHABLE [1] but Jani is against it [2]

[1] https://patchwork.freedesktop.org/patch/696103/?series=159395&rev=1
[2] https://lore.kernel.org/intel-xe/e22a535a6405412aaeb0f2251733840b72c93b56@intel.com/

> 
> Your actual changes in this patch look okay to me.
> 
> Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
> 
> 
> Matt
> 
>> +xe_debug_configfs_obj-$(CONFIG_DRM_XE_DEBUG) := xe_configfs_debug.o
>> +xe-$(CONFIG_CONFIGFS_FS) += $(xe_debug_configfs_obj-y)
>>  
>>  # graphics virtualization (SR-IOV) support
>>  xe-y += \
>> diff --git a/drivers/gpu/drm/xe/xe_configfs.c b/drivers/gpu/drm/xe/xe_configfs.c
>> index 029c9f682c8e..33aea1150c86 100644
>> --- a/drivers/gpu/drm/xe/xe_configfs.c
>> +++ b/drivers/gpu/drm/xe/xe_configfs.c
>> @@ -14,6 +14,7 @@
>>  
>>  #include "instructions/xe_mi_commands.h"
>>  #include "xe_configfs.h"
>> +#include "xe_configfs_debug.h"
>>  #include "xe_defaults.h"
>>  #include "xe_gt_types.h"
>>  #include "xe_module.h"
>> @@ -1242,6 +1243,10 @@ static struct config_group *xe_config_make_device_group(struct config_group *gro
>>  		config_group_init_type_name(&dev->sriov, "sriov", &xe_config_sriov_type);
>>  		configfs_add_default_group(&dev->sriov, &dev->group);
>>  	}
>> +#if IS_ENABLED(CONFIG_DRM_XE_DEBUG)
>> +	config_group_init_type_name(&dev->debug, "debug", &xe_configfs_debug_type);
>> +	configfs_add_default_group(&dev->debug, &dev->group);
>> +#endif
>>  
>>  	mutex_init(&dev->lock);
>>  
>> diff --git a/drivers/gpu/drm/xe/xe_configfs_debug.c b/drivers/gpu/drm/xe/xe_configfs_debug.c
>> new file mode 100644
>> index 000000000000..45617282cec5
>> --- /dev/null
>> +++ b/drivers/gpu/drm/xe/xe_configfs_debug.c
>> @@ -0,0 +1,14 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright © 2026 Intel Corporation
>> + */
>> +
>> +#include <linux/configfs.h>
>> +#include <linux/module.h>
>> +
>> +#include "xe_configfs_debug.h"
>> +#include "xe_configfs_types.h"
>> +
>> +const struct config_item_type xe_configfs_debug_type = {
>> +	.ct_owner	= THIS_MODULE,
>> +};
>> diff --git a/drivers/gpu/drm/xe/xe_configfs_debug.h b/drivers/gpu/drm/xe/xe_configfs_debug.h
>> new file mode 100644
>> index 000000000000..5f938450aed2
>> --- /dev/null
>> +++ b/drivers/gpu/drm/xe/xe_configfs_debug.h
>> @@ -0,0 +1,13 @@
>> +/* SPDX-License-Identifier: MIT */
>> +/*
>> + * Copyright © 2026 Intel Corporation
>> + */
>> +#ifndef _XE_CONFIGFS_DEBUG_H_
>> +#define _XE_CONFIGFS_DEBUG_H_
>> +
>> +#if IS_ENABLED(CONFIG_DRM_XE_DEBUG) && IS_ENABLED(CONFIG_CONFIGFS_FS)
>> +struct config_item_type;
>> +extern const struct config_item_type xe_configfs_debug_type;
>> +#endif
>> +
>> +#endif /* _XE_CONFIGFS_DEBUG_H_ */
>> diff --git a/drivers/gpu/drm/xe/xe_configfs_types.h b/drivers/gpu/drm/xe/xe_configfs_types.h
>> index 3be7d6160b4c..e22b9424f719 100644
>> --- a/drivers/gpu/drm/xe/xe_configfs_types.h
>> +++ b/drivers/gpu/drm/xe/xe_configfs_types.h
>> @@ -22,6 +22,9 @@ struct wa_bb {
>>  struct xe_config_group_device {
>>  	struct config_group group;
>>  	struct config_group sriov;
>> +#if IS_ENABLED(CONFIG_DRM_XE_DEBUG)
>> +	struct config_group debug;
>> +#endif
>>  
>>  	/*
>>  	 * Fields sorted by type (largest first) then name: struct arrays,
>> -- 
>> 2.43.0
>>
> 


  reply	other threads:[~2026-08-23 21:22 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-20 21:06 [PATCH 00/10] Add new debug infrastructure for configfs Stuart Summers
2026-08-20 21:06 ` [PATCH 01/10] drm/xe: Guard configfs attribute reads in getters Stuart Summers
2026-08-20 21:24   ` sashiko-bot
2026-08-21 20:42   ` Matt Roper
2026-08-24 14:45     ` Summers, Stuart
2026-08-20 21:06 ` [PATCH 02/10] drm/xe: Sort xe_config_device fields Stuart Summers
2026-08-20 21:24   ` sashiko-bot
2026-08-21 21:06   ` Matt Roper
2026-08-24 16:52     ` Summers, Stuart
2026-08-20 21:06 ` [PATCH 03/10] drm/xe: Split out configfs data structures Stuart Summers
2026-08-21 21:16   ` Matt Roper
2026-08-24 20:18     ` Summers, Stuart
2026-08-20 21:06 ` [PATCH 04/10] drm/xe: Add a new debug focused configfs group Stuart Summers
2026-08-21 22:08   ` Matt Roper
2026-08-23 21:22     ` Michal Wajdeczko [this message]
2026-08-24 20:18       ` Summers, Stuart
2026-08-20 21:06 ` [PATCH 05/10] drm/xe: Move debug configfs entries to xe_configfs_debug.c Stuart Summers
2026-08-20 21:28   ` sashiko-bot
2026-08-21 22:18   ` Matt Roper
2026-08-24 20:28     ` Summers, Stuart
2026-08-26 21:20       ` Rodrigo Vivi
2026-08-20 21:06 ` [PATCH 06/10] drm/xe/guc: Add configfs support for guc_log_level Stuart Summers
2026-08-20 21:06 ` [PATCH 07/10] drm/xe/guc: Add support for NPK as a GuC log target Stuart Summers
2026-08-20 21:06 ` [PATCH 08/10] drm/xe: Add infrastructure for debug configfs parameters Stuart Summers
2026-08-20 21:06 ` [PATCH 09/10] drm/xe: Migrate existing debug configfs entries to params infrastructure Stuart Summers
2026-08-20 21:06 ` [PATCH 10/10] drm/xe: Taint kernel when debug configfs parameters are set Stuart Summers
2026-08-20 21:24   ` sashiko-bot
2026-08-20 22:12 ` ✗ CI.checkpatch: warning for Add new debug infrastructure for configfs (rev7) Patchwork
2026-08-20 22:13 ` ✓ CI.KUnit: success " Patchwork
2026-08-20 22:52 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-21  1:28 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-08-21 19:27 ` [PATCH 00/10] Add new debug infrastructure for configfs Summers, Stuart
  -- strict thread matches above, loose matches on Subject: below --
2026-08-20 20:07 Stuart Summers
2026-08-20 20:07 ` [PATCH 04/10] drm/xe: Add a new debug focused configfs group Stuart Summers
2026-08-07 19:45 [PATCH 00/10] Add new debug infrastructure for configfs Stuart Summers
2026-08-07 19:45 ` [PATCH 04/10] drm/xe: Add a new debug focused configfs group Stuart Summers
2026-08-05 23:20 [PATCH 00/10] Add new debug infrastructure for configfs Stuart Summers
2026-08-05 23:20 ` [PATCH 04/10] drm/xe: Add a new debug focused configfs group Stuart Summers

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=face4f61-b67c-4dca-ae02-a32cef75dbc9@intel.com \
    --to=michal.wajdeczko@intel.com \
    --cc=daniele.ceraolospurio@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=matthew.brost@intel.com \
    --cc=matthew.d.roper@intel.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=shuicheng.lin@intel.com \
    --cc=stuart.summers@intel.com \
    --cc=umesh.nerlige.ramappa@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