Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: John Harrison <john.c.harrison@intel.com>
To: Michal Wajdeczko <michal.wajdeczko@intel.com>,
	<intel-xe@lists.freedesktop.org>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Subject: Re: [PATCH v4 07/11] drm/xe/configfs: Reintroduce struct xe_config_device
Date: Mon, 28 Jul 2025 17:06:08 -0700	[thread overview]
Message-ID: <c0281f35-d672-41ea-9bef-a0bb588f060f@intel.com> (raw)
In-Reply-To: <20250727172009.587-8-michal.wajdeczko@intel.com>

On 7/27/2025 10:20 AM, Michal Wajdeczko wrote:
> This time it will hold just pure configuration parameters, without
> any configfs related stuff. This will help us define defaults data
> without wasting space for unneeded data.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>

> ---
>   drivers/gpu/drm/xe/xe_configfs.c | 27 +++++++++++++++++----------
>   1 file changed, 17 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_configfs.c b/drivers/gpu/drm/xe/xe_configfs.c
> index f5a780b8bb80..a5f13dd779c7 100644
> --- a/drivers/gpu/drm/xe/xe_configfs.c
> +++ b/drivers/gpu/drm/xe/xe_configfs.c
> @@ -92,8 +92,10 @@
>   struct xe_config_group_device {
>   	struct config_group group;
>   
> -	bool survivability_mode;
> -	u64 engines_allowed;
> +	struct xe_config_device {
> +		bool survivability_mode;
> +		u64 engines_allowed;
> +	} config;
>   };
>   
>   struct engine_info {
> @@ -119,16 +121,21 @@ static struct xe_config_group_device *to_xe_config_group_device(struct config_it
>   	return container_of(to_config_group(item), struct xe_config_group_device, group);
>   }
>   
> +static struct xe_config_device *to_xe_config_device(struct config_item *item)
> +{
> +	return &to_xe_config_group_device(item)->config;
> +}
> +
>   static ssize_t survivability_mode_show(struct config_item *item, char *page)
>   {
> -	struct xe_config_group_device *dev = to_xe_config_group_device(item);
> +	struct xe_config_device *dev = to_xe_config_device(item);
>   
>   	return sprintf(page, "%d\n", dev->survivability_mode);
>   }
>   
>   static ssize_t survivability_mode_store(struct config_item *item, const char *page, size_t len)
>   {
> -	struct xe_config_group_device *dev = to_xe_config_group_device(item);
> +	struct xe_config_device *dev = to_xe_config_device(item);
>   	bool survivability_mode;
>   	int ret;
>   
> @@ -144,7 +151,7 @@ static ssize_t survivability_mode_store(struct config_item *item, const char *pa
>   
>   static ssize_t engines_allowed_show(struct config_item *item, char *page)
>   {
> -	struct xe_config_group_device *dev = to_xe_config_group_device(item);
> +	struct xe_config_device *dev = to_xe_config_device(item);
>   	char *p = page;
>   
>   	for (size_t i = 0; i < ARRAY_SIZE(engine_info); i++) {
> @@ -199,7 +206,7 @@ static bool lookup_engine_mask(const char *pattern, u64 *mask)
>   static ssize_t engines_allowed_store(struct config_item *item, const char *page,
>   				     size_t len)
>   {
> -	struct xe_config_group_device *dev = to_xe_config_group_device(item);
> +	struct xe_config_device *dev = to_xe_config_device(item);
>   	size_t patternlen, p;
>   	u64 mask, val = 0;
>   
> @@ -280,7 +287,7 @@ static struct config_group *xe_config_make_device_group(struct config_group *gro
>   		return ERR_PTR(-ENOMEM);
>   
>   	/* Default values */
> -	dev->engines_allowed = U64_MAX;
> +	dev->config.engines_allowed = U64_MAX;
>   
>   	config_group_init_type_name(&dev->group, name, &xe_config_device_type);
>   
> @@ -334,7 +341,7 @@ bool xe_configfs_get_survivability_mode(struct pci_dev *pdev)
>   	if (!dev)
>   		return false;
>   
> -	mode = dev->survivability_mode;
> +	mode = dev->config.survivability_mode;
>   	config_group_put(&dev->group);
>   
>   	return mode;
> @@ -355,7 +362,7 @@ void xe_configfs_clear_survivability_mode(struct pci_dev *pdev)
>   		return;
>   
>   	scoped_guard(mutex, &xe_configfs.su_mutex)
> -		dev->survivability_mode = 0;
> +		dev->config.survivability_mode = 0;
>   
>   	config_group_put(&dev->group);
>   }
> @@ -377,7 +384,7 @@ u64 xe_configfs_get_engines_allowed(struct pci_dev *pdev)
>   	if (!dev)
>   		return U64_MAX;
>   
> -	engines_allowed = dev->engines_allowed;
> +	engines_allowed = dev->config.engines_allowed;
>   	config_group_put(&dev->group);
>   
>   	return engines_allowed;


  reply	other threads:[~2025-07-29  0:06 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-27 17:19 [PATCH v4 00/11] Updates for drm/xe/configfs Michal Wajdeczko
2025-07-27 17:19 ` [PATCH v4 01/11] drm/xe: Simplify module initialization code Michal Wajdeczko
2025-07-28 19:35   ` Rodrigo Vivi
2025-07-28 19:47     ` Michal Wajdeczko
2025-07-28 20:00       ` Rodrigo Vivi
2025-07-28 23:52   ` John Harrison
2025-07-29  8:39     ` Michal Wajdeczko
2025-07-27 17:19 ` [PATCH v4 02/11] drm/xe: Print module init abort code Michal Wajdeczko
2025-07-28 19:39   ` Rodrigo Vivi
2025-07-28 19:51     ` Michal Wajdeczko
2025-07-28 19:59       ` Rodrigo Vivi
2025-07-27 17:20 ` [PATCH v4 03/11] drm/xe/configfs: Destroy xe_configfs.su_mutex on exit/error Michal Wajdeczko
2025-07-28 19:42   ` Rodrigo Vivi
2025-07-27 17:20 ` [PATCH v4 04/11] drm/xe/configfs: Use mutex from xe_configfs subsystem Michal Wajdeczko
2025-07-28 19:50   ` Rodrigo Vivi
2025-07-28 19:55     ` Michal Wajdeczko
2025-07-27 17:20 ` [PATCH v4 05/11] drm/xe/configfs: Rename struct xe_config_device Michal Wajdeczko
2025-07-28 19:54   ` Rodrigo Vivi
2025-07-27 17:20 ` [PATCH v4 06/11] drm/xe/configfs: Rename configfs_find_group() helper Michal Wajdeczko
2025-07-28 19:57   ` Rodrigo Vivi
2025-07-27 17:20 ` [PATCH v4 07/11] drm/xe/configfs: Reintroduce struct xe_config_device Michal Wajdeczko
2025-07-29  0:06   ` John Harrison [this message]
2025-07-27 17:20 ` [PATCH v4 08/11] drm/xe/configfs: Keep default device config settings together Michal Wajdeczko
2025-07-29  0:07   ` John Harrison
2025-07-27 17:20 ` [PATCH v4 09/11] drm/xe/configfs: Check if device was preconfigured Michal Wajdeczko
2025-07-29  0:11   ` John Harrison
2025-07-27 17:20 ` [PATCH v4 10/11] drm/xe/configfs: Only allow configurations for supported devices Michal Wajdeczko
2025-07-27 17:20 ` [PATCH v4 11/11] drm/xe/configfs: Allow adding configurations for future VFs Michal Wajdeczko
2025-07-27 17:28 ` ✓ CI.KUnit: success for Updates for drm/xe/configfs (rev5) Patchwork
2025-07-27 18:07 ` ✓ Xe.CI.BAT: " Patchwork
2025-07-27 19:09 ` ✓ Xe.CI.Full: " 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=c0281f35-d672-41ea-9bef-a0bb588f060f@intel.com \
    --to=john.c.harrison@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=lucas.demarchi@intel.com \
    --cc=michal.wajdeczko@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