[PATCH v6 1/2] drm/xe: add a new debugfs file - mmio
Matt Roper
matthew.d.roper at intel.com
Wed Feb 14 21:43:37 UTC 2024
On Wed, Jan 31, 2024 at 09:59:52PM +0200, Koby Elbaz wrote:
> Now that the former mmio handlers are fully removed, this
> debugfs file will be used for mmio access (read/write)
> through the debugfs ioctl file operation.
>
> Signed-off-by: Koby Elbaz <kelbaz at habana.ai>
> ---
> drivers/gpu/drm/xe/xe_debugfs.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_debugfs.c b/drivers/gpu/drm/xe/xe_debugfs.c
> index 01db5b27bec5..21b2257aa3a8 100644
> --- a/drivers/gpu/drm/xe/xe_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_debugfs.c
> @@ -98,12 +98,22 @@ static int forcewake_release(struct inode *inode, struct file *file)
> return 0;
> }
>
> +static long xe_debugfs_mmio_ioctl(struct file *f, unsigned int cmd, unsigned long arg)
> +{
> + return 0;
> +}
> +
> static const struct file_operations forcewake_all_fops = {
> .owner = THIS_MODULE,
> .open = forcewake_open,
> .release = forcewake_release,
> };
>
> +static const struct file_operations mmio_fops = {
> + .owner = THIS_MODULE,
> + .unlocked_ioctl = xe_debugfs_mmio_ioctl,
> +};
> +
> void xe_debugfs_register(struct xe_device *xe)
> {
> struct ttm_device *bdev = &xe->ttm;
> @@ -142,6 +152,8 @@ void xe_debugfs_register(struct xe_device *xe)
> for_each_gt(gt, xe, id)
> xe_gt_debugfs_register(gt);
>
> + debugfs_create_file("mmio", 0644, root, xe, &mmio_fops);
Do we actually want/need this debugfs at the device level? Wouldn't a
per-tile debugfs be more useful since the offsets that we provide to
MMIO operations are relative to a specific tile?
Matt
> +
> #ifdef CONFIG_FAULT_INJECTION
> fault_create_debugfs_attr("fail_gt_reset", root, >_reset_failure);
> #endif
> --
> 2.34.1
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-xe
mailing list