From 86c508b59b875a400b638d098375a37c729039e6 Mon Sep 17 00:00:00 2001 From: Shridhar Rasal Date: Mon, 20 Jul 2020 20:25:27 +0530 Subject: [PATCH] video: tegra: host: nvdla: set dma mask to 32 for vdk DLA t23x vdk doesn't work for IOVA higher than 32 address range, so cap DMA available range to 32 for vdk plarform. This is temp fix until CMOD fix available. Bug 200637192 Jira DLA-3510 Change-Id: Ic5627e4aeb154e10494a3d71b63c3baa4d9eab81 Signed-off-by: Shridhar Rasal Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2382424 Reviewed-by: Praveen K Reviewed-by: Bharat Nihalani Reviewed-by: mobile promotions GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions --- drivers/video/tegra/host/nvdla/nvdla.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/video/tegra/host/nvdla/nvdla.c b/drivers/video/tegra/host/nvdla/nvdla.c index e53152b9..ed887d6a 100644 --- a/drivers/video/tegra/host/nvdla/nvdla.c +++ b/drivers/video/tegra/host/nvdla/nvdla.c @@ -714,7 +714,7 @@ static struct of_device_id tegra_nvdla_of_match[] = { static int nvdla_probe(struct platform_device *pdev) { - int err = 0; + int err = 0, dla_dma_bit_mask = 39; struct nvhost_device_data *pdata = NULL; struct nvdla_device *nvdla_dev = NULL; struct device *dev = &pdev->dev; @@ -759,7 +759,10 @@ static int nvdla_probe(struct platform_device *pdev) goto err_no_ip; } - dma_set_mask(dev, DMA_BIT_MASK(39)); + if (tegra_platform_is_vdk()) + dla_dma_bit_mask = 32; + + dma_set_mask(dev, DMA_BIT_MASK(dla_dma_bit_mask)); nvdla_dev = devm_kzalloc(dev, sizeof(*nvdla_dev), GFP_KERNEL); if (!nvdla_dev) {