summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/host1x/hw/host1x07.c
diff options
context:
space:
mode:
authorThierry Reding <treding@nvidia.com>2018-01-25 14:10:44 +0200
committerThierry Reding <treding@nvidia.com>2018-11-29 17:11:49 +0100
commitac1bdbf22bebabfee150bb5c33a02c4d0119d185 (patch)
treebfd80e1a97604aeecab7ffb6b35bc3d17e44def1 /drivers/gpu/host1x/hw/host1x07.c
parentb91bf997ea6efe9c48540572d693415fddaf0c3a (diff)
downloadlinux-ac1bdbf22bebabfee150bb5c33a02c4d0119d185.tar.gz
linux-ac1bdbf22bebabfee150bb5c33a02c4d0119d185.tar.bz2
linux-ac1bdbf22bebabfee150bb5c33a02c4d0119d185.zip
gpu: host1x: Add Tegra194 support
The host1x hardware found on Tegra194 is mostly backwards compatible with the version found on Tegra186, with the notable exceptions of the increased number of syncpoints and mlocks. In addition, some rarely used features such as syncpoint wait bases were dropped and some registers had to move around to accomodate the increased number of syncpoints. Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/gpu/host1x/hw/host1x07.c')
-rw-r--r--drivers/gpu/host1x/hw/host1x07.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/drivers/gpu/host1x/hw/host1x07.c b/drivers/gpu/host1x/hw/host1x07.c
new file mode 100644
index 000000000000..04b779a53f08
--- /dev/null
+++ b/drivers/gpu/host1x/hw/host1x07.c
@@ -0,0 +1,44 @@
+/*
+ * Host1x init for Tegra194 SoCs
+ *
+ * Copyright (c) 2018 NVIDIA Corporation.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* include hw specification */
+#include "host1x07.h"
+#include "host1x07_hardware.h"
+
+/* include code */
+#define HOST1X_HW 7
+
+#include "cdma_hw.c"
+#include "channel_hw.c"
+#include "debug_hw.c"
+#include "intr_hw.c"
+#include "syncpt_hw.c"
+
+#include "../dev.h"
+
+int host1x07_init(struct host1x *host)
+{
+ host->channel_op = &host1x_channel_ops;
+ host->cdma_op = &host1x_cdma_ops;
+ host->cdma_pb_op = &host1x_pushbuffer_ops;
+ host->syncpt_op = &host1x_syncpt_ops;
+ host->intr_op = &host1x_intr_ops;
+ host->debug_op = &host1x_debug_ops;
+
+ return 0;
+}