summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tegra/drm.c
diff options
context:
space:
mode:
authorThierry Reding <thierry.reding@avionic-design.de>2013-02-28 08:08:01 +0100
committerThierry Reding <treding@nvidia.com>2013-10-31 09:55:45 +0100
commit5f60ed0d840d53e9d65aa54e1a5365af8ce2769e (patch)
tree7c41cdd661bb768d54ad3c0c22c1c894b05df09c /drivers/gpu/drm/tegra/drm.c
parentc40f0f1afcb1dcce7f9fd978fbbc8d8d68cf5e84 (diff)
downloadblackbird-op-linux-5f60ed0d840d53e9d65aa54e1a5365af8ce2769e.tar.gz
blackbird-op-linux-5f60ed0d840d53e9d65aa54e1a5365af8ce2769e.zip
drm/tegra: Add 3D support
Initialize and power the 3D unit on Tegra20, Tegra30 and Tegra114 and register a channel with the Tegra DRM driver so that the unit can be used from userspace. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/gpu/drm/tegra/drm.c')
-rw-r--r--drivers/gpu/drm/tegra/drm.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index 6f42f1692f29..26a2903879d8 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -615,10 +615,13 @@ static const struct of_device_id host1x_drm_subdevs[] = {
{ .compatible = "nvidia,tegra20-dc", },
{ .compatible = "nvidia,tegra20-hdmi", },
{ .compatible = "nvidia,tegra20-gr2d", },
+ { .compatible = "nvidia,tegra20-gr3d", },
{ .compatible = "nvidia,tegra30-dc", },
{ .compatible = "nvidia,tegra30-hdmi", },
{ .compatible = "nvidia,tegra30-gr2d", },
+ { .compatible = "nvidia,tegra30-gr3d", },
{ .compatible = "nvidia,tegra114-hdmi", },
+ { .compatible = "nvidia,tegra114-gr3d", },
{ /* sentinel */ }
};
@@ -649,8 +652,14 @@ static int __init host1x_drm_init(void)
if (err < 0)
goto unregister_hdmi;
+ err = platform_driver_register(&tegra_gr3d_driver);
+ if (err < 0)
+ goto unregister_gr2d;
+
return 0;
+unregister_gr2d:
+ platform_driver_unregister(&tegra_gr2d_driver);
unregister_hdmi:
platform_driver_unregister(&tegra_hdmi_driver);
unregister_dc:
@@ -663,6 +672,7 @@ module_init(host1x_drm_init);
static void __exit host1x_drm_exit(void)
{
+ platform_driver_unregister(&tegra_gr3d_driver);
platform_driver_unregister(&tegra_gr2d_driver);
platform_driver_unregister(&tegra_hdmi_driver);
platform_driver_unregister(&tegra_dc_driver);
OpenPOWER on IntegriCloud