diff options
-rw-r--r-- | drivers/gpu/drm/tegra/drm.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/tegra/hub.c | 19 | ||||
-rw-r--r-- | drivers/gpu/drm/tegra/hub.h | 1 |
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 | ||
891 | static const struct tegra_display_hub_soc tegra186_display_hub = { | 893 | static const struct tegra_display_hub_soc tegra186_display_hub = { |
892 | .num_wgrps = 6, | 894 | .num_wgrps = 6, |
895 | .supports_dsc = true, | ||
896 | }; | ||
897 | |||
898 | static const struct tegra_display_hub_soc tegra194_display_hub = { | ||
899 | .num_wgrps = 6, | ||
900 | .supports_dsc = false, | ||
893 | }; | 901 | }; |
894 | 902 | ||
895 | static const struct of_device_id tegra_display_hub_of_match[] = { | 903 | static 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 | ||
39 | struct tegra_display_hub_soc { | 39 | struct tegra_display_hub_soc { |
40 | unsigned int num_wgrps; | 40 | unsigned int num_wgrps; |
41 | bool supports_dsc; | ||
41 | }; | 42 | }; |
42 | 43 | ||
43 | struct tegra_display_hub { | 44 | struct tegra_display_hub { |