aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMaíra Canal <mcanal@igalia.com>2026-01-12 08:51:37 -0300
committerMaíra Canal <mcanal@igalia.com>2026-01-19 07:12:25 -0300
commitf5520a1a844342af7295a72c35cc9690b7a9fdd1 (patch)
tree6bd137363b6d85259e5005d8f3c8b07dd3282a28 /drivers
parenteaba54b8a67bdec7f834d61ff6cf5f0f3f4ea5bc (diff)
drm/v3d: Convert v3d logging to device-based DRM helpers
Replace legacy DRM_DEBUG/INFO/WARN/ERROR logging with the corresponding device-based drm_dbg(), drm_info(), drm_warn() and drm_err() helpers. For some messages, adjust the log level to better reflect their severity. This allows filtering via drm.debug, reduces log spam, and helps differentiate v3d logs from vc4 logs. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Link: https://patch.msgid.link/20260112-v3d-drm-debug-v2-2-8ef6244c97bb@igalia.com Signed-off-by: Maíra Canal <mcanal@igalia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/v3d/v3d_bo.c8
-rw-r--r--drivers/gpu/drm/v3d/v3d_drv.c6
-rw-r--r--drivers/gpu/drm/v3d/v3d_gem.c16
-rw-r--r--drivers/gpu/drm/v3d/v3d_irq.c8
-rw-r--r--drivers/gpu/drm/v3d/v3d_mmu.c6
-rw-r--r--drivers/gpu/drm/v3d/v3d_sched.c6
-rw-r--r--drivers/gpu/drm/v3d/v3d_submit.c66
7 files changed, 62 insertions, 54 deletions
diff --git a/drivers/gpu/drm/v3d/v3d_bo.c b/drivers/gpu/drm/v3d/v3d_bo.c
index c4316b768b3d..36aae97cf6da 100644
--- a/drivers/gpu/drm/v3d/v3d_bo.c
+++ b/drivers/gpu/drm/v3d/v3d_bo.c
@@ -213,7 +213,7 @@ int v3d_create_bo_ioctl(struct drm_device *dev, void *data,
int ret;
if (args->flags != 0) {
- DRM_INFO("unknown create_bo flags: %d\n", args->flags);
+ drm_dbg(dev, "unknown create_bo flags: %d\n", args->flags);
return -EINVAL;
}
@@ -236,13 +236,13 @@ int v3d_mmap_bo_ioctl(struct drm_device *dev, void *data,
struct drm_gem_object *gem_obj;
if (args->flags != 0) {
- DRM_INFO("unknown mmap_bo flags: %d\n", args->flags);
+ drm_dbg(dev, "unknown mmap_bo flags: %d\n", args->flags);
return -EINVAL;
}
gem_obj = drm_gem_object_lookup(file_priv, args->handle);
if (!gem_obj) {
- DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle);
+ drm_dbg(dev, "Failed to look up GEM BO %d\n", args->handle);
return -ENOENT;
}
@@ -261,7 +261,7 @@ int v3d_get_bo_offset_ioctl(struct drm_device *dev, void *data,
gem_obj = drm_gem_object_lookup(file_priv, args->handle);
if (!gem_obj) {
- DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle);
+ drm_dbg(dev, "Failed to look up GEM BO %d\n", args->handle);
return -ENOENT;
}
bo = to_v3d_bo(gem_obj);
diff --git a/drivers/gpu/drm/v3d/v3d_drv.c b/drivers/gpu/drm/v3d/v3d_drv.c
index a11ca276061a..8de4f151a5c0 100644
--- a/drivers/gpu/drm/v3d/v3d_drv.c
+++ b/drivers/gpu/drm/v3d/v3d_drv.c
@@ -120,7 +120,7 @@ static int v3d_get_param_ioctl(struct drm_device *dev, void *data,
mutex_unlock(&v3d->reset_lock);
return 0;
default:
- DRM_DEBUG("Unknown parameter %d\n", args->param);
+ drm_dbg(dev, "Unknown parameter %d\n", args->param);
return -EINVAL;
}
}
@@ -297,7 +297,7 @@ v3d_idle_sms(struct v3d_dev *v3d)
if (wait_for((V3D_GET_FIELD(V3D_SMS_READ(V3D_SMS_TEE_CS),
V3D_SMS_STATE) == V3D_SMS_IDLE), 100)) {
- DRM_ERROR("Failed to power up SMS\n");
+ drm_err(&v3d->drm, "Failed to power up SMS\n");
}
v3d_reset_sms(v3d);
@@ -313,7 +313,7 @@ v3d_power_off_sms(struct v3d_dev *v3d)
if (wait_for((V3D_GET_FIELD(V3D_SMS_READ(V3D_SMS_TEE_CS),
V3D_SMS_STATE) == V3D_SMS_POWER_OFF_STATE), 100)) {
- DRM_ERROR("Failed to power off SMS\n");
+ drm_err(&v3d->drm, "Failed to power off SMS\n");
}
}
diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c
index 697b0b3ca92c..57965c0d6f6e 100644
--- a/drivers/gpu/drm/v3d/v3d_gem.c
+++ b/drivers/gpu/drm/v3d/v3d_gem.c
@@ -52,7 +52,7 @@ v3d_idle_axi(struct v3d_dev *v3d, int core)
(V3D_GMP_STATUS_RD_COUNT_MASK |
V3D_GMP_STATUS_WR_COUNT_MASK |
V3D_GMP_STATUS_CFG_BUSY)) == 0, 100)) {
- DRM_ERROR("Failed to wait for safe GMP shutdown\n");
+ drm_err(&v3d->drm, "Failed to wait for safe GMP shutdown\n");
}
}
@@ -67,7 +67,7 @@ v3d_idle_gca(struct v3d_dev *v3d)
if (wait_for((V3D_GCA_READ(V3D_GCA_SAFE_SHUTDOWN_ACK) &
V3D_GCA_SAFE_SHUTDOWN_ACK_ACKED) ==
V3D_GCA_SAFE_SHUTDOWN_ACK_ACKED, 100)) {
- DRM_ERROR("Failed to wait for safe GCA shutdown\n");
+ drm_err(&v3d->drm, "Failed to wait for safe GCA shutdown\n");
}
}
@@ -117,7 +117,7 @@ v3d_reset_sms(struct v3d_dev *v3d)
V3D_SMS_STATE) == V3D_SMS_ISOLATING_FOR_RESET) &&
!(V3D_GET_FIELD(V3D_SMS_READ(V3D_SMS_REE_CS),
V3D_SMS_STATE) == V3D_SMS_RESETTING), 100)) {
- DRM_ERROR("Failed to wait for SMS reset\n");
+ drm_err(&v3d->drm, "Failed to wait for SMS reset\n");
}
}
@@ -126,9 +126,9 @@ v3d_reset(struct v3d_dev *v3d)
{
struct drm_device *dev = &v3d->drm;
- DRM_DEV_ERROR(dev->dev, "Resetting GPU for hang.\n");
- DRM_DEV_ERROR(dev->dev, "V3D_ERR_STAT: 0x%08x\n",
- V3D_CORE_READ(0, V3D_ERR_STAT));
+ drm_err(dev, "Resetting GPU for hang.\n");
+ drm_err(dev, "V3D_ERR_STAT: 0x%08x\n", V3D_CORE_READ(0, V3D_ERR_STAT));
+
trace_v3d_reset_begin(dev);
/* XXX: only needed for safe powerdown, not reset. */
@@ -216,7 +216,7 @@ v3d_clean_caches(struct v3d_dev *v3d)
V3D_CORE_WRITE(core, V3D_CTL_L2TCACTL, V3D_L2TCACTL_TMUWCF);
if (wait_for(!(V3D_CORE_READ(core, V3D_CTL_L2TCACTL) &
V3D_L2TCACTL_TMUWCF), 100)) {
- DRM_ERROR("Timeout waiting for TMU write combiner flush\n");
+ drm_err(dev, "Timeout waiting for TMU write combiner flush\n");
}
mutex_lock(&v3d->cache_clean_lock);
@@ -226,7 +226,7 @@ v3d_clean_caches(struct v3d_dev *v3d)
if (wait_for(!(V3D_CORE_READ(core, V3D_CTL_L2TCACTL) &
V3D_L2TCACTL_L2TFLS), 100)) {
- DRM_ERROR("Timeout waiting for L2T clean\n");
+ drm_err(dev, "Timeout waiting for L2T clean\n");
}
mutex_unlock(&v3d->cache_clean_lock);
diff --git a/drivers/gpu/drm/v3d/v3d_irq.c b/drivers/gpu/drm/v3d/v3d_irq.c
index b55880fd6c50..1249f6e64b97 100644
--- a/drivers/gpu/drm/v3d/v3d_irq.c
+++ b/drivers/gpu/drm/v3d/v3d_irq.c
@@ -50,7 +50,7 @@ v3d_overflow_mem_work(struct work_struct *work)
unsigned long irqflags;
if (IS_ERR(bo)) {
- DRM_ERROR("Couldn't allocate binner overflow mem\n");
+ drm_err(dev, "Couldn't allocate binner overflow mem\n");
return;
}
obj = &bo->base.base;
@@ -140,7 +140,7 @@ v3d_irq(int irq, void *arg)
* always-allowed mode.
*/
if (v3d->ver < V3D_GEN_71 && (intsts & V3D_INT_GMPV))
- dev_err(v3d->drm.dev, "GMP violation\n");
+ drm_err(&v3d->drm, "GMP violation\n");
/* V3D 4.2 wires the hub and core IRQs together, so if we &
* didn't see the common one then check hub for MMU IRQs.
@@ -226,7 +226,7 @@ v3d_hub_irq(int irq, void *arg)
}
}
- dev_err(v3d->drm.dev, "MMU error from client %s (0x%x) at 0x%llx%s%s%s\n",
+ drm_dbg(&v3d->drm, "MMU error from client %s (0x%x) at 0x%llx%s%s%s\n",
client, axi_id, (long long)vio_addr,
((intsts & V3D_HUB_INT_MMU_WRV) ?
", write violation" : ""),
@@ -238,7 +238,7 @@ v3d_hub_irq(int irq, void *arg)
}
if (v3d->ver >= V3D_GEN_71 && (intsts & V3D_V7_HUB_INT_GMPV)) {
- dev_err(v3d->drm.dev, "GMP Violation\n");
+ drm_err(&v3d->drm, "GMP Violation\n");
status = IRQ_HANDLED;
}
diff --git a/drivers/gpu/drm/v3d/v3d_mmu.c b/drivers/gpu/drm/v3d/v3d_mmu.c
index a25d25a8ae61..c513a393c031 100644
--- a/drivers/gpu/drm/v3d/v3d_mmu.c
+++ b/drivers/gpu/drm/v3d/v3d_mmu.c
@@ -18,6 +18,8 @@
* each client. This is not yet implemented.
*/
+#include <drm/drm_print.h>
+
#include "v3d_drv.h"
#include "v3d_regs.h"
@@ -125,7 +127,7 @@ void v3d_mmu_insert_ptes(struct v3d_bo *bo)
shmem_obj->base.size >> V3D_MMU_PAGE_SHIFT);
if (v3d_mmu_flush_all(v3d))
- dev_err(v3d->drm.dev, "MMU flush timeout\n");
+ drm_err(&v3d->drm, "MMU flush timeout\n");
}
void v3d_mmu_remove_ptes(struct v3d_bo *bo)
@@ -138,5 +140,5 @@ void v3d_mmu_remove_ptes(struct v3d_bo *bo)
v3d->pt[page] = 0;
if (v3d_mmu_flush_all(v3d))
- dev_err(v3d->drm.dev, "MMU flush timeout\n");
+ drm_err(&v3d->drm, "MMU flush timeout\n");
}
diff --git a/drivers/gpu/drm/v3d/v3d_sched.c b/drivers/gpu/drm/v3d/v3d_sched.c
index 0867250db7a6..6dc871fc9a62 100644
--- a/drivers/gpu/drm/v3d/v3d_sched.c
+++ b/drivers/gpu/drm/v3d/v3d_sched.c
@@ -585,7 +585,7 @@ v3d_reset_performance_queries(struct v3d_cpu_job *job)
perfmon = v3d_perfmon_find(v3d_priv,
performance_query->queries[i].kperfmon_ids[j]);
if (!perfmon) {
- DRM_DEBUG("Failed to find perfmon.");
+ drm_dbg(&v3d->drm, "Failed to find perfmon.");
continue;
}
@@ -620,7 +620,7 @@ v3d_write_performance_query_result(struct v3d_cpu_job *job, void *data,
perfmon = v3d_perfmon_find(v3d_priv,
perf_query->kperfmon_ids[i]);
if (!perfmon) {
- DRM_DEBUG("Failed to find perfmon.");
+ drm_dbg(&v3d->drm, "Failed to find perfmon.");
continue;
}
@@ -690,7 +690,7 @@ v3d_cpu_job_run(struct drm_sched_job *sched_job)
struct v3d_dev *v3d = job->base.v3d;
if (job->job_type >= ARRAY_SIZE(cpu_job_function)) {
- DRM_DEBUG_DRIVER("Unknown CPU job: %d\n", job->job_type);
+ drm_dbg(&v3d->drm, "Unknown CPU job: %d\n", job->job_type);
return NULL;
}
diff --git a/drivers/gpu/drm/v3d/v3d_submit.c b/drivers/gpu/drm/v3d/v3d_submit.c
index 55e810b7417d..794c3571662d 100644
--- a/drivers/gpu/drm/v3d/v3d_submit.c
+++ b/drivers/gpu/drm/v3d/v3d_submit.c
@@ -76,7 +76,7 @@ v3d_lookup_bos(struct drm_device *dev,
/* See comment on bo_index for why we have to check
* this.
*/
- DRM_DEBUG("Rendering requires BOs\n");
+ drm_warn(dev, "Rendering requires BOs\n");
return -EINVAL;
}
@@ -138,11 +138,11 @@ void v3d_job_put(struct v3d_job *job)
}
static int
-v3d_job_allocate(void **container, size_t size)
+v3d_job_allocate(struct v3d_dev *v3d, void **container, size_t size)
{
*container = kcalloc(1, size, GFP_KERNEL);
if (!*container) {
- DRM_ERROR("Cannot allocate memory for V3D job.\n");
+ drm_err(&v3d->drm, "Cannot allocate memory for V3D job.\n");
return -ENOMEM;
}
@@ -183,7 +183,7 @@ v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv,
if (copy_from_user(&in, handle++, sizeof(in))) {
ret = -EFAULT;
- DRM_DEBUG("Failed to copy wait dep handle.\n");
+ drm_dbg(&v3d->drm, "Failed to copy wait dep handle.\n");
goto fail_deps;
}
ret = drm_sched_job_add_syncobj_dependency(&job->base, file_priv, in.handle, 0);
@@ -276,7 +276,7 @@ v3d_setup_csd_jobs_and_bos(struct drm_file *file_priv,
{
int ret;
- ret = v3d_job_allocate((void *)job, sizeof(**job));
+ ret = v3d_job_allocate(v3d, (void *)job, sizeof(**job));
if (ret)
return ret;
@@ -287,7 +287,7 @@ v3d_setup_csd_jobs_and_bos(struct drm_file *file_priv,
return ret;
}
- ret = v3d_job_allocate((void *)clean_job, sizeof(**clean_job));
+ ret = v3d_job_allocate(v3d, (void *)clean_job, sizeof(**clean_job));
if (ret)
return ret;
@@ -326,6 +326,8 @@ v3d_get_multisync_post_deps(struct drm_file *file_priv,
struct v3d_submit_ext *se,
u32 count, u64 handles)
{
+ struct v3d_file_priv *v3d_priv = file_priv->driver_priv;
+ struct v3d_dev *v3d = v3d_priv->v3d;
struct drm_v3d_sem __user *post_deps;
int i, ret;
@@ -346,7 +348,7 @@ v3d_get_multisync_post_deps(struct drm_file *file_priv,
if (copy_from_user(&out, post_deps++, sizeof(out))) {
ret = -EFAULT;
- DRM_DEBUG("Failed to copy post dep handles\n");
+ drm_dbg(&v3d->drm, "Failed to copy post dep handles\n");
goto fail;
}
@@ -377,11 +379,13 @@ v3d_get_multisync_submit_deps(struct drm_file *file_priv,
struct drm_v3d_extension __user *ext,
struct v3d_submit_ext *se)
{
+ struct v3d_file_priv *v3d_priv = file_priv->driver_priv;
+ struct v3d_dev *v3d = v3d_priv->v3d;
struct drm_v3d_multi_sync multisync;
int ret;
if (se->in_sync_count || se->out_sync_count) {
- DRM_DEBUG("Two multisync extensions were added to the same job.");
+ drm_dbg(&v3d->drm, "Two multisync extensions were added to the same job.");
return -EINVAL;
}
@@ -442,7 +446,7 @@ v3d_get_cpu_indirect_csd_params(struct drm_file *file_priv,
return -EFAULT;
if (!v3d_has_csd(v3d)) {
- DRM_DEBUG("Attempting CSD submit on non-CSD hardware.\n");
+ drm_warn(&v3d->drm, "Attempting CSD submit on non-CSD hardware.\n");
return -EINVAL;
}
@@ -804,6 +808,8 @@ v3d_get_extensions(struct drm_file *file_priv,
struct v3d_submit_ext *se,
struct v3d_cpu_job *job)
{
+ struct v3d_file_priv *v3d_priv = file_priv->driver_priv;
+ struct v3d_dev *v3d = v3d_priv->v3d;
struct drm_v3d_extension __user *user_ext;
int ret;
@@ -812,7 +818,7 @@ v3d_get_extensions(struct drm_file *file_priv,
struct drm_v3d_extension ext;
if (copy_from_user(&ext, user_ext, sizeof(ext))) {
- DRM_DEBUG("Failed to copy submit extension\n");
+ drm_dbg(&v3d->drm, "Failed to copy submit extension\n");
return -EFAULT;
}
@@ -839,7 +845,7 @@ v3d_get_extensions(struct drm_file *file_priv,
ret = v3d_get_cpu_copy_performance_query_params(file_priv, user_ext, job);
break;
default:
- DRM_DEBUG_DRIVER("Unknown extension id: %d\n", ext.id);
+ drm_dbg(&v3d->drm, "Unknown V3D extension ID: %d\n", ext.id);
return -EINVAL;
}
@@ -887,19 +893,19 @@ v3d_submit_cl_ioctl(struct drm_device *dev, void *data,
if (args->flags &&
args->flags & ~(DRM_V3D_SUBMIT_CL_FLUSH_CACHE |
DRM_V3D_SUBMIT_EXTENSION)) {
- DRM_INFO("invalid flags: %d\n", args->flags);
+ drm_dbg(dev, "invalid flags: %d\n", args->flags);
return -EINVAL;
}
if (args->flags & DRM_V3D_SUBMIT_EXTENSION) {
ret = v3d_get_extensions(file_priv, args->extensions, &se, NULL);
if (ret) {
- DRM_DEBUG("Failed to get extensions.\n");
+ drm_dbg(dev, "Failed to get extensions.\n");
return ret;
}
}
- ret = v3d_job_allocate((void *)&render, sizeof(*render));
+ ret = v3d_job_allocate(v3d, (void *)&render, sizeof(*render));
if (ret)
return ret;
@@ -915,7 +921,7 @@ v3d_submit_cl_ioctl(struct drm_device *dev, void *data,
INIT_LIST_HEAD(&render->unref_list);
if (args->bcl_start != args->bcl_end) {
- ret = v3d_job_allocate((void *)&bin, sizeof(*bin));
+ ret = v3d_job_allocate(v3d, (void *)&bin, sizeof(*bin));
if (ret)
goto fail;
@@ -935,7 +941,7 @@ v3d_submit_cl_ioctl(struct drm_device *dev, void *data,
}
if (args->flags & DRM_V3D_SUBMIT_CL_FLUSH_CACHE) {
- ret = v3d_job_allocate((void *)&clean_job, sizeof(*clean_job));
+ ret = v3d_job_allocate(v3d, (void *)&clean_job, sizeof(*clean_job));
if (ret)
goto fail;
@@ -1053,19 +1059,19 @@ v3d_submit_tfu_ioctl(struct drm_device *dev, void *data,
trace_v3d_submit_tfu_ioctl(&v3d->drm, args->iia);
if (args->flags && !(args->flags & DRM_V3D_SUBMIT_EXTENSION)) {
- DRM_DEBUG("invalid flags: %d\n", args->flags);
+ drm_dbg(dev, "invalid flags: %d\n", args->flags);
return -EINVAL;
}
if (args->flags & DRM_V3D_SUBMIT_EXTENSION) {
ret = v3d_get_extensions(file_priv, args->extensions, &se, NULL);
if (ret) {
- DRM_DEBUG("Failed to get extensions.\n");
+ drm_dbg(dev, "Failed to get extensions.\n");
return ret;
}
}
- ret = v3d_job_allocate((void *)&job, sizeof(*job));
+ ret = v3d_job_allocate(v3d, (void *)&job, sizeof(*job));
if (ret)
return ret;
@@ -1095,9 +1101,9 @@ v3d_submit_tfu_ioctl(struct drm_device *dev, void *data,
bo = drm_gem_object_lookup(file_priv, args->bo_handles[job->base.bo_count]);
if (!bo) {
- DRM_DEBUG("Failed to look up GEM BO %d: %d\n",
- job->base.bo_count,
- args->bo_handles[job->base.bo_count]);
+ drm_dbg(dev, "Failed to look up GEM BO %d: %d\n",
+ job->base.bo_count,
+ args->bo_handles[job->base.bo_count]);
ret = -ENOENT;
goto fail;
}
@@ -1157,19 +1163,19 @@ v3d_submit_csd_ioctl(struct drm_device *dev, void *data,
return -EINVAL;
if (!v3d_has_csd(v3d)) {
- DRM_DEBUG("Attempting CSD submit on non-CSD hardware\n");
+ drm_warn(dev, "Attempting CSD submit on non-CSD hardware\n");
return -EINVAL;
}
if (args->flags && !(args->flags & DRM_V3D_SUBMIT_EXTENSION)) {
- DRM_INFO("invalid flags: %d\n", args->flags);
+ drm_dbg(dev, "invalid flags: %d\n", args->flags);
return -EINVAL;
}
if (args->flags & DRM_V3D_SUBMIT_EXTENSION) {
ret = v3d_get_extensions(file_priv, args->extensions, &se, NULL);
if (ret) {
- DRM_DEBUG("Failed to get extensions.\n");
+ drm_dbg(dev, "Failed to get extensions.\n");
return ret;
}
}
@@ -1263,31 +1269,31 @@ v3d_submit_cpu_ioctl(struct drm_device *dev, void *data,
int ret;
if (args->flags && !(args->flags & DRM_V3D_SUBMIT_EXTENSION)) {
- DRM_INFO("Invalid flags: %d\n", args->flags);
+ drm_dbg(dev, "Invalid flags: %d\n", args->flags);
return -EINVAL;
}
- ret = v3d_job_allocate((void *)&cpu_job, sizeof(*cpu_job));
+ ret = v3d_job_allocate(v3d, (void *)&cpu_job, sizeof(*cpu_job));
if (ret)
return ret;
if (args->flags & DRM_V3D_SUBMIT_EXTENSION) {
ret = v3d_get_extensions(file_priv, args->extensions, &se, cpu_job);
if (ret) {
- DRM_DEBUG("Failed to get extensions.\n");
+ drm_dbg(dev, "Failed to get extensions.\n");
goto fail;
}
}
/* Every CPU job must have a CPU job user extension */
if (!cpu_job->job_type) {
- DRM_DEBUG("CPU job must have a CPU job user extension.\n");
+ drm_dbg(dev, "CPU job must have a CPU job user extension.\n");
ret = -EINVAL;
goto fail;
}
if (args->bo_handle_count != cpu_job_bo_handle_count[cpu_job->job_type]) {
- DRM_DEBUG("This CPU job was not submitted with the proper number of BOs.\n");
+ drm_dbg(dev, "This CPU job was not submitted with the proper number of BOs.\n");
ret = -EINVAL;
goto fail;
}