Thread (4 messages) 4 messages, 2 authors, 2016-07-13

[PATCH v2] [media] mtk-vcodec: fix more type mismatches

From: pochun lin <hidden>
Date: 2016-07-13 13:23:27
Also in: linux-media, linux-mediatek, lkml

Hi Arnd,

On Wed, 2016-07-13 at 15:17 +0200, Arnd Bergmann wrote:
On Wednesday, July 13, 2016 6:52:43 PM CEST pochun lin wrote:
quoted
quoted
diff --git a/drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c b/drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c
index f4e18bb44cb9..9a600525b3c1 100644
--- a/drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c
+++ b/drivers/media/platform/mtk-vcodec/venc/venc_h264_if.c
@@ -295,9 +295,9 @@ static int h264_enc_alloc_work_buf(struct venc_h264_inst *inst)
              wb[i].iova = inst->work_bufs[i].dma_addr;
 
              mtk_vcodec_debug(inst,
-                              "work_buf[%d] va=0x%p iova=0x%p size=%zu",
+                              "work_buf[%d] va=0x%p iova=%pad size=%zu",
                               i, inst->work_bufs[i].va,
-                              (void *)inst->work_bufs[i].dma_addr,
+                              &inst->work_bufs[i].dma_addr,
                               inst->work_bufs[i].size);
      }
 
This modified will dump dma_addr's address, not dma_addr value.
In actually, we need to dump dma_addr value.
According to Documentation/printk-formats.txt, it gets passed by
reference:

| DMA addresses types dma_addr_t:
|
|        %pad    0x01234567 or 0x0123456789abcdef
|
|        For printing a dma_addr_t type which can vary based on build options,
|        regardless of the width of the CPU data path. Passed by reference.

The whole point of the %pad/%pr/%pM/... format strings is to print
something that cannot be passed by value because the type is not
a fixed-size integer.

	Arnd
Got it. And sorry I was wrong.
Thanks your explain clearly.

Best Regards
PoChun
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help