Re: [PATCH v2 1/3] drm/tegra: Add NVJPG driver

From: Mikko Perttunen
Date: Mon Jun 30 2025 - 03:13:17 EST


On 6/11/25 9:18 PM, Diogo Ivo wrote:
...
+static int nvjpg_load_falcon_firmware(struct nvjpg *nvjpg)
+{
+ struct host1x_client *client = &nvjpg->client.base;
+ struct tegra_drm *tegra = nvjpg->client.drm;
+ dma_addr_t iova;
+ size_t size;
+ void *virt;
+ int err;
+
+ if (nvjpg->falcon.firmware.virt)
+ return 0;
+
+ err = falcon_read_firmware(&nvjpg->falcon, nvjpg->config->firmware);
+ if (err < 0)
+ return err;
+
+ size = nvjpg->falcon.firmware.size;
+
+ if (!client->group) {
+ virt = dma_alloc_coherent(nvjpg->dev, size, &iova, GFP_KERNEL);
+
+ err = dma_mapping_error(nvjpg->dev, iova);
+ if (err < 0)
+ return err;

This needs to check the return value of dma_alloc_coherent. Looks like this was fixed in vic.c by Robin (5566174cb10a5167d59b0793871cab7990b149b8) but the issue persisted into nvdec.c in parallel, so it needs to be fixed there as well. I can send out the fix for nvdec.c.

With that fixed,

Acked-by: Mikko Perttunen <mperttunen@xxxxxxxxxx>

Thanks!
Mikko