Re: [PATCH v2] [media] mtk-vcodec: fix more type mismatches
From: pochun lin
Date: Wed Jul 13 2016 - 09:23:31 EST
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:
> > > 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