All of lore.kernel.org
 help / color / mirror / Atom feed
From: Riana Tauro <riana.tauro@intel.com>
To: Lucas De Marchi <lucas.demarchi@intel.com>,
	<intel-xe@lists.freedesktop.org>
Cc: <prashanth.kumar@intel.com>, <dnyaneshwar.bhadane@intel.com>,
	Matt Roper <matthew.d.roper@intel.com>,
	Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>,
	John Harrison <John.C.Harrison@Intel.com>
Subject: Re: [PATCH v3 07/13] drm/xe/configfs: Allow to enable PSMI
Date: Wed, 13 Aug 2025 12:28:07 +0530	[thread overview]
Message-ID: <531d08f5-7a3f-4f47-9c60-e55eed1088bc@intel.com> (raw)
In-Reply-To: <20250808-psmi-v3-7-a111e9f1e4b7@intel.com>



On 8/8/2025 10:59 PM, Lucas De Marchi wrote:
> Now that additional WAs are in place and it's possible to allocate
> buffers through debugfs, add the configfs attribute to turn PSMI on.
> 
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: John Harrison <John.C.Harrison@Intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_configfs.c | 66 +++++++++++++++++++++++++++++++++++++---
>   drivers/gpu/drm/xe/xe_configfs.h |  2 +-
>   2 files changed, 63 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_configfs.c b/drivers/gpu/drm/xe/xe_configfs.c
> index 17b1d6ae1ff6a..8cf6b1375b7d4 100644
> --- a/drivers/gpu/drm/xe/xe_configfs.c
> +++ b/drivers/gpu/drm/xe/xe_configfs.c
> @@ -77,6 +77,16 @@
>    * available for migrations, but it's disabled. This is intended for debugging
>    * purposes only.
>    *
> + * PSMI
> + * ----
> + *
> + * Enable extra debugging capabilities to trace engine execution. Only useful
> + * during early platform enabling and requiring additional hardware connected.

%s/requiring/requires

> + * Once it's enabled, additionals WAs are added and runtime configuration is
> + * done via debugfs. Example to enable it::
> + *
> + *	# echo 1 > /sys/kernel/config/xe/0000:03:00.0/enable_psmi
> + *
>    * Remove devices
>    * ==============
>    *
> @@ -89,8 +99,9 @@ struct xe_config_group_device {
>   	struct config_group group;
>   
>   	struct xe_config_device {
> -		bool survivability_mode;
>   		u64 engines_allowed;
> +		bool survivability_mode;
> +		bool enable_psmi;
>   	} config;
>   
>   	/* protects attributes */
> @@ -98,8 +109,9 @@ struct xe_config_group_device {
>   };
>   
>   static const struct xe_config_device device_defaults = {
> -	.survivability_mode = false,
>   	.engines_allowed = U64_MAX,
> +	.survivability_mode = false,
> +	.enable_psmi = false,
>   };
>   
>   static void set_device_defaults(struct xe_config_device *config)
> @@ -243,12 +255,38 @@ static ssize_t engines_allowed_store(struct config_item *item, const char *page,
>   	return len;
>   }
>   
> -CONFIGFS_ATTR(, survivability_mode);
> +static ssize_t enable_psmi_show(struct config_item *item, char *page)
> +{
> +	struct xe_config_group_device *dev = to_xe_config_group_device(item);

To have consistency with other functions, we can use

struct xe_config_device *dev = to_xe_config_device(item);

> +
> +	return sprintf(page, "%d\n", dev->config.enable_psmi);
> +}
> +
> +static ssize_t enable_psmi_store(struct config_item *item, const char *page, size_t len)
> +{
> +	struct xe_config_group_device *dev = to_xe_config_group_device(item);
> +	bool val;
> +	int ret;
> +
> +	ret = kstrtobool(page, &val);
> +	if (ret)
> +		return ret;
> +
> +	mutex_lock(&dev->lock);
> +	dev->config.enable_psmi = val;
> +	mutex_unlock(&dev->lock);
> +
> +	return len;
> +}
> +
>   CONFIGFS_ATTR(, engines_allowed);
> +CONFIGFS_ATTR(, survivability_mode);
> +CONFIGFS_ATTR(, enable_psmi);

alphabetical?

Thanks
Riana

>   
>   static struct configfs_attribute *xe_config_device_attrs[] = {
> -	&attr_survivability_mode,
>   	&attr_engines_allowed,
> +	&attr_survivability_mode,
> +	&attr_enable_psmi,
>   	NULL,
>   };
>   
> @@ -443,6 +481,26 @@ u64 xe_configfs_get_engines_allowed(struct pci_dev *pdev)
>   	return engines_allowed;
>   }
>   
> +/**
> + * xe_configfs_get_psmi_enabled - get configfs enable_psmi setting
> + * @pdev: pci device
> + *
> + * Return: enable_psmi setting in configfs
> + */
> +bool xe_configfs_get_psmi_enabled(struct pci_dev *pdev)
> +{
> +	struct xe_config_group_device *dev = find_xe_config_group_device(pdev);
> +	bool ret;
> +
> +	if (!dev)
> +		return false;
> +
> +	ret = dev->config.enable_psmi;
> +	config_item_put(&dev->group.cg_item);
> +
> +	return ret;
> +}
> +
>   int __init xe_configfs_init(void)
>   {
>   	int ret;
> diff --git a/drivers/gpu/drm/xe/xe_configfs.h b/drivers/gpu/drm/xe/xe_configfs.h
> index c14588b86e833..603dd7796c8b2 100644
> --- a/drivers/gpu/drm/xe/xe_configfs.h
> +++ b/drivers/gpu/drm/xe/xe_configfs.h
> @@ -16,7 +16,7 @@ void xe_configfs_exit(void);
>   bool xe_configfs_get_survivability_mode(struct pci_dev *pdev);
>   void xe_configfs_clear_survivability_mode(struct pci_dev *pdev);
>   u64 xe_configfs_get_engines_allowed(struct pci_dev *pdev);
> -static inline bool xe_configfs_get_psmi_enabled(struct pci_dev *pdev) { return false; }
> +bool xe_configfs_get_psmi_enabled(struct pci_dev *pdev);
>   #else
>   static inline int xe_configfs_init(void) { return 0; }
>   static inline void xe_configfs_exit(void) { }
> 


  reply	other threads:[~2025-08-13  6:58 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-08 17:29 [PATCH v3 00/13] drm/xe: Add psmi support Lucas De Marchi
2025-08-08 17:29 ` [PATCH v3 01/13] drm/xe/psmi: Add GuC flag to enable PSMI Lucas De Marchi
2025-08-13  0:38   ` Belgaumkar, Vinay
2025-08-15 21:34     ` Lucas De Marchi
2025-08-08 17:29 ` [PATCH v3 02/13] drm/xe/psmi: Add debugfs interface for PSMI Lucas De Marchi
2025-08-13  1:41   ` Belgaumkar, Vinay
2025-08-13 10:42   ` Matthew Auld
2025-08-15 21:35     ` Lucas De Marchi
2025-08-08 17:29 ` [PATCH v3 03/13] drm/xe/rtp: Add match for psmi Lucas De Marchi
2025-08-14 21:28   ` Belgaumkar, Vinay
2025-08-08 17:29 ` [PATCH v3 04/13] drm/xe/psmi: Add Wa_14020001231 Lucas De Marchi
2025-08-13 17:44   ` Riana Tauro
2025-08-14 11:13     ` Lucas De Marchi
2025-08-08 17:29 ` [PATCH v3 05/13] drm/xe/psmi: Add Wa_16023683509 Lucas De Marchi
2025-08-13 11:15   ` Bhadane, Dnyaneshwar
2025-08-08 17:29 ` [PATCH v3 06/13] drm/xe/configfs: Simplify kernel doc Lucas De Marchi
2025-08-13  6:23   ` Riana Tauro
2025-08-08 17:29 ` [PATCH v3 07/13] drm/xe/configfs: Allow to enable PSMI Lucas De Marchi
2025-08-13  6:58   ` Riana Tauro [this message]
2025-08-13 11:23     ` Lucas De Marchi
2025-08-13 17:38       ` Riana Tauro
2025-08-08 17:29 ` [PATCH v3 08/13] drm/xe/configfs: Use guard() for dev->lock Lucas De Marchi
2025-08-12 10:23   ` Bhadane, Dnyaneshwar
2025-08-08 17:29 ` [PATCH v3 09/13] drm/xe/configfs: Block runtime attribute changes Lucas De Marchi
2025-08-13 11:03   ` Riana Tauro
2025-08-08 17:29 ` [PATCH v3 10/13] drm/xe/configfs: Use tree-like output in documentation Lucas De Marchi
2025-08-14 21:31   ` Bhadane, Dnyaneshwar
2025-08-08 17:29 ` [PATCH v3 11/13] drm/xe/configfs: Improve documentation steps Lucas De Marchi
2025-08-13 11:08   ` Riana Tauro
2025-08-08 17:29 ` [PATCH v3 12/13] drm/xe/configfs: Minor fixes to documentation Lucas De Marchi
2025-08-12 10:24   ` Bhadane, Dnyaneshwar
2025-08-08 17:29 ` [PATCH v3 13/13] drm/xe/configfs: Dump custom settings when binding Lucas De Marchi
2025-08-15  0:48   ` Belgaumkar, Vinay

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=531d08f5-7a3f-4f47-9c60-e55eed1088bc@intel.com \
    --to=riana.tauro@intel.com \
    --cc=John.C.Harrison@Intel.com \
    --cc=daniele.ceraolospurio@intel.com \
    --cc=dnyaneshwar.bhadane@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=lucas.demarchi@intel.com \
    --cc=matthew.d.roper@intel.com \
    --cc=prashanth.kumar@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.