[PATCH v3 3/4] staging: vc04_services: Drop vchiq_log_trace() in favour of dev_dbg
Stefan Wahren
wahrenst at gmx.net
Fri Dec 8 04:08:04 PST 2023
Hi Umang,
Am 05.12.23 um 09:41 schrieb Umang Jain:
> Drop vchiq_log_trace() macro which wraps dev_dbg(). Introduce the usage
> of dev_dbg() directly.
>
> Meanwhile at it, drop the usage of __func__ from the logs.
> Dynamic debug supports this via the 'f' decorator flag.
>
> Signed-off-by: Umang Jain <umang.jain at ideasonboard.com>
in general i'm fine with this patch:
Reviewed-by: Stefan Wahren <wahrenst at gmx.net>
but there some improvements, which could be addressed/improved later
> ---
> .../interface/vchiq_arm/vchiq_arm.c | 53 ++++-----
> .../interface/vchiq_arm/vchiq_core.c | 101 +++++++++---------
> .../interface/vchiq_arm/vchiq_core.h | 4 -
> .../interface/vchiq_arm/vchiq_dev.c | 15 ++-
> 4 files changed, 78 insertions(+), 95 deletions(-)
>
> diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> index 56326b59a718..e337b8387647 100644
> --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> @@ -255,8 +255,7 @@ create_pagelist(struct vchiq_instance *instance, char *buf, char __user *ubuf,
> pagelist = dma_alloc_coherent(instance->state->dev, pagelist_size, &dma_addr,
> GFP_KERNEL);
>
> - vchiq_log_trace(instance->state->dev, VCHIQ_ARM,
> - "%s - %pK", __func__, pagelist);
> + dev_dbg(instance->state->dev, "arm: %pK\n", pagelist);
>
> if (!pagelist)
> return NULL;
> @@ -407,8 +406,7 @@ free_pagelist(struct vchiq_instance *instance, struct vchiq_pagelist_info *pagel
> struct page **pages = pagelistinfo->pages;
> unsigned int num_pages = pagelistinfo->num_pages;
>
> - vchiq_log_trace(instance->state->dev, VCHIQ_ARM,
> - "%s - %pK, %d", __func__, pagelistinfo->pagelist, actual);
> + dev_dbg(instance->state->dev, "arm: %pK, %d\n", pagelistinfo->pagelist, actual);
>
> /*
> * NOTE: dma_unmap_sg must be called before the
> @@ -708,8 +706,7 @@ int vchiq_initialise(struct vchiq_instance **instance_out)
> ret = 0;
>
> failed:
> - vchiq_log_trace(state->dev, VCHIQ_CORE,
> - "%s(%p): returning %d", __func__, instance, ret);
> + dev_dbg(state->dev, "core: (%p): returning %d\n", instance, ret);
>
> return ret;
> }
> @@ -742,8 +739,7 @@ int vchiq_shutdown(struct vchiq_instance *instance)
>
> mutex_unlock(&state->mutex);
>
> - vchiq_log_trace(state->dev, VCHIQ_CORE,
> - "%s(%p): returning %d", __func__, instance, status);
> + dev_dbg(state->dev, "core: (%p): returning %d\n", instance, status);
>
> free_bulk_waiter(instance);
> kfree(instance);
> @@ -763,8 +759,8 @@ int vchiq_connect(struct vchiq_instance *instance)
> struct vchiq_state *state = instance->state;
>
> if (mutex_lock_killable(&state->mutex)) {
> - vchiq_log_trace(state->dev, VCHIQ_CORE,
> - "%s: call to mutex_lock failed", __func__);
> + dev_dbg(state->dev,
> + "core: call to mutex_lock failed\n");
> status = -EAGAIN;
> goto failed;
> }
> @@ -776,8 +772,7 @@ int vchiq_connect(struct vchiq_instance *instance)
> mutex_unlock(&state->mutex);
>
> failed:
> - vchiq_log_trace(state->dev, VCHIQ_CORE,
> - "%s(%p): returning %d", __func__, instance, status);
> + dev_dbg(state->dev, "core: (%p): returning %d\n", instance, status);
>
> return status;
> }
> @@ -808,8 +803,7 @@ vchiq_add_service(struct vchiq_instance *instance,
> status = -EINVAL;
> }
>
> - vchiq_log_trace(state->dev, VCHIQ_CORE,
> - "%s(%p): returning %d", __func__, instance, status);
> + dev_dbg(state->dev, "core: (%p): returning %d\n", instance, status);
>
> return status;
> }
> @@ -840,8 +834,7 @@ vchiq_open_service(struct vchiq_instance *instance,
> }
>
> failed:
> - vchiq_log_trace(state->dev, VCHIQ_CORE,
> - "%s(%p): returning %d", __func__, instance, status);
> + dev_dbg(state->dev, "core: (%p): returning %d\n", instance, status);
>
> return status;
> }
> @@ -1010,8 +1003,7 @@ add_completion(struct vchiq_instance *instance, enum vchiq_reason reason,
> while ((insert - instance->completion_remove) >= MAX_COMPLETIONS) {
> /* Out of space - wait for the client */
> DEBUG_TRACE(SERVICE_CALLBACK_LINE);
> - vchiq_log_trace(instance->state->dev, VCHIQ_CORE,
> - "%s - completion queue full", __func__);
> + dev_dbg(instance->state->dev, "core: completion queue full\n");
> DEBUG_COUNT(COMPLETION_QUEUE_FULL_COUNT);
> if (wait_for_completion_interruptible(&instance->remove_event)) {
> vchiq_log_debug(instance->state->dev, VCHIQ_ARM,
> @@ -1099,11 +1091,11 @@ service_callback(struct vchiq_instance *instance, enum vchiq_reason reason,
> vchiq_service_get(service);
> rcu_read_unlock();
>
> - vchiq_log_trace(service->state->dev, VCHIQ_ARM,
> - "%s - service %lx(%d,%p), reason %d, header %lx, instance %lx, bulk_userdata %lx",
> - __func__, (unsigned long)user_service, service->localport,
> - user_service->userdata, reason, (unsigned long)header,
> - (unsigned long)instance, (unsigned long)bulk_userdata);
> + dev_dbg(service->state->dev,
> + "arm: service %lx(%d,%p), reason %d, header %lx, instance %lx, bulk_userdata %lx\n",
> + (unsigned long)user_service, service->localport,
> + user_service->userdata, reason, (unsigned long)header,
> + (unsigned long)instance, (unsigned long)bulk_userdata);
>
> if (header && user_service->is_vchi) {
> spin_lock(&msg_queue_spinlock);
> @@ -1112,8 +1104,7 @@ service_callback(struct vchiq_instance *instance, enum vchiq_reason reason,
> spin_unlock(&msg_queue_spinlock);
> DEBUG_TRACE(SERVICE_CALLBACK_LINE);
> DEBUG_COUNT(MSG_QUEUE_FULL_COUNT);
> - vchiq_log_trace(service->state->dev, VCHIQ_ARM,
> - "%s - msg queue full", __func__);
> + dev_dbg(service->state->dev, "arm: msg queue full\n");
> /*
> * If there is no MESSAGE_AVAILABLE in the completion
> * queue, add one
> @@ -1405,8 +1396,8 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service,
> local_uc = ++arm_state->videocore_use_count;
> ++(*entity_uc);
>
> - vchiq_log_trace(state->dev, VCHIQ_SUSPEND, "%s %s count %d, state count %d",
> - __func__, entity, *entity_uc, local_uc);
> + dev_dbg(state->dev, "suspend: %s count %d, state count %d\n",
> + entity, *entity_uc, local_uc);
>
> write_unlock_bh(&arm_state->susp_res_lock);
>
> @@ -1425,7 +1416,7 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service,
> }
>
> out:
> - vchiq_log_trace(state->dev, VCHIQ_SUSPEND, "%s exit %d", __func__, ret);
> + dev_dbg(state->dev, "suspend: exit %d\n", ret);
In case we want to keep this kind of debug messages, i prefer to have a
common format:
returning %d vs exit %d
> return ret;
> }
>
> @@ -1463,14 +1454,14 @@ vchiq_release_internal(struct vchiq_state *state, struct vchiq_service *service)
> --arm_state->videocore_use_count;
> --(*entity_uc);
>
> - vchiq_log_trace(state->dev, VCHIQ_SUSPEND, "%s %s count %d, state count %d",
> - __func__, entity, *entity_uc, arm_state->videocore_use_count);
> + dev_dbg(state->dev, "suspend: %s count %d, state count %d\n",
> + entity, *entity_uc, arm_state->videocore_use_count);
>
> unlock:
> write_unlock_bh(&arm_state->susp_res_lock);
>
> out:
> - vchiq_log_trace(state->dev, VCHIQ_SUSPEND, "%s exit %d", __func__, ret);
> + dev_dbg(state->dev, "suspend: exit %d\n", ret);
ditto
> return ret;
> }
>
> diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
> index 2fd793954001..d197e4504bd4 100644
> --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
> +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
> @@ -459,9 +459,9 @@ make_service_callback(struct vchiq_service *service, enum vchiq_reason reason,
> {
> int status;
>
> - vchiq_log_trace(service->state->dev, VCHIQ_CORE, "%d: callback:%d (%s, %pK, %pK)",
> - service->state->id, service->localport, reason_names[reason],
> - header, bulk_userdata);
> + dev_dbg(service->state->dev, "core: %d: callback:%d (%s, %pK, %pK)\n",
> + service->state->id, service->localport, reason_names[reason],
> + header, bulk_userdata);
> status = service->base.callback(service->instance, reason, header, service->handle,
> bulk_userdata);
> if (status && (status != -EAGAIN)) {
> @@ -763,8 +763,8 @@ process_free_data_message(struct vchiq_state *state, u32 *service_found,
> * it has dropped below its quota
> */
> complete("a->quota_event);
> - vchiq_log_trace(state->dev, VCHIQ_CORE, "%d: pfq:%d %x@%pK - slot_use->%d",
> - state->id, port, header->size, header, count - 1);
> + dev_dbg(state->dev, "core: %d: pfq:%d %x@%pK - slot_use->%d\n",
> + state->id, port, header->size, header, count - 1);
> } else {
> dev_err(state->dev,
> "core: service %d slot_use_count=%d (header %pK, msgid %x, header->msgid %x, header->size %x)\n",
> @@ -809,9 +809,9 @@ process_free_queue(struct vchiq_state *state, u32 *service_found,
> */
> rmb();
>
> - vchiq_log_trace(state->dev, VCHIQ_CORE, "%d: pfq %d=%pK %x %x",
> - state->id, slot_index, data, local->slot_queue_recycle,
> - slot_queue_available);
> + dev_dbg(state->dev, "core: %d: pfq %d=%pK %x %x\n",
> + state->id, slot_index, data, local->slot_queue_recycle,
> + slot_queue_available);
>
> /* Initialise the bitmask for services which have used this slot */
> memset(service_found, 0, length);
> @@ -980,10 +980,10 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
> ((tx_end_index != quota->previous_tx_index) &&
> (quota->slot_use_count == quota->slot_quota))) {
> spin_unlock("a_spinlock);
> - vchiq_log_trace(state->dev, VCHIQ_CORE,
> - "%d: qm:%d %s,%zx - quota stall (msg %d, slot %d)",
> - state->id, service->localport, msg_type_str(type), size,
> - quota->message_use_count, quota->slot_use_count);
> + dev_dbg(state->dev,
> + "core: %d: qm:%d %s,%zx - quota stall (msg %d, slot %d)\n",
> + state->id, service->localport, msg_type_str(type), size,
> + quota->message_use_count, quota->slot_use_count);
> VCHIQ_SERVICE_STATS_INC(service, quota_stalls);
> mutex_unlock(&state->slot_mutex);
> if (wait_for_completion_interruptible("a->quota_event))
> @@ -1073,10 +1073,9 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
> spin_unlock("a_spinlock);
>
> if (slot_use_count)
> - vchiq_log_trace(state->dev, VCHIQ_CORE,
> - "%d: qm:%d %s,%zx - slot_use->%d (hdr %p)", state->id,
> - service->localport, msg_type_str(VCHIQ_MSG_TYPE(msgid)),
> - size, slot_use_count, header);
> + dev_dbg(state->dev, "core: %d: qm:%d %s,%zx - slot_use->%d (hdr %p)\n",
> + state->id, service->localport, msg_type_str(VCHIQ_MSG_TYPE(msgid)),
> + size, slot_use_count, header);
>
> VCHIQ_SERVICE_STATS_INC(service, ctrl_tx_count);
> VCHIQ_SERVICE_STATS_ADD(service, ctrl_tx_bytes, size);
> @@ -1205,11 +1204,11 @@ queue_message_sync(struct vchiq_state *state, struct vchiq_service *service,
> svc_fourcc = service ? service->base.fourcc
> : VCHIQ_MAKE_FOURCC('?', '?', '?', '?');
>
> - vchiq_log_trace(state->dev, VCHIQ_SYNC,
> - "Sent Sync Msg %s(%u) to %p4cc s:%u d:%d len:%d",
> - msg_type_str(VCHIQ_MSG_TYPE(msgid)), VCHIQ_MSG_TYPE(msgid),
> - &svc_fourcc, VCHIQ_MSG_SRCPORT(msgid),
> - VCHIQ_MSG_DSTPORT(msgid), size);
> + dev_dbg(state->dev,
> + "sync: Sent Sync Msg %s(%u) to %p4cc s:%u d:%d len:%d\n",
> + msg_type_str(VCHIQ_MSG_TYPE(msgid)), VCHIQ_MSG_TYPE(msgid),
> + &svc_fourcc, VCHIQ_MSG_SRCPORT(msgid),
> + VCHIQ_MSG_DSTPORT(msgid), size);
>
> remote_event_signal(&state->remote->sync_trigger);
>
> @@ -1298,11 +1297,11 @@ notify_bulks(struct vchiq_service *service, struct vchiq_bulk_queue *queue,
> {
> int status = 0;
>
> - vchiq_log_trace(service->state->dev, VCHIQ_CORE,
> - "%d: nb:%d %cx - p=%x rn=%x r=%x",
> - service->state->id, service->localport,
> - (queue == &service->bulk_tx) ? 't' : 'r',
> - queue->process, queue->remote_notify, queue->remove);
> + dev_dbg(service->state->dev,
> + "core: %d: nb:%d %cx - p=%x rn=%x r=%x\n",
> + service->state->id, service->localport,
> + (queue == &service->bulk_tx) ? 't' : 'r',
> + queue->process, queue->remote_notify, queue->remove);
>
> queue->remote_notify = queue->process;
>
> @@ -1425,11 +1424,11 @@ abort_outstanding_bulks(struct vchiq_service *service,
> {
> int is_tx = (queue == &service->bulk_tx);
>
> - vchiq_log_trace(service->state->dev, VCHIQ_CORE,
> - "%d: aob:%d %cx - li=%x ri=%x p=%x",
> - service->state->id, service->localport,
> - is_tx ? 't' : 'r', queue->local_insert,
> - queue->remote_insert, queue->process);
> + dev_dbg(service->state->dev,
> + "core: %d: aob:%d %cx - li=%x ri=%x p=%x\n",
> + service->state->id, service->localport,
> + is_tx ? 't' : 'r', queue->local_insert,
> + queue->remote_insert, queue->process);
>
> WARN_ON((int)(queue->local_insert - queue->process) < 0);
> WARN_ON((int)(queue->remote_insert - queue->process) < 0);
> @@ -1764,10 +1763,10 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header)
> state->id, msg_type_str(type), header, remoteport,
> localport, bulk->actual, &bulk->data);
>
> - vchiq_log_trace(state->dev, VCHIQ_CORE, "%d: prs:%d %cx li=%x ri=%x p=%x",
> - state->id, localport,
> - (type == VCHIQ_MSG_BULK_RX_DONE) ? 'r' : 't',
> - queue->local_insert, queue->remote_insert, queue->process);
> + dev_dbg(state->dev, "core: %d: prs:%d %cx li=%x ri=%x p=%x\n",
> + state->id, localport,
> + (type == VCHIQ_MSG_BULK_RX_DONE) ? 'r' : 't',
> + queue->local_insert, queue->remote_insert, queue->process);
>
> DEBUG_TRACE(PARSE_LINE);
> WARN_ON(queue->process == queue->local_insert);
> @@ -1780,13 +1779,13 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header)
> }
> break;
> case VCHIQ_MSG_PADDING:
> - vchiq_log_trace(state->dev, VCHIQ_CORE, "%d: prs PADDING@%pK,%x",
> - state->id, header, size);
> + dev_dbg(state->dev, "core: %d: prs PADDING@%pK,%x\n",
> + state->id, header, size);
> break;
> case VCHIQ_MSG_PAUSE:
> /* If initiated, signal the application thread */
> - vchiq_log_trace(state->dev, VCHIQ_CORE, "%d: prs PAUSE@%pK,%x",
> - state->id, header, size);
> + dev_dbg(state->dev, "core: %d: prs PAUSE@%pK,%x\n",
> + state->id, header, size);
> if (state->conn_state == VCHIQ_CONNSTATE_PAUSED) {
> dev_err(state->dev, "core: %d: PAUSE received in state PAUSED\n",
> state->id);
> @@ -1802,8 +1801,8 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header)
> vchiq_set_conn_state(state, VCHIQ_CONNSTATE_PAUSED);
> break;
> case VCHIQ_MSG_RESUME:
> - vchiq_log_trace(state->dev, VCHIQ_CORE, "%d: prs RESUME@%pK,%x",
> - state->id, header, size);
> + dev_dbg(state->dev, "core: %d: prs RESUME@%pK,%x\n",
> + state->id, header, size);
> /* Release the slot mutex */
> mutex_unlock(&state->slot_mutex);
> vchiq_set_conn_state(state, VCHIQ_CONNSTATE_CONNECTED);
> @@ -2040,10 +2039,8 @@ sync_func(void *v)
>
> svc_fourcc = service->base.fourcc;
>
> - vchiq_log_trace(state->dev, VCHIQ_SYNC,
> - "Rcvd Msg %s from %p4cc s:%d d:%d len:%d",
> - msg_type_str(type), &svc_fourcc,
> - remoteport, localport, size);
> + dev_dbg(state->dev, "sync: Rcvd Msg %s from %p4cc s:%d d:%d len:%d\n",
> + msg_type_str(type), &svc_fourcc, remoteport, localport, size);
> if (size > 0)
> vchiq_log_dump_mem(state->dev, "Rcvd", 0, header->data, min(16, size));
>
> @@ -2068,8 +2065,8 @@ sync_func(void *v)
> break;
>
> case VCHIQ_MSG_DATA:
> - vchiq_log_trace(state->dev, VCHIQ_SYNC, "%d: sf DATA@%pK,%x (%d->%d)",
> - state->id, header, size, remoteport, localport);
> + dev_dbg(state->dev, "sync: %d: sf DATA@%pK,%x (%d->%d)\n",
> + state->id, header, size, remoteport, localport);
>
> if ((service->remoteport == remoteport) &&
> (service->srvstate == VCHIQ_SRVSTATE_OPENSYNC)) {
> @@ -3111,9 +3108,9 @@ int vchiq_bulk_transfer(struct vchiq_instance *instance, unsigned int handle,
> mutex_unlock(&state->slot_mutex);
> mutex_unlock(&service->bulk_mutex);
>
> - vchiq_log_trace(state->dev, VCHIQ_CORE, "%d: bt:%d %cx li=%x ri=%x p=%x",
> - state->id, service->localport, dir_char, queue->local_insert,
> - queue->remote_insert, queue->process);
> + dev_dbg(state->dev, "core: %d: bt:%d %cx li=%x ri=%x p=%x\n",
> + state->id, service->localport, dir_char, queue->local_insert,
> + queue->remote_insert, queue->process);
>
> waiting:
> vchiq_service_put(service);
> @@ -3579,9 +3576,9 @@ void vchiq_log_dump_mem(struct device *dev, const char *label, u32 addr,
> *s++ = '\0';
>
> if (label && (*label != '\0'))
> - vchiq_log_trace(dev, VCHIQ_CORE, "%s: %08x: %s", label, addr, line_buf);
> + dev_dbg(dev, "core: %s: %08x: %s\n", label, addr, line_buf);
> else
> - vchiq_log_trace(dev, VCHIQ_CORE, "%s: %08x: %s", label, addr, line_buf);
> + dev_dbg(dev, "core: %s: %08x: %s\n", label, addr, line_buf);
This looks like a open-coded version of a hexdump. AFAIR the kernel
already has such logging functions.
Best regards
More information about the linux-arm-kernel
mailing list