[PATCH 1/2] media: mediatek: vcodec: Remove decoder 'dma-ranges' conditon when set dma mask

Yong Wu (吴勇) Yong.Wu at mediatek.com
Fri Mar 24 02:19:08 PDT 2023


On Thu, 2023-03-23 at 17:13 +0800, YongWu wrote:
> On Thu, 2023-03-23 at 09:50 +0100, AngeloGioacchino Del Regno wrote:
> > Il 23/03/23 09:38, Yunfei Dong ha scritto:
> > > After commit f1ad5338a4d5("of: Fix "dma-ranges" handling for bus
> > > controllers"),
> > > the dma-ranges is not allowed in decoder dts node. But the driver
> > > still need
> > > to set dma mask, remove "dma-ranges" condition in prob function.
> > > 
> > > Signed-off-by: Yunfei Dong <yunfei.dong at mediatek.com>
> > > ---
> > > Reference series:
> > > [1]: v5 of this series is present by Yong Wu.
> > >       20230307023507.13306-1-yong.wu at mediatek.com
> > > ---
> > >   .../mediatek/vcodec/mtk_vcodec_dec_drv.c      | 24
> > > +++++++++++++-
> > > -----
> > >   1 file changed, 17 insertions(+), 7 deletions(-)
> > > 
> > > diff --git
> > > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
> > > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
> > > index bba7b932f4fa..2c3a4c2cdaee 100644
> > > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
> > > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
> > > @@ -137,6 +137,20 @@ static int
> > > mtk_vcodec_init_dec_resources(struct mtk_vcodec_dev *dev)
> > >       return 0;
> > >   }
> > > 
> > > +static int mtk_vcodec_dec_set_dma_mask(struct device *dev)
> > > +{
> > > +     int ret = 0;
> > > +
> > > +     return !(of_device_is_compatible(dev->of_node,
> > > "mediatek,mt8173-vcodec-dec") ||
> > > +            of_device_is_compatible(dev->of_node,
> > > "mediatek,mt8183-vcodec-dec"));
> > 
> > Like that, you're never reaching the code below...
> > 
> > Anyway, at a first glance, it looked like you were sending the same
> > commit twice,
> > but then I noticed... so... I would propose to change the commit
> > title(s) to follow
> > this format:
> > 
> > media: mediatek: vcodec: enc: Set DMA mask only for MT8173 and
> > MT8183
> > 
> > (but then, why mt8173/83 and not the others? this deserves an
> > explanation...)
> 
> This should be mt8173/83 don't need this. After confirming with
> yunfei,
> I will fix the "return" above and contain this two patches and a jpeg
> fix patch into the patchset of "Adjust the dma-ranges for MTK IOMMU".
> This issue was introduced by that one since I removed "dma-ranges"
> for
> them. they should be a topic.

Hi Angelo,

We meet a problem when changing this for jpeg.

JPEG[1] uses "mediatek,mtk-jpgenc" for mt2701, mt8183, mt8186 and
mt8188. But only mt8186/mt8188 need this
"dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(34))".
It can not distinguish the different SoC. Then does it need a different
compatible string for mt8186/mt8188?

Alternatively, A more simple way, MTK iommu knows whether the jpeg need
set dma_mask, it could help this. But I'm not sure if this is a right
way. The master devices don't know if it need set dma_mask and its
dma_mask is set by the other drivers, is this right?

Thanks very much:)

[1]
https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/media/mediatek-jpeg-encoder.yaml#L23

> 
> > 
> > 
> > Regards,
> > Angelo
> > 
> > 


More information about the Linux-mediatek mailing list