summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/tegra/host1x.c
diff options
context:
space:
mode:
authorThierry Reding <thierry.reding@avionic-design.de>2012-11-16 01:28:23 +0400
committerDave Airlie <airlied@redhat.com>2012-11-20 09:43:53 +0400
commitedec4af4c3d6d225578290a9acc38c78147df55b (patch)
tree1435e5f1b6d5c30861acefe33f379bc678658b41 /drivers/gpu/drm/tegra/host1x.c
parentd8f4a9eda006788d8054b8500d9eb5b6efcd8755 (diff)
downloadlinux-edec4af4c3d6d225578290a9acc38c78147df55b.tar.xz
drm: tegra: Add HDMI support
This commit adds support for the HDMI output on the Tegra20 SoC. Only one such output is available, but it can be driven by either of the two display controllers. A lot of work on this patch has been contributed by NVIDIA's Mark Zhang <markz@nvidia.com> and many other people at NVIDIA were very helpful in getting the HDMI support and surrounding infrastructure to work. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Tested-by: Stephen Warren <swarren@nvidia.com> Acked-by: Mark Zhang <markz@nvidia.com> Reviewed-by: Mark Zhang <markz@nvidia.com> Tested-by: Mark Zhang <markz@nvidia.com> Tested-and-acked-by: Alexandre Courbot <acourbot@nvidia.com> Acked-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/tegra/host1x.c')
-rw-r--r--drivers/gpu/drm/tegra/host1x.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tegra/host1x.c b/drivers/gpu/drm/tegra/host1x.c
index 9fbed4765e60..1f728cd7f61a 100644
--- a/drivers/gpu/drm/tegra/host1x.c
+++ b/drivers/gpu/drm/tegra/host1x.c
@@ -67,6 +67,7 @@ static int host1x_parse_dt(struct host1x *host1x)
{
static const char * const compat[] = {
"nvidia,tegra20-dc",
+ "nvidia,tegra20-hdmi",
};
unsigned int i;
int err;
@@ -294,8 +295,14 @@ static int __init tegra_host1x_init(void)
if (err < 0)
goto unregister_host1x;
+ err = platform_driver_register(&tegra_hdmi_driver);
+ if (err < 0)
+ goto unregister_dc;
+
return 0;
+unregister_dc:
+ platform_driver_unregister(&tegra_dc_driver);
unregister_host1x:
platform_driver_unregister(&tegra_host1x_driver);
return err;
@@ -304,6 +311,7 @@ module_init(tegra_host1x_init);
static void __exit tegra_host1x_exit(void)
{
+ platform_driver_unregister(&tegra_hdmi_driver);
platform_driver_unregister(&tegra_dc_driver);
platform_driver_unregister(&tegra_host1x_driver);
}