[PATCH 3/3] drm/xe: Add kernel-doc for CCS mode selection

Summers, Stuart stuart.summers at intel.com
Tue Jan 16 21:48:05 UTC 2024


On Sat, 2023-12-16 at 13:41 -0800, Niranjana Vishwanathapura wrote:
> Move all CCS mode documentation including that of sysfs
> interfaces to a single kernel-doc section.
> 
> Signed-off-by: Niranjana Vishwanathapura
> <niranjana.vishwanathapura at intel.com>

Reviewed-by: Stuart Summers <stuart.summers at intel.com>

> ---
>  Documentation/gpu/xe/index.rst       |  1 +
>  Documentation/gpu/xe/xe_ccs_mode.rst | 14 ++++++++++++++
>  drivers/gpu/drm/xe/xe_gt_ccs_mode.c  | 28 ++++++++++++++++++++++----
> --
>  drivers/gpu/drm/xe/xe_gt_types.h     |  7 +------
>  4 files changed, 38 insertions(+), 12 deletions(-)
>  create mode 100644 Documentation/gpu/xe/xe_ccs_mode.rst
> 
> diff --git a/Documentation/gpu/xe/index.rst
> b/Documentation/gpu/xe/index.rst
> index c224ecaee81e1..1db8d20942b4e 100644
> --- a/Documentation/gpu/xe/index.rst
> +++ b/Documentation/gpu/xe/index.rst
> @@ -14,6 +14,7 @@ DG2, etc is provided to prototype the driver.
>     xe_mm
>     xe_map
>     xe_migrate
> +   xe_ccs_mode
>     xe_cs
>     xe_pm
>     xe_pcode
> diff --git a/Documentation/gpu/xe/xe_ccs_mode.rst
> b/Documentation/gpu/xe/xe_ccs_mode.rst
> new file mode 100644
> index 0000000000000..9ff07706f9739
> --- /dev/null
> +++ b/Documentation/gpu/xe/xe_ccs_mode.rst
> @@ -0,0 +1,14 @@
> +.. SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +
> +=========
> +CCS mode
> +=========
> +
> +.. kernel-doc:: drivers/gpu/drm/xe/xe_gt_ccs_mode.c
> +   :doc: CCS mode
> +
> +Internal API
> +============
> +
> +.. kernel-doc:: drivers/gpu/drm/xe/xe_gt_ccs_mode.c
> +   :internal:
> diff --git a/drivers/gpu/drm/xe/xe_gt_ccs_mode.c
> b/drivers/gpu/drm/xe/xe_gt_ccs_mode.c
> index 173b119a21c00..d338b0859728a 100644
> --- a/drivers/gpu/drm/xe/xe_gt_ccs_mode.c
> +++ b/drivers/gpu/drm/xe/xe_gt_ccs_mode.c
> @@ -12,6 +12,27 @@
>  #include "xe_gt_sysfs.h"
>  #include "xe_mmio.h"
>  
> +/**
> + * DOC: CCS mode
> + *
> + * CCS mode setting allows fixed mapping of available compute slices
> to
> + * compute engines. By default only the first available compute
> engine is
> + * enabled and all available compute slices are allocated to it.
> + *
> + * Below per-tile sysfs interfaces help user to change the CCS mode
> setting.
> + *
> + * 'num_cslices' - This read-only interface returns the number of
> compute
> + * slices available.
> + *
> + * 'ccs_mode' - Allows user to set the number of compute hardware
> engines
> + * to be enabled and to which allocate the available compute slices.
> This
> + * user configuration change triggers a gt reset and it is expected
> that
> + * there are no open drm clients while doing so. The user
> configuration
> + * must allow equal distribution of available compute slices to
> enabled
> + * compute hardware engines. Reading it returns the number of
> compute
> + * hardware engines currently enabled.
> + */
> +
>  #define
> CCS_MODE_CSLICE_WIDTH          ilog2(CCS_MODE_CSLICE_ASSIGNMENT + 1)
>  #define CCS_MODE_CSLICE(cslice, ccs)   \
>         ((ccs) << ((cslice) * CCS_MODE_CSLICE_WIDTH))
> @@ -174,12 +195,7 @@ static void xe_gt_ccs_mode_sysfs_fini(struct
> drm_device *drm, void *arg)
>   * xe_gt_ccs_mode_sysfs_init - Initialize CCS mode sysfs interfaces
>   * @gt: GT structure
>   *
> - * Through a per-gt 'ccs_mode' sysfs interface, the user can enable
> a fixed
> - * number of compute hardware engines to which the available compute
> slices
> - * are to be allocated. This user configuration change triggers a gt
> reset
> - * and it is expected that there are no open drm clients while doing
> so.
> - * The number of available compute slices is exposed to user through
> a per-gt
> - * 'num_cslices' sysfs interface.
> + * Create per-tile CCS mode sysfs interfaces.
>   */
>  void xe_gt_ccs_mode_sysfs_init(struct xe_gt *gt)
>  {
> diff --git a/drivers/gpu/drm/xe/xe_gt_types.h
> b/drivers/gpu/drm/xe/xe_gt_types.h
> index f746846604759..9cee17506f8bc 100644
> --- a/drivers/gpu/drm/xe/xe_gt_types.h
> +++ b/drivers/gpu/drm/xe/xe_gt_types.h
> @@ -185,12 +185,7 @@ struct xe_gt {
>                 spinlock_t lock;
>         } tlb_invalidation;
>  
> -       /**
> -        * @ccs_mode: Number of compute engines enabled.
> -        * Allows fixed mapping of available compute slices to
> compute engines.
> -        * By default only the first available compute engine is
> enabled and all
> -        * available compute slices are allocated to it.
> -        */
> +       /** @ccs_mode: Number of compute engines enabled */
>         u32 ccs_mode;
>  
>         /** @usm: unified shared memory state */



More information about the Intel-xe mailing list