drm/tegra: Bump VIC/NVDEC clock rates to Fmax
authorMikko Perttunen <mperttunen@nvidia.com>
Thu, 16 Sep 2021 15:09:20 +0000 (18:09 +0300)
committerThierry Reding <treding@nvidia.com>
Thu, 16 Dec 2021 13:07:06 +0000 (14:07 +0100)
To get full performance out of these engines, bump their clock rates
to maximum. In the future we may want something smarter but this
should be fine for now.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/drm/tegra/nvdec.c
drivers/gpu/drm/tegra/vic.c

index c3b6fe7fb4547b8e01f923caf0e1406f4f823e5c..48c90e26e90a49b5ad81daf5a2c334e4133ab23e 100644 (file)
@@ -374,6 +374,12 @@ static int nvdec_probe(struct platform_device *pdev)
                return PTR_ERR(nvdec->clk);
        }
 
+       err = clk_set_rate(nvdec->clk, ULONG_MAX);
+       if (err < 0) {
+               dev_err(&pdev->dev, "failed to set clock rate\n");
+               return err;
+       }
+
        err = of_property_read_u32(dev->of_node, "nvidia,host1x-class", &host_class);
        if (err < 0)
                host_class = HOST1X_CLASS_NVDEC;
index c02010ff2b7f28da26ea7d489597e9084e00c562..dec5e56f67804a8f14d5d464c09aa9eec3884c9d 100644 (file)
@@ -441,6 +441,12 @@ static int vic_probe(struct platform_device *pdev)
                return PTR_ERR(vic->clk);
        }
 
+       err = clk_set_rate(vic->clk, ULONG_MAX);
+       if (err < 0) {
+               dev_err(&pdev->dev, "failed to set clock rate\n");
+               return err;
+       }
+
        if (!dev->pm_domain) {
                vic->rst = devm_reset_control_get(dev, "vic");
                if (IS_ERR(vic->rst)) {