Thread (5 messages) 5 messages, 2 authors, 2016-07-14

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

From: arnd@arndb.de (Arnd Bergmann)
Date: 2016-07-13 13:09:51
Also in: linux-media, linux-mediatek, lkml

On Wednesday, July 13, 2016 5:56:26 PM CEST tiffany lin wrote:
quoted
diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
index 6dcae0a0a1f2..0b25a8700877 100644
--- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
+++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
@@ -1028,15 +1028,15 @@ static void mtk_venc_worker(struct work_struct *work)
      bs_buf.size = (size_t)dst_buf->planes[0].length;
 
      mtk_v4l2_debug(2,
-                     "Framebuf VA=%p PA=%llx Size=0x%lx;VA=%p PA=0x%llx Size=0x%lx;VA=%p PA=0x%llx Size=%zu",
+                     "Framebuf VA=%p PA=%pad Size=0x%zx;VA=%p PA=%pad Size=0x%zx;VA=%p PA=%pad Size=0x%zx",
                      frm_buf.fb_addr[0].va,
-                     (u64)frm_buf.fb_addr[0].dma_addr,
+                     &frm_buf.fb_addr[0].dma_addr,
                      frm_buf.fb_addr[0].size,
                      frm_buf.fb_addr[1].va,
-                     (u64)frm_buf.fb_addr[1].dma_addr,
+                     &frm_buf.fb_addr[1].dma_addr,
                      frm_buf.fb_addr[1].size,
                      frm_buf.fb_addr[2].va,
-                     (u64)frm_buf.fb_addr[2].dma_addr,
+                     &frm_buf.fb_addr[2].dma_addr,
                      frm_buf.fb_addr[2].size);
This change will make debug message dump address of dma_addr field but
not the value of the dma_addr we want.
How about change it from
PA=%llx -> PA=%u
(u64)frm_buf.fb_addr[0].dma_addr -> (u32)frm_buf.fb_addr[0].dma_addr,
The %llx works fine with the cast to u64, the change above is mainly for the "%lx"
on a size_t causing a warning.

The change to %pad is done in order to use a consistent output for the
dma_addr_t, which had a leading "0x" in two cases but not in the first
one.

printk interprets %pad as a pointer to a dma_addr_t and prints the
address, not the pointer to it, see Documentation/printk-formats.txt,
which lets you avoid the type cast as well as the 0x.

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