[PATCH] [media] mtk-vcodec: fix type mismatches
From: tiffany.lin@mediatek.com (tiffany lin)
Date: 2016-07-13 13:56:24
Also in:
linux-media, linux-mediatek, lkml
Hi Arnd, On Wed, 2016-07-13 at 15:08 +0200, Arnd Bergmann wrote:
On Wednesday, July 13, 2016 5:56:26 PM CEST tiffany lin wrote:quoted
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.
I understood now, I will check Documentation/printk-formats.txt. Thanks for your explanation. best regards, Tiffany
Arnd