mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-16 14:30:03 +00:00
accel/ivpu: Update debugfs to latest changes in DRM
Use new drm debugfs helpers. This is needed after changes from
commit 78346ebf9f94 ("drm/debugfs: drop debugfs_init() for the render
and accel node v2").
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230907072610.433497-1-stanislaw.gruszka@linux.intel.com
This commit is contained in:
parent
9edb071c8b
commit
c78199a78f
@ -17,20 +17,26 @@
|
|||||||
#include "ivpu_jsm_msg.h"
|
#include "ivpu_jsm_msg.h"
|
||||||
#include "ivpu_pm.h"
|
#include "ivpu_pm.h"
|
||||||
|
|
||||||
|
static inline struct ivpu_device *seq_to_ivpu(struct seq_file *s)
|
||||||
|
{
|
||||||
|
struct drm_debugfs_entry *entry = s->private;
|
||||||
|
|
||||||
|
return to_ivpu_device(entry->dev);
|
||||||
|
}
|
||||||
|
|
||||||
static int bo_list_show(struct seq_file *s, void *v)
|
static int bo_list_show(struct seq_file *s, void *v)
|
||||||
{
|
{
|
||||||
struct drm_info_node *node = (struct drm_info_node *)s->private;
|
|
||||||
struct drm_printer p = drm_seq_file_printer(s);
|
struct drm_printer p = drm_seq_file_printer(s);
|
||||||
|
struct ivpu_device *vdev = seq_to_ivpu(s);
|
||||||
|
|
||||||
ivpu_bo_list(node->minor->dev, &p);
|
ivpu_bo_list(&vdev->drm, &p);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int fw_name_show(struct seq_file *s, void *v)
|
static int fw_name_show(struct seq_file *s, void *v)
|
||||||
{
|
{
|
||||||
struct drm_info_node *node = (struct drm_info_node *)s->private;
|
struct ivpu_device *vdev = seq_to_ivpu(s);
|
||||||
struct ivpu_device *vdev = to_ivpu_device(node->minor->dev);
|
|
||||||
|
|
||||||
seq_printf(s, "%s\n", vdev->fw->name);
|
seq_printf(s, "%s\n", vdev->fw->name);
|
||||||
return 0;
|
return 0;
|
||||||
@ -38,8 +44,7 @@ static int fw_name_show(struct seq_file *s, void *v)
|
|||||||
|
|
||||||
static int fw_trace_capability_show(struct seq_file *s, void *v)
|
static int fw_trace_capability_show(struct seq_file *s, void *v)
|
||||||
{
|
{
|
||||||
struct drm_info_node *node = (struct drm_info_node *)s->private;
|
struct ivpu_device *vdev = seq_to_ivpu(s);
|
||||||
struct ivpu_device *vdev = to_ivpu_device(node->minor->dev);
|
|
||||||
u64 trace_hw_component_mask;
|
u64 trace_hw_component_mask;
|
||||||
u32 trace_destination_mask;
|
u32 trace_destination_mask;
|
||||||
int ret;
|
int ret;
|
||||||
@ -57,8 +62,7 @@ static int fw_trace_capability_show(struct seq_file *s, void *v)
|
|||||||
|
|
||||||
static int fw_trace_config_show(struct seq_file *s, void *v)
|
static int fw_trace_config_show(struct seq_file *s, void *v)
|
||||||
{
|
{
|
||||||
struct drm_info_node *node = (struct drm_info_node *)s->private;
|
struct ivpu_device *vdev = seq_to_ivpu(s);
|
||||||
struct ivpu_device *vdev = to_ivpu_device(node->minor->dev);
|
|
||||||
/**
|
/**
|
||||||
* WA: VPU_JSM_MSG_TRACE_GET_CONFIG command is not working yet,
|
* WA: VPU_JSM_MSG_TRACE_GET_CONFIG command is not working yet,
|
||||||
* so we use values from vdev->fw instead of calling ivpu_jsm_trace_get_config()
|
* so we use values from vdev->fw instead of calling ivpu_jsm_trace_get_config()
|
||||||
@ -78,8 +82,7 @@ static int fw_trace_config_show(struct seq_file *s, void *v)
|
|||||||
|
|
||||||
static int last_bootmode_show(struct seq_file *s, void *v)
|
static int last_bootmode_show(struct seq_file *s, void *v)
|
||||||
{
|
{
|
||||||
struct drm_info_node *node = (struct drm_info_node *)s->private;
|
struct ivpu_device *vdev = seq_to_ivpu(s);
|
||||||
struct ivpu_device *vdev = to_ivpu_device(node->minor->dev);
|
|
||||||
|
|
||||||
seq_printf(s, "%s\n", (vdev->pm->is_warmboot) ? "warmboot" : "coldboot");
|
seq_printf(s, "%s\n", (vdev->pm->is_warmboot) ? "warmboot" : "coldboot");
|
||||||
|
|
||||||
@ -88,8 +91,7 @@ static int last_bootmode_show(struct seq_file *s, void *v)
|
|||||||
|
|
||||||
static int reset_counter_show(struct seq_file *s, void *v)
|
static int reset_counter_show(struct seq_file *s, void *v)
|
||||||
{
|
{
|
||||||
struct drm_info_node *node = (struct drm_info_node *)s->private;
|
struct ivpu_device *vdev = seq_to_ivpu(s);
|
||||||
struct ivpu_device *vdev = to_ivpu_device(node->minor->dev);
|
|
||||||
|
|
||||||
seq_printf(s, "%d\n", atomic_read(&vdev->pm->reset_counter));
|
seq_printf(s, "%d\n", atomic_read(&vdev->pm->reset_counter));
|
||||||
return 0;
|
return 0;
|
||||||
@ -97,14 +99,13 @@ static int reset_counter_show(struct seq_file *s, void *v)
|
|||||||
|
|
||||||
static int reset_pending_show(struct seq_file *s, void *v)
|
static int reset_pending_show(struct seq_file *s, void *v)
|
||||||
{
|
{
|
||||||
struct drm_info_node *node = (struct drm_info_node *)s->private;
|
struct ivpu_device *vdev = seq_to_ivpu(s);
|
||||||
struct ivpu_device *vdev = to_ivpu_device(node->minor->dev);
|
|
||||||
|
|
||||||
seq_printf(s, "%d\n", atomic_read(&vdev->pm->in_reset));
|
seq_printf(s, "%d\n", atomic_read(&vdev->pm->in_reset));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct drm_info_list vdev_debugfs_list[] = {
|
static const struct drm_debugfs_info vdev_debugfs_list[] = {
|
||||||
{"bo_list", bo_list_show, 0},
|
{"bo_list", bo_list_show, 0},
|
||||||
{"fw_name", fw_name_show, 0},
|
{"fw_name", fw_name_show, 0},
|
||||||
{"fw_trace_capability", fw_trace_capability_show, 0},
|
{"fw_trace_capability", fw_trace_capability_show, 0},
|
||||||
@ -270,25 +271,24 @@ static const struct file_operations ivpu_reset_engine_fops = {
|
|||||||
.write = ivpu_reset_engine_fn,
|
.write = ivpu_reset_engine_fn,
|
||||||
};
|
};
|
||||||
|
|
||||||
void ivpu_debugfs_init(struct drm_minor *minor)
|
void ivpu_debugfs_init(struct ivpu_device *vdev)
|
||||||
{
|
{
|
||||||
struct ivpu_device *vdev = to_ivpu_device(minor->dev);
|
struct dentry *debugfs_root = vdev->drm.debugfs_root;
|
||||||
|
|
||||||
drm_debugfs_create_files(vdev_debugfs_list, ARRAY_SIZE(vdev_debugfs_list),
|
drm_debugfs_add_files(&vdev->drm, vdev_debugfs_list, ARRAY_SIZE(vdev_debugfs_list));
|
||||||
minor->debugfs_root, minor);
|
|
||||||
|
|
||||||
debugfs_create_file("force_recovery", 0200, minor->debugfs_root, vdev,
|
debugfs_create_file("force_recovery", 0200, debugfs_root, vdev,
|
||||||
&ivpu_force_recovery_fops);
|
&ivpu_force_recovery_fops);
|
||||||
|
|
||||||
debugfs_create_file("fw_log", 0644, minor->debugfs_root, vdev,
|
debugfs_create_file("fw_log", 0644, debugfs_root, vdev,
|
||||||
&fw_log_fops);
|
&fw_log_fops);
|
||||||
debugfs_create_file("fw_trace_destination_mask", 0200, minor->debugfs_root, vdev,
|
debugfs_create_file("fw_trace_destination_mask", 0200, debugfs_root, vdev,
|
||||||
&fw_trace_destination_mask_fops);
|
&fw_trace_destination_mask_fops);
|
||||||
debugfs_create_file("fw_trace_hw_comp_mask", 0200, minor->debugfs_root, vdev,
|
debugfs_create_file("fw_trace_hw_comp_mask", 0200, debugfs_root, vdev,
|
||||||
&fw_trace_hw_comp_mask_fops);
|
&fw_trace_hw_comp_mask_fops);
|
||||||
debugfs_create_file("fw_trace_level", 0200, minor->debugfs_root, vdev,
|
debugfs_create_file("fw_trace_level", 0200, debugfs_root, vdev,
|
||||||
&fw_trace_level_fops);
|
&fw_trace_level_fops);
|
||||||
|
|
||||||
debugfs_create_file("reset_engine", 0200, minor->debugfs_root, vdev,
|
debugfs_create_file("reset_engine", 0200, debugfs_root, vdev,
|
||||||
&ivpu_reset_engine_fops);
|
&ivpu_reset_engine_fops);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,8 +6,8 @@
|
|||||||
#ifndef __IVPU_DEBUGFS_H__
|
#ifndef __IVPU_DEBUGFS_H__
|
||||||
#define __IVPU_DEBUGFS_H__
|
#define __IVPU_DEBUGFS_H__
|
||||||
|
|
||||||
struct drm_minor;
|
struct ivpu_device;
|
||||||
|
|
||||||
void ivpu_debugfs_init(struct drm_minor *minor);
|
void ivpu_debugfs_init(struct ivpu_device *vdev);
|
||||||
|
|
||||||
#endif /* __IVPU_DEBUGFS_H__ */
|
#endif /* __IVPU_DEBUGFS_H__ */
|
||||||
|
|||||||
@ -395,10 +395,6 @@ static const struct drm_driver driver = {
|
|||||||
.postclose = ivpu_postclose,
|
.postclose = ivpu_postclose,
|
||||||
.gem_prime_import = ivpu_gem_prime_import,
|
.gem_prime_import = ivpu_gem_prime_import,
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_FS)
|
|
||||||
.debugfs_init = ivpu_debugfs_init,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
.ioctls = ivpu_drm_ioctls,
|
.ioctls = ivpu_drm_ioctls,
|
||||||
.num_ioctls = ARRAY_SIZE(ivpu_drm_ioctls),
|
.num_ioctls = ARRAY_SIZE(ivpu_drm_ioctls),
|
||||||
.fops = &ivpu_fops,
|
.fops = &ivpu_fops,
|
||||||
@ -631,6 +627,10 @@ static int ivpu_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
#if defined(CONFIG_DEBUG_FS)
|
||||||
|
ivpu_debugfs_init(vdev);
|
||||||
|
#endif
|
||||||
|
|
||||||
ret = drm_dev_register(&vdev->drm, 0);
|
ret = drm_dev_register(&vdev->drm, 0);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&pdev->dev, "Failed to register DRM device: %d\n", ret);
|
dev_err(&pdev->dev, "Failed to register DRM device: %d\n", ret);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user