aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/tegra/drm.c1
-rw-r--r--drivers/gpu/drm/tegra/hub.c19
-rw-r--r--drivers/gpu/drm/tegra/hub.h1
3 files changed, 17 insertions, 4 deletions
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index 9a0efcea217a..4e40ffd2b32e 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -1255,6 +1255,7 @@ static const struct of_device_id host1x_drm_subdevs[] = {
1255 { .compatible = "nvidia,tegra186-sor", }, 1255 { .compatible = "nvidia,tegra186-sor", },
1256 { .compatible = "nvidia,tegra186-sor1", }, 1256 { .compatible = "nvidia,tegra186-sor1", },
1257 { .compatible = "nvidia,tegra186-vic", }, 1257 { .compatible = "nvidia,tegra186-vic", },
1258 { .compatible = "nvidia,tegra194-display", },
1258 { /* sentinel */ } 1259 { /* sentinel */ }
1259}; 1260};
1260 1261
diff --git a/drivers/gpu/drm/tegra/hub.c b/drivers/gpu/drm/tegra/hub.c
index 8f4fcbb515fb..6112d9042979 100644
--- a/drivers/gpu/drm/tegra/hub.c
+++ b/drivers/gpu/drm/tegra/hub.c
@@ -758,10 +758,12 @@ static int tegra_display_hub_probe(struct platform_device *pdev)
758 return err; 758 return err;
759 } 759 }
760 760
761 hub->clk_dsc = devm_clk_get(&pdev->dev, "dsc"); 761 if (hub->soc->supports_dsc) {
762 if (IS_ERR(hub->clk_dsc)) { 762 hub->clk_dsc = devm_clk_get(&pdev->dev, "dsc");
763 err = PTR_ERR(hub->clk_dsc); 763 if (IS_ERR(hub->clk_dsc)) {
764 return err; 764 err = PTR_ERR(hub->clk_dsc);
765 return err;
766 }
765 } 767 }
766 768
767 hub->clk_hub = devm_clk_get(&pdev->dev, "hub"); 769 hub->clk_hub = devm_clk_get(&pdev->dev, "hub");
@@ -890,10 +892,19 @@ static const struct dev_pm_ops tegra_display_hub_pm_ops = {
890 892
891static const struct tegra_display_hub_soc tegra186_display_hub = { 893static const struct tegra_display_hub_soc tegra186_display_hub = {
892 .num_wgrps = 6, 894 .num_wgrps = 6,
895 .supports_dsc = true,
896};
897
898static const struct tegra_display_hub_soc tegra194_display_hub = {
899 .num_wgrps = 6,
900 .supports_dsc = false,
893}; 901};
894 902
895static const struct of_device_id tegra_display_hub_of_match[] = { 903static const struct of_device_id tegra_display_hub_of_match[] = {
896 { 904 {
905 .compatible = "nvidia,tegra194-display",
906 .data = &tegra194_display_hub
907 }, {
897 .compatible = "nvidia,tegra186-display", 908 .compatible = "nvidia,tegra186-display",
898 .data = &tegra186_display_hub 909 .data = &tegra186_display_hub
899 }, { 910 }, {
diff --git a/drivers/gpu/drm/tegra/hub.h b/drivers/gpu/drm/tegra/hub.h
index 85b8bf41a395..6696a85fc1f2 100644
--- a/drivers/gpu/drm/tegra/hub.h
+++ b/drivers/gpu/drm/tegra/hub.h
@@ -38,6 +38,7 @@ to_tegra_shared_plane(struct drm_plane *plane)
38 38
39struct tegra_display_hub_soc { 39struct tegra_display_hub_soc {
40 unsigned int num_wgrps; 40 unsigned int num_wgrps;
41 bool supports_dsc;
41}; 42};
42 43
43struct tegra_display_hub { 44struct tegra_display_hub {