[PATCH v6 11/14] media: mediatek: vcodec: support 36bit iova address
Kyrie Wu <[email protected]>
| Newsgroups | org.infradead.lists.linux-mediatek,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media |
|---|---|
| Message-ID | <[email protected]> |
Need to set dma mask to support 36bit iova address for decoder hardware can use 36bit address to decode for mt8196. Signed-off-by: Kyrie Wu <[email protected]> Reviewed-by: Nicolas Dufresne <[email protected]> --- .../platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c index 0d27adbf3..4d65c1025 100644 --- a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c +++ b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c @@ -392,6 +392,13 @@ static int mtk_vcodec_probe(struct platform_device *pdev) return -ENODEV; } dma_set_max_seg_size(&pdev->dev, UINT_MAX); + if (dev->chip_name == MTK_VDEC_MT8196) { + ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(36)); + if (ret) { + dev_err(&pdev->dev, "Failed to enable 36-bit DMA: %d\n", ret); + return ret; + } + } dev->fw_handler = mtk_vcodec_fw_select(dev, DECODER, dev->fw_init); if (IS_ERR(dev->fw_handler)) -- 2.51.0.windows.2