[PATCH v4 07/11] drm/xe/configfs: Reintroduce struct xe_config_device
John Harrison
john.c.harrison at intel.com
Tue Jul 29 00:06:08 UTC 2025
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 at intel.com>
> Cc: Lucas De Marchi <lucas.demarchi at intel.com>
Reviewed-by: John Harrison <John.C.Harrison at 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;
More information about the Intel-xe
mailing list