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 <mperttu...@nvidia.com>
---
 drivers/gpu/drm/tegra/nvdec.c | 6 ++++++
 drivers/gpu/drm/tegra/vic.c   | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/tegra/nvdec.c b/drivers/gpu/drm/tegra/nvdec.c
index c3b6fe7fb454..48c90e26e90a 100644
--- a/drivers/gpu/drm/tegra/nvdec.c
+++ b/drivers/gpu/drm/tegra/nvdec.c
@@ -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;
diff --git a/drivers/gpu/drm/tegra/vic.c b/drivers/gpu/drm/tegra/vic.c
index c02010ff2b7f..dec5e56f6780 100644
--- a/drivers/gpu/drm/tegra/vic.c
+++ b/drivers/gpu/drm/tegra/vic.c
@@ -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)) {
-- 
2.32.0

Reply via email to