lkml.org 
[lkml]   [2023]   [Feb]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH drm-next v2 16/16] drm/nouveau: debugfs: implement DRM GPU VA debugfs
    Date
    Provide the driver indirection iterating over all DRM GPU VA spaces to
    enable the common 'gpuvas' debugfs file for dumping DRM GPU VA spaces.

    Signed-off-by: Danilo Krummrich <dakr@redhat.com>
    ---
    drivers/gpu/drm/nouveau/nouveau_debugfs.c | 24 +++++++++++++++++++++++
    1 file changed, 24 insertions(+)

    diff --git a/drivers/gpu/drm/nouveau/nouveau_debugfs.c b/drivers/gpu/drm/nouveau/nouveau_debugfs.c
    index 2a36d1ca8fda..7f6ccc5d1d86 100644
    --- a/drivers/gpu/drm/nouveau/nouveau_debugfs.c
    +++ b/drivers/gpu/drm/nouveau/nouveau_debugfs.c
    @@ -202,6 +202,29 @@ nouveau_debugfs_pstate_open(struct inode *inode, struct file *file)
    return single_open(file, nouveau_debugfs_pstate_get, inode->i_private);
    }

    +static int
    +nouveau_debugfs_gpuva(struct seq_file *m, void *data)
    +{
    + struct drm_info_node *node = (struct drm_info_node *) m->private;
    + struct nouveau_drm *drm = nouveau_drm(node->minor->dev);
    + struct nouveau_cli *cli;
    +
    + mutex_lock(&drm->clients_lock);
    + list_for_each_entry(cli, &drm->clients, head) {
    + struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(cli);
    +
    + if (!uvmm)
    + continue;
    +
    + nouveau_uvmm_lock(uvmm);
    + drm_debugfs_gpuva_info(m, &uvmm->umgr);
    + nouveau_uvmm_unlock(uvmm);
    + }
    + mutex_unlock(&drm->clients_lock);
    +
    + return 0;
    +}
    +
    static const struct file_operations nouveau_pstate_fops = {
    .owner = THIS_MODULE,
    .open = nouveau_debugfs_pstate_open,
    @@ -213,6 +236,7 @@ static const struct file_operations nouveau_pstate_fops = {
    static struct drm_info_list nouveau_debugfs_list[] = {
    { "vbios.rom", nouveau_debugfs_vbios_image, 0, NULL },
    { "strap_peek", nouveau_debugfs_strap_peek, 0, NULL },
    + DRM_DEBUGFS_GPUVA_INFO(nouveau_debugfs_gpuva, NULL),
    };
    #define NOUVEAU_DEBUGFS_ENTRIES ARRAY_SIZE(nouveau_debugfs_list)

    --
    2.39.1
    \
     
     \ /
      Last update: 2023-03-27 00:26    [W:6.192 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site