CVS commit: src/sys/arch/arm/nvidia

2022-03-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Mar 19 11:37:17 UTC 2022

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c

Log Message:
tegra124_car(4): Attach rndsource synchronously.

It looks like the original motivation for deferring to
config_interrupts was to wait until softint_establish worked.  But
this no longer needs to use softints to deliver the entropy, so
that's moot.

Doing this synchronously gives us a better chance for more entropy
earlier.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/arm/nvidia/tegra124_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra124_car.c
diff -u src/sys/arch/arm/nvidia/tegra124_car.c:1.23 src/sys/arch/arm/nvidia/tegra124_car.c:1.24
--- src/sys/arch/arm/nvidia/tegra124_car.c:1.23	Sat Mar 19 11:36:53 2022
+++ src/sys/arch/arm/nvidia/tegra124_car.c	Sat Mar 19 11:37:17 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra124_car.c,v 1.23 2022/03/19 11:36:53 riastradh Exp $ */
+/* $NetBSD: tegra124_car.c,v 1.24 2022/03/19 11:37:17 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.23 2022/03/19 11:36:53 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.24 2022/03/19 11:37:17 riastradh Exp $");
 
 #include 
 #include 
@@ -785,7 +785,7 @@ tegra124_car_attach(device_t parent, dev
 
 	tegra124_car_init(sc);
 
-	config_interrupts(self, tegra124_car_rnd_attach);
+	tegra124_car_rnd_attach(self);
 }
 
 static void



CVS commit: src/sys/arch/arm/nvidia

2022-03-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Mar 19 11:37:17 UTC 2022

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c

Log Message:
tegra124_car(4): Attach rndsource synchronously.

It looks like the original motivation for deferring to
config_interrupts was to wait until softint_establish worked.  But
this no longer needs to use softints to deliver the entropy, so
that's moot.

Doing this synchronously gives us a better chance for more entropy
earlier.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/arm/nvidia/tegra124_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2022-03-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Mar 19 11:36:53 UTC 2022

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c

Log Message:
tegra124_car(4): No need for rnd lock -- delete it.

This only ever reads from a single device register, so no need to
serialize access.

XXX This should really have a hardware-specific health test, but I
can't find any documentation on the underlying physical entropy
source.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra124_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra124_car.c
diff -u src/sys/arch/arm/nvidia/tegra124_car.c:1.22 src/sys/arch/arm/nvidia/tegra124_car.c:1.23
--- src/sys/arch/arm/nvidia/tegra124_car.c:1.22	Wed Jan 27 03:10:19 2021
+++ src/sys/arch/arm/nvidia/tegra124_car.c	Sat Mar 19 11:36:53 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra124_car.c,v 1.22 2021/01/27 03:10:19 thorpej Exp $ */
+/* $NetBSD: tegra124_car.c,v 1.23 2022/03/19 11:36:53 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.22 2021/01/27 03:10:19 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.23 2022/03/19 11:36:53 riastradh Exp $");
 
 #include 
 #include 
@@ -708,7 +708,6 @@ struct tegra124_car_softc {
 	u_int			sc_clock_cells;
 	u_int			sc_reset_cells;
 
-	kmutex_t		sc_rndlock;
 	krndsource_t		sc_rndsource;
 };
 
@@ -917,7 +916,6 @@ tegra124_car_rnd_attach(device_t self)
 {
 	struct tegra124_car_softc * const sc = device_private(self);
 
-	mutex_init(>sc_rndlock, MUTEX_DEFAULT, IPL_VM);
 	rndsource_setcb(>sc_rndsource, tegra124_car_rnd_callback, sc);
 	rnd_attach_source(>sc_rndsource, device_xname(sc->sc_dev),
 	RND_TYPE_RNG, RND_FLAG_COLLECT_VALUE|RND_FLAG_HASCB);
@@ -930,7 +928,6 @@ tegra124_car_rnd_callback(size_t bytes_w
 	uint16_t buf[512];
 	uint32_t cnt;
 
-	mutex_enter(>sc_rndlock);
 	while (bytes_wanted) {
 		const u_int nbytes = MIN(bytes_wanted, 1024);
 		for (cnt = 0; cnt < bytes_wanted / 2; cnt++) {
@@ -942,7 +939,6 @@ tegra124_car_rnd_callback(size_t bytes_w
 		bytes_wanted -= MIN(bytes_wanted, nbytes);
 	}
 	explicit_memset(buf, 0, sizeof(buf));
-	mutex_exit(>sc_rndlock);
 }
 
 static struct tegra_clk *



CVS commit: src/sys/arch/arm/nvidia

2022-03-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sat Mar 19 11:36:53 UTC 2022

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c

Log Message:
tegra124_car(4): No need for rnd lock -- delete it.

This only ever reads from a single device register, so no need to
serialize access.

XXX This should really have a hardware-specific health test, but I
can't find any documentation on the underlying physical entropy
source.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra124_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2022-02-06 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Feb  6 15:40:55 UTC 2022

Modified Files:
src/sys/arch/arm/nvidia: tegra_sdhc.c

Log Message:
sdhc: tegra: Set SDHC_FLAG_BROKEN_ADMA2_ZEROLEN quirk flag.

The Tegra SDHCI implementation apparently treats ADMA2 descriptors with
length of 0 incorrectly.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/arm/nvidia/tegra_sdhc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_sdhc.c
diff -u src/sys/arch/arm/nvidia/tegra_sdhc.c:1.30 src/sys/arch/arm/nvidia/tegra_sdhc.c:1.31
--- src/sys/arch/arm/nvidia/tegra_sdhc.c:1.30	Sat Jan 22 15:10:30 2022
+++ src/sys/arch/arm/nvidia/tegra_sdhc.c	Sun Feb  6 15:40:55 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_sdhc.c,v 1.30 2022/01/22 15:10:30 skrll Exp $ */
+/* $NetBSD: tegra_sdhc.c,v 1.31 2022/02/06 15:40:55 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -31,7 +31,7 @@
 #include "locators.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.30 2022/01/22 15:10:30 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.31 2022/02/06 15:40:55 jmcneill Exp $");
 
 #include 
 #include 
@@ -130,7 +130,8 @@ tegra_sdhc_attach(device_t parent, devic
 			  SDHC_FLAG_SINGLE_POWER_WRITE |
 			  SDHC_FLAG_NO_HS_BIT |
 			  SDHC_FLAG_USE_DMA |
-			  SDHC_FLAG_USE_ADMA2;
+			  SDHC_FLAG_USE_ADMA2 |
+			  SDHC_FLAG_BROKEN_ADMA2_ZEROLEN;
 	if (bus_width == 8) {
 		sc->sc.sc_flags |= SDHC_FLAG_8BIT_MODE;
 	}



CVS commit: src/sys/arch/arm/nvidia

2022-02-06 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Feb  6 15:40:55 UTC 2022

Modified Files:
src/sys/arch/arm/nvidia: tegra_sdhc.c

Log Message:
sdhc: tegra: Set SDHC_FLAG_BROKEN_ADMA2_ZEROLEN quirk flag.

The Tegra SDHCI implementation apparently treats ADMA2 descriptors with
length of 0 incorrectly.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/arm/nvidia/tegra_sdhc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 12:44:50 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm.c tegra_drm.h tegra_fb.c

Log Message:
drm: Do the attach task dance for tegra drm.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/nvidia/tegra_drm.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra_drm.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/nvidia/tegra_fb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_drm.c
diff -u src/sys/arch/arm/nvidia/tegra_drm.c:1.13 src/sys/arch/arm/nvidia/tegra_drm.c:1.14
--- src/sys/arch/arm/nvidia/tegra_drm.c:1.13	Sun Dec 19 12:44:14 2021
+++ src/sys/arch/arm/nvidia/tegra_drm.c	Sun Dec 19 12:44:50 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm.c,v 1.13 2021/12/19 12:44:14 riastradh Exp $ */
+/* $NetBSD: tegra_drm.c,v 1.14 2021/12/19 12:44:50 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,v 1.13 2021/12/19 12:44:14 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,v 1.14 2021/12/19 12:44:50 riastradh Exp $");
 
 #include 
 #include 
@@ -55,6 +55,8 @@ static void	tegra_drm_attach(device_t, d
 static int	tegra_drm_load(struct drm_device *, unsigned long);
 static void	tegra_drm_unload(struct drm_device *);
 
+static void	tegra_drm_task_work(struct work *, void *);
+
 static struct drm_driver tegra_drm_driver = {
 	.driver_features = DRIVER_MODESET | DRIVER_GEM,
 	.dev_priv_size = 0,
@@ -123,6 +125,14 @@ tegra_drm_attach(device_t parent, device
 	sc->sc_dmat = faa->faa_dmat;
 	sc->sc_bst = faa->faa_bst;
 	sc->sc_phandle = faa->faa_phandle;
+	sc->sc_task_thread = NULL;
+	SIMPLEQ_INIT(>sc_tasks);
+	if (workqueue_create(>sc_task_wq, "tegradrm",
+	_drm_task_work, NULL, PRI_NONE, IPL_NONE, WQ_MPSAFE)) {
+		aprint_error_dev(self, "unable to create workqueue\n");
+		sc->sc_task_wq = NULL;
+		return;
+	}
 
 	aprint_naive("\n");
 	aprint_normal("\n");
@@ -204,19 +214,43 @@ tegra_drm_attach(device_t parent, device
 	sc->sc_ddev->dmat = sc->sc_ddev->bus_dmat;
 	sc->sc_ddev->dmat_subregion_p = false;
 
+	/*
+	 * Cause any tasks issued synchronously during attach to be
+	 * processed at the end of this function.
+	 */
+	sc->sc_task_thread = curlwp;
+
 	error = -drm_dev_register(sc->sc_ddev, 0);
 	if (error) {
 		drm_dev_put(sc->sc_ddev);
+		sc->sc_ddev = NULL;
 		aprint_error_dev(self, "couldn't register DRM device: %d\n",
 		error);
-		return;
+		goto out;
 	}
+	sc->sc_dev_registered = true;
 
 	aprint_normal_dev(self, "initialized %s %d.%d.%d %s on minor %d\n",
 	driver->name, driver->major, driver->minor, driver->patchlevel,
 	driver->date, sc->sc_ddev->primary->index);
 
-	return;
+	/*
+	 * Process asynchronous tasks queued synchronously during
+	 * attach.  This will be for display detection to attach a
+	 * framebuffer, so we have the opportunity for a console device
+	 * to attach before autoconf has completed, in time for init(8)
+	 * to find that console without panicking.
+	 */
+	while (!SIMPLEQ_EMPTY(>sc_tasks)) {
+		struct tegra_drm_task *const task =
+		SIMPLEQ_FIRST(>sc_tasks);
+
+		SIMPLEQ_REMOVE_HEAD(>sc_tasks, tdt_u.queue);
+		(*task->tdt_fn)(task);
+	}
+
+out:	/* Cause any subesquent tasks to be processed by the workqueue.  */
+	atomic_store_relaxed(>sc_task_thread, NULL);
 }
 
 static int
@@ -246,3 +280,31 @@ tegra_drm_unload(struct drm_device *ddev
 
 	drm_mode_config_cleanup(ddev);
 }
+
+static void
+tegra_drm_task_work(struct work *work, void *cookie)
+{
+	struct tegra_drm_task *task = container_of(work, struct tegra_drm_task,
+	tdt_u.work);
+
+	(*task->tdt_fn)(task);
+}
+
+void
+tegra_task_init(struct tegra_drm_task *task,
+void (*fn)(struct tegra_drm_task *))
+{
+
+	task->tdt_fn = fn;
+}
+
+void
+tegra_task_schedule(device_t self, struct tegra_drm_task *task)
+{
+	struct tegra_drm_softc *sc = device_private(self);
+
+	if (atomic_load_relaxed(>sc_task_thread) == curlwp)
+		SIMPLEQ_INSERT_TAIL(>sc_tasks, task, tdt_u.queue);
+	else
+		workqueue_enqueue(sc->sc_task_wq, >tdt_u.work, NULL);
+}

Index: src/sys/arch/arm/nvidia/tegra_drm.h
diff -u src/sys/arch/arm/nvidia/tegra_drm.h:1.10 src/sys/arch/arm/nvidia/tegra_drm.h:1.11
--- src/sys/arch/arm/nvidia/tegra_drm.h:1.10	Sun Dec 19 12:44:14 2021
+++ src/sys/arch/arm/nvidia/tegra_drm.h	Sun Dec 19 12:44:50 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm.h,v 1.10 2021/12/19 12:44:14 riastradh Exp $ */
+/* $NetBSD: tegra_drm.h,v 1.11 2021/12/19 12:44:50 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -29,6 +29,8 @@
 #ifndef _ARM_TEGRA_DRM_H
 #define _ARM_TEGRA_DRM_H
 
+#include 
+
 #include 
 #include 
 #include 
@@ -54,6 +56,12 @@ struct tegra_drm_softc {
 
 	int			sc_phandle;
 
+	struct lwp			*sc_task_thread;
+	SIMPLEQ_HEAD(, tegra_drm_task)	sc_tasks;
+	struct workqueue	

CVS commit: src/sys/arch/arm/nvidia

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 12:44:50 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm.c tegra_drm.h tegra_fb.c

Log Message:
drm: Do the attach task dance for tegra drm.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/nvidia/tegra_drm.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra_drm.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/nvidia/tegra_fb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 12:44:14 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm.c tegra_drm.h tegra_drm_fb.c
tegra_drm_mode.c tegra_fb.c

Log Message:
drm: Make tegra drm build again.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/nvidia/tegra_drm.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra_drm.h \
src/sys/arch/arm/nvidia/tegra_drm_fb.c
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/nvidia/tegra_drm_mode.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/nvidia/tegra_fb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_drm.c
diff -u src/sys/arch/arm/nvidia/tegra_drm.c:1.12 src/sys/arch/arm/nvidia/tegra_drm.c:1.13
--- src/sys/arch/arm/nvidia/tegra_drm.c:1.12	Sun Dec 19 11:01:21 2021
+++ src/sys/arch/arm/nvidia/tegra_drm.c	Sun Dec 19 12:44:14 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm.c,v 1.12 2021/12/19 11:01:21 riastradh Exp $ */
+/* $NetBSD: tegra_drm.c,v 1.13 2021/12/19 12:44:14 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,v 1.12 2021/12/19 11:01:21 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,v 1.13 2021/12/19 12:44:14 riastradh Exp $");
 
 #include 
 #include 
@@ -40,7 +40,8 @@ __KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,
 #include 
 #include 
 
-#include 
+#include 
+#include 
 
 #include 
 #include 
@@ -51,10 +52,8 @@ __KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,
 static int	tegra_drm_match(device_t, cfdata_t, void *);
 static void	tegra_drm_attach(device_t, device_t, void *);
 
-static int	tegra_drm_set_busid(struct drm_device *, struct drm_master *);
-
 static int	tegra_drm_load(struct drm_device *, unsigned long);
-static int	tegra_drm_unload(struct drm_device *);
+static void	tegra_drm_unload(struct drm_device *);
 
 static struct drm_driver tegra_drm_driver = {
 	.driver_features = DRIVER_MODESET | DRIVER_GEM,
@@ -67,8 +66,6 @@ static struct drm_driver tegra_drm_drive
 	.gem_uvm_ops = _gem_cma_uvm_ops,
 
 	.dumb_create = drm_gem_cma_dumb_create,
-	.dumb_map_offset = drm_gem_cma_dumb_map_offset,
-	.dumb_destroy = drm_gem_dumb_destroy,
 
 	.get_vblank_counter = tegra_drm_get_vblank_counter,
 	.enable_vblank = tegra_drm_enable_vblank,
@@ -80,8 +77,6 @@ static struct drm_driver tegra_drm_drive
 	.major = DRIVER_MAJOR,
 	.minor = DRIVER_MINOR,
 	.patchlevel = DRIVER_PATCHLEVEL,
-
-	.set_busid = tegra_drm_set_busid,
 };
 
 CFATTACH_DECL_NEW(tegra_drm, sizeof(struct tegra_drm_softc),
@@ -211,7 +206,7 @@ tegra_drm_attach(device_t parent, device
 
 	error = -drm_dev_register(sc->sc_ddev, 0);
 	if (error) {
-		drm_dev_unref(sc->sc_ddev);
+		drm_dev_put(sc->sc_ddev);
 		aprint_error_dev(self, "couldn't register DRM device: %d\n",
 		error);
 		return;
@@ -225,21 +220,6 @@ tegra_drm_attach(device_t parent, device
 }
 
 static int
-tegra_drm_set_busid(struct drm_device *ddev, struct drm_master *master)
-{
-	const char *id = "platform:tegra:0";
-
-	master->unique = kzalloc(strlen(id) + 1, GFP_KERNEL);
-	if (master->unique == NULL)
-		return -ENOMEM;
-	strcpy(master->unique, id);
-	master->unique_len = strlen(master->unique);
-
-	return 0;
-}
-
-
-static int
 tegra_drm_load(struct drm_device *ddev, unsigned long flags)
 {
 	int error;
@@ -260,10 +240,9 @@ drmerr:
 	return error;
 }
 
-static int
+static void
 tegra_drm_unload(struct drm_device *ddev)
 {
-	drm_mode_config_cleanup(ddev);
 
-	return 0;
+	drm_mode_config_cleanup(ddev);
 }

Index: src/sys/arch/arm/nvidia/tegra_drm.h
diff -u src/sys/arch/arm/nvidia/tegra_drm.h:1.9 src/sys/arch/arm/nvidia/tegra_drm.h:1.10
--- src/sys/arch/arm/nvidia/tegra_drm.h:1.9	Mon Aug 27 15:31:51 2018
+++ src/sys/arch/arm/nvidia/tegra_drm.h	Sun Dec 19 12:44:14 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm.h,v 1.9 2018/08/27 15:31:51 riastradh Exp $ */
+/* $NetBSD: tegra_drm.h,v 1.10 2021/12/19 12:44:14 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -29,6 +29,7 @@
 #ifndef _ARM_TEGRA_DRM_H
 #define _ARM_TEGRA_DRM_H
 
+#include 
 #include 
 #include 
 
Index: src/sys/arch/arm/nvidia/tegra_drm_fb.c
diff -u src/sys/arch/arm/nvidia/tegra_drm_fb.c:1.9 src/sys/arch/arm/nvidia/tegra_drm_fb.c:1.10
--- src/sys/arch/arm/nvidia/tegra_drm_fb.c:1.9	Sat Aug  7 16:18:44 2021
+++ src/sys/arch/arm/nvidia/tegra_drm_fb.c	Sun Dec 19 12:44:14 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm_fb.c,v 1.9 2021/08/07 16:18:44 thorpej Exp $ */
+/* $NetBSD: tegra_drm_fb.c,v 1.10 2021/12/19 12:44:14 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,12 +27,13 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_drm_fb.c,v 1.9 2021/08/07 16:18:44 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_drm_fb.c,v 1.10 2021/12/19 12:44:14 riastradh Exp $");
 
-#include 
 #include 
-#include 
 #include 
+#include 
+#include 

CVS commit: src/sys/arch/arm/nvidia

2021-12-19 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Sun Dec 19 12:44:14 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm.c tegra_drm.h tegra_drm_fb.c
tegra_drm_mode.c tegra_fb.c

Log Message:
drm: Make tegra drm build again.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/nvidia/tegra_drm.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra_drm.h \
src/sys/arch/arm/nvidia/tegra_drm_fb.c
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/nvidia/tegra_drm_mode.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/nvidia/tegra_fb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2021-06-20 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Jun 21 03:15:22 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_cec.c

Log Message:
fix proplib deprecation


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra_cec.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_cec.c
diff -u src/sys/arch/arm/nvidia/tegra_cec.c:1.9 src/sys/arch/arm/nvidia/tegra_cec.c:1.10
--- src/sys/arch/arm/nvidia/tegra_cec.c:1.9	Sat Apr 24 19:36:27 2021
+++ src/sys/arch/arm/nvidia/tegra_cec.c	Sun Jun 20 23:15:22 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_cec.c,v 1.9 2021/04/24 23:36:27 thorpej Exp $ */
+/* $NetBSD: tegra_cec.c,v 1.10 2021/06/21 03:15:22 christos Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_cec.c,v 1.9 2021/04/24 23:36:27 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_cec.c,v 1.10 2021/06/21 03:15:22 christos Exp $");
 
 #include 
 #include 
@@ -179,7 +179,7 @@ tegra_cec_attach(device_t parent, device
 	}
 	aprint_normal_dev(self, "interrupting on %s\n", intrstr);
 
-	prop_dictionary_get_cstring_nocopy(prop, "hdmi-device",
+	prop_dictionary_get_string(prop, "hdmi-device",
 	>sc_hdmidevname);
 
 	fdtbus_reset_assert(sc->sc_rst);



CVS commit: src/sys/arch/arm/nvidia

2021-06-20 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Jun 21 03:15:22 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_cec.c

Log Message:
fix proplib deprecation


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra_cec.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2021-01-26 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Wed Jan 27 01:58:15 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_ahcisata.c tegra_pcie.c tegra_soctherm.c
tegra_xusb.c

Log Message:
Use DEVICE_COMPAT_EOL.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra_ahcisata.c
cvs rdiff -u -r1.34 -r1.35 src/sys/arch/arm/nvidia/tegra_pcie.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra_soctherm.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_ahcisata.c
diff -u src/sys/arch/arm/nvidia/tegra_ahcisata.c:1.16 src/sys/arch/arm/nvidia/tegra_ahcisata.c:1.17
--- src/sys/arch/arm/nvidia/tegra_ahcisata.c:1.16	Mon Jan 25 14:20:38 2021
+++ src/sys/arch/arm/nvidia/tegra_ahcisata.c	Wed Jan 27 01:58:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_ahcisata.c,v 1.16 2021/01/25 14:20:38 thorpej Exp $ */
+/* $NetBSD: tegra_ahcisata.c,v 1.17 2021/01/27 01:58:15 thorpej Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_ahcisata.c,v 1.16 2021/01/25 14:20:38 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_ahcisata.c,v 1.17 2021/01/27 01:58:15 thorpej Exp $");
 
 #include 
 #include 
@@ -105,7 +105,7 @@ struct tegra_ahcisata_data tegra210_ahci
 static const struct device_compatible_entry compat_data[] = {
 	{ .compat = "nvidia,tegra124-ahci", .data = _ahcisata_data },
 	{ .compat = "nvidia,tegra210-ahci", .data = _ahcisata_data },
-	{ },
+	DEVICE_COMPAT_EOL,
 };
 
 

Index: src/sys/arch/arm/nvidia/tegra_pcie.c
diff -u src/sys/arch/arm/nvidia/tegra_pcie.c:1.34 src/sys/arch/arm/nvidia/tegra_pcie.c:1.35
--- src/sys/arch/arm/nvidia/tegra_pcie.c:1.34	Mon Jan 25 14:20:38 2021
+++ src/sys/arch/arm/nvidia/tegra_pcie.c	Wed Jan 27 01:58:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_pcie.c,v 1.34 2021/01/25 14:20:38 thorpej Exp $ */
+/* $NetBSD: tegra_pcie.c,v 1.35 2021/01/27 01:58:15 thorpej Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_pcie.c,v 1.34 2021/01/25 14:20:38 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_pcie.c,v 1.35 2021/01/27 01:58:15 thorpej Exp $");
 
 #include 
 
@@ -139,7 +139,7 @@ CFATTACH_DECL_NEW(tegra_pcie, sizeof(str
 static const struct device_compatible_entry compat_data[] = {
 	{ .compat = "nvidia,tegra210-pcie",	.value = TEGRA_PCIE_210 },
 	{ .compat = "nvidia,tegra124-pcie",	.value = TEGRA_PCIE_124 },
-	{ }
+	DEVICE_COMPAT_EOL
 };
 
 static int

Index: src/sys/arch/arm/nvidia/tegra_soctherm.c
diff -u src/sys/arch/arm/nvidia/tegra_soctherm.c:1.11 src/sys/arch/arm/nvidia/tegra_soctherm.c:1.12
--- src/sys/arch/arm/nvidia/tegra_soctherm.c:1.11	Mon Jan 25 14:20:38 2021
+++ src/sys/arch/arm/nvidia/tegra_soctherm.c	Wed Jan 27 01:58:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_soctherm.c,v 1.11 2021/01/25 14:20:38 thorpej Exp $ */
+/* $NetBSD: tegra_soctherm.c,v 1.12 2021/01/27 01:58:15 thorpej Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_soctherm.c,v 1.11 2021/01/25 14:20:38 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_soctherm.c,v 1.12 2021/01/27 01:58:15 thorpej Exp $");
 
 #include 
 #include 
@@ -163,7 +163,7 @@ static const struct device_compatible_en
 	{ .compat = "nvidia,tegra124-soctherm",
 	  .data = _soctherm_config },
 
-	{ }
+	DEVICE_COMPAT_EOL
 };
 
 static int

Index: src/sys/arch/arm/nvidia/tegra_xusb.c
diff -u src/sys/arch/arm/nvidia/tegra_xusb.c:1.24 src/sys/arch/arm/nvidia/tegra_xusb.c:1.25
--- src/sys/arch/arm/nvidia/tegra_xusb.c:1.24	Mon Jan 25 14:20:38 2021
+++ src/sys/arch/arm/nvidia/tegra_xusb.c	Wed Jan 27 01:58:15 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_xusb.c,v 1.24 2021/01/25 14:20:38 thorpej Exp $ */
+/* $NetBSD: tegra_xusb.c,v 1.25 2021/01/27 01:58:15 thorpej Exp $ */
 
 /*
  * Copyright (c) 2016 Jonathan A. Kollasch
@@ -30,7 +30,7 @@
 #include "opt_tegra.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.24 2021/01/25 14:20:38 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.25 2021/01/27 01:58:15 thorpej Exp $");
 
 #include 
 #include 
@@ -148,7 +148,7 @@ struct tegra_xhci_data tegra210_xhci_dat
 static const struct device_compatible_entry compat_data[] = {
 	{ .compat = "nvidia,tegra124-xusb", .data = _xhci_data },
 	{ .compat = "nvidia,tegra210-xusb", .data = _xhci_data },
-	{ }
+	DEVICE_COMPAT_EOL
 };
 
 struct fw_dma {



CVS commit: src/sys/arch/arm/nvidia

2021-01-26 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Wed Jan 27 01:58:15 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_ahcisata.c tegra_pcie.c tegra_soctherm.c
tegra_xusb.c

Log Message:
Use DEVICE_COMPAT_EOL.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra_ahcisata.c
cvs rdiff -u -r1.34 -r1.35 src/sys/arch/arm/nvidia/tegra_pcie.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra_soctherm.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2021-01-18 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Tue Jan 19 00:36:09 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_pcie.c

Log Message:
Use device_compatible_entry / of_search_compatible() rather than
matching against multiple sets of compatinbility strings.


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/sys/arch/arm/nvidia/tegra_pcie.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2021-01-18 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Tue Jan 19 00:36:09 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_pcie.c

Log Message:
Use device_compatible_entry / of_search_compatible() rather than
matching against multiple sets of compatinbility strings.


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/sys/arch/arm/nvidia/tegra_pcie.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_pcie.c
diff -u src/sys/arch/arm/nvidia/tegra_pcie.c:1.32 src/sys/arch/arm/nvidia/tegra_pcie.c:1.33
--- src/sys/arch/arm/nvidia/tegra_pcie.c:1.32	Fri Jan 15 23:11:59 2021
+++ src/sys/arch/arm/nvidia/tegra_pcie.c	Tue Jan 19 00:36:09 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_pcie.c,v 1.32 2021/01/15 23:11:59 jmcneill Exp $ */
+/* $NetBSD: tegra_pcie.c,v 1.33 2021/01/19 00:36:09 thorpej Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_pcie.c,v 1.32 2021/01/15 23:11:59 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_pcie.c,v 1.33 2021/01/19 00:36:09 thorpej Exp $");
 
 #include 
 
@@ -65,6 +65,11 @@ static void	tegra_pcie_attach(device_t, 
 #define TEGRA_PCIE_NBUS 256
 #define TEGRA_PCIE_ECFB (1<<(12 - 8))	/* extended conf frags per bus */
 
+enum tegra_pcie_type {
+	TEGRA_PCIE_124		= 0,
+	TEGRA_PCIE_210		= 1,
+};
+
 struct tegra_pcie_ih {
 	int			(*ih_callback)(void *);
 	void			*ih_arg;
@@ -81,6 +86,7 @@ struct tegra_pcie_softc {
 	bus_space_handle_t	sc_bsh_pads;
 	bus_space_handle_t	sc_bsh_rpconf;
 	int			sc_phandle;
+	enum tegra_pcie_type	sc_type;
 
 	struct arm32_pci_chipset sc_pc;
 
@@ -130,17 +136,18 @@ static void	tegra_pcie_intr_disestablish
 CFATTACH_DECL_NEW(tegra_pcie, sizeof(struct tegra_pcie_softc),
 	tegra_pcie_match, tegra_pcie_attach, NULL, NULL);
 
+static const struct device_compatible_entry compat_data[] = {
+	{ .compat = "nvidia,tegra210-pcie",	.value = TEGRA_PCIE_210 },
+	{ .compat = "nvidia,tegra124-pcie",	.value = TEGRA_PCIE_124 },
+	{ 0 }
+};
+
 static int
 tegra_pcie_match(device_t parent, cfdata_t cf, void *aux)
 {
-	const char * const compatible[] = {
-		"nvidia,tegra210-pcie",
-		"nvidia,tegra124-pcie",
-		NULL
-	};
 	struct fdt_attach_args * const faa = aux;
 
-	return of_match_compatible(faa->faa_phandle, compatible);
+	return of_match_compat_data(faa->faa_phandle, compat_data);
 }
 
 static void
@@ -148,6 +155,7 @@ tegra_pcie_attach(device_t parent, devic
 {
 	struct tegra_pcie_softc * const sc = device_private(self);
 	struct fdt_attach_args * const faa = aux;
+	const struct device_compatible_entry *dce;
 	struct pciconf_resources *pcires;
 	struct pcibus_attach_args pba;
 	bus_addr_t afi_addr, cs_addr, pads_addr;
@@ -196,6 +204,10 @@ tegra_pcie_attach(device_t parent, devic
 		return;
 	}
 
+	dce = of_search_compatible(faa->faa_phandle, compat_data);
+	KASSERT(dce != NULL);
+	sc->sc_type = dce->value;
+
 	tegra_pcie_conf_map_buses(sc);
 
 	TAILQ_INIT(>sc_intrs);
@@ -463,14 +475,14 @@ tegra_pcie_setup(struct tegra_pcie_softc
 	bus_space_write_4(sc->sc_bst, sc->sc_bsh_afi, AFI_PCIE_CONFIG_REG, cfg);
 
 	/* Configure refclk pad */
-	const char * const tegra124_compat[] = { "nvidia,tegra124-pcie", NULL };
-	if (of_match_compatible(sc->sc_phandle, tegra124_compat))
-		bus_space_write_4(sc->sc_bst, sc->sc_bsh_pads, PADS_REFCLK_CFG0_REG,
-		0x44ac44ac);
-	const char * const tegra210_compat[] = { "nvidia,tegra210-pcie", NULL };
-	if (of_match_compatible(sc->sc_phandle, tegra210_compat))
-		bus_space_write_4(sc->sc_bst, sc->sc_bsh_pads, PADS_REFCLK_CFG0_REG,
-		0x90b890b8);
+	if (sc->sc_type == TEGRA_PCIE_124) {
+		bus_space_write_4(sc->sc_bst, sc->sc_bsh_pads,
+		PADS_REFCLK_CFG0_REG, 0x44ac44ac);
+	}
+	if (sc->sc_type == TEGRA_PCIE_210) {
+		bus_space_write_4(sc->sc_bst, sc->sc_bsh_pads,
+		PADS_REFCLK_CFG0_REG, 0x90b890b8);
+	}
 
 	/*
 	 * Map PCI address spaces into ARM address space via



CVS commit: src/sys/arch/arm/nvidia

2021-01-15 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Fri Jan 15 23:11:59 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_ahcisata.c tegra_apbdma.c tegra_cec.c
tegra_com.c tegra_drm_mode.c tegra_ehci.c tegra_hdaudio.c
tegra_i2c.c tegra_mc.c tegra_nouveau.c tegra_pcie.c tegra_sdhc.c
tegra_xusb.c

Log Message:
use fdtbus_intr_establish_xname


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/nvidia/tegra_ahcisata.c \
src/sys/arch/arm/nvidia/tegra_com.c \
src/sys/arch/arm/nvidia/tegra_hdaudio.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/nvidia/tegra_apbdma.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra_cec.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arm/nvidia/tegra_drm_mode.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra_ehci.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/nvidia/tegra_i2c.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra_mc.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/nvidia/tegra_nouveau.c
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/arm/nvidia/tegra_pcie.c
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/arm/nvidia/tegra_sdhc.c
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_ahcisata.c
diff -u src/sys/arch/arm/nvidia/tegra_ahcisata.c:1.13 src/sys/arch/arm/nvidia/tegra_ahcisata.c:1.14
--- src/sys/arch/arm/nvidia/tegra_ahcisata.c:1.13	Mon Dec 28 14:08:42 2020
+++ src/sys/arch/arm/nvidia/tegra_ahcisata.c	Fri Jan 15 23:11:59 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_ahcisata.c,v 1.13 2020/12/28 14:08:42 jmcneill Exp $ */
+/* $NetBSD: tegra_ahcisata.c,v 1.14 2021/01/15 23:11:59 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_ahcisata.c,v 1.13 2020/12/28 14:08:42 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_ahcisata.c,v 1.14 2021/01/15 23:11:59 jmcneill Exp $");
 
 #include 
 #include 
@@ -231,8 +231,8 @@ tegra_ahcisata_attach(device_t parent, d
 		return;
 	}
 
-	sc->sc_ih = fdtbus_intr_establish(phandle, 0, IPL_BIO, 0,
-	ahci_intr, >sc);
+	sc->sc_ih = fdtbus_intr_establish_xname(phandle, 0, IPL_BIO, 0,
+	ahci_intr, >sc, device_xname(self));
 	if (sc->sc_ih == NULL) {
 		aprint_error_dev(self, "failed to establish interrupt on %s\n",
 		intrstr);
Index: src/sys/arch/arm/nvidia/tegra_com.c
diff -u src/sys/arch/arm/nvidia/tegra_com.c:1.13 src/sys/arch/arm/nvidia/tegra_com.c:1.14
--- src/sys/arch/arm/nvidia/tegra_com.c:1.13	Mon Sep 28 11:54:23 2020
+++ src/sys/arch/arm/nvidia/tegra_com.c	Fri Jan 15 23:11:59 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_com.c,v 1.13 2020/09/28 11:54:23 jmcneill Exp $ */
+/* $NetBSD: tegra_com.c,v 1.14 2021/01/15 23:11:59 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include 
 
-__KERNEL_RCSID(1, "$NetBSD: tegra_com.c,v 1.13 2020/09/28 11:54:23 jmcneill Exp $");
+__KERNEL_RCSID(1, "$NetBSD: tegra_com.c,v 1.14 2021/01/15 23:11:59 jmcneill Exp $");
 
 #include 
 #include 
@@ -130,8 +130,8 @@ tegra_com_attach(device_t parent, device
 		return;
 	}
 
-	tsc->tsc_ih = fdtbus_intr_establish(faa->faa_phandle, 0, IPL_SERIAL,
-	FDT_INTR_MPSAFE, comintr, sc);
+	tsc->tsc_ih = fdtbus_intr_establish_xname(faa->faa_phandle, 0,
+	IPL_SERIAL, FDT_INTR_MPSAFE, comintr, sc, device_xname(self));
 	if (tsc->tsc_ih == NULL) {
 		aprint_error_dev(self, "failed to establish interrupt on %s\n",
 		intrstr);
Index: src/sys/arch/arm/nvidia/tegra_hdaudio.c
diff -u src/sys/arch/arm/nvidia/tegra_hdaudio.c:1.13 src/sys/arch/arm/nvidia/tegra_hdaudio.c:1.14
--- src/sys/arch/arm/nvidia/tegra_hdaudio.c:1.13	Sun Oct 13 06:11:31 2019
+++ src/sys/arch/arm/nvidia/tegra_hdaudio.c	Fri Jan 15 23:11:59 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_hdaudio.c,v 1.13 2019/10/13 06:11:31 skrll Exp $ */
+/* $NetBSD: tegra_hdaudio.c,v 1.14 2021/01/15 23:11:59 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_hdaudio.c,v 1.13 2019/10/13 06:11:31 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_hdaudio.c,v 1.14 2021/01/15 23:11:59 jmcneill Exp $");
 
 #include 
 #include 
@@ -165,8 +165,8 @@ tegra_hdaudio_attach(device_t parent, de
 		return;
 	}
 
-	sc->sc_ih = fdtbus_intr_establish(phandle, 0, IPL_AUDIO, 0,
-	tegra_hdaudio_intr, sc);
+	sc->sc_ih = fdtbus_intr_establish_xname(phandle, 0, IPL_AUDIO, 0,
+	tegra_hdaudio_intr, sc, device_xname(self));
 	if (sc->sc_ih == NULL) {
 		aprint_error_dev(self, "couldn't establish interrupt on %s\n",
 		intrstr);

Index: src/sys/arch/arm/nvidia/tegra_apbdma.c
diff -u src/sys/arch/arm/nvidia/tegra_apbdma.c:1.7 src/sys/arch/arm/nvidia/tegra_apbdma.c:1.8
--- src/sys/arch/arm/nvidia/tegra_apbdma.c:1.7	Sun Oct 13 06:11:31 2019
+++ 

CVS commit: src/sys/arch/arm/nvidia

2021-01-15 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Fri Jan 15 23:11:59 UTC 2021

Modified Files:
src/sys/arch/arm/nvidia: tegra_ahcisata.c tegra_apbdma.c tegra_cec.c
tegra_com.c tegra_drm_mode.c tegra_ehci.c tegra_hdaudio.c
tegra_i2c.c tegra_mc.c tegra_nouveau.c tegra_pcie.c tegra_sdhc.c
tegra_xusb.c

Log Message:
use fdtbus_intr_establish_xname


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/nvidia/tegra_ahcisata.c \
src/sys/arch/arm/nvidia/tegra_com.c \
src/sys/arch/arm/nvidia/tegra_hdaudio.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/nvidia/tegra_apbdma.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra_cec.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arm/nvidia/tegra_drm_mode.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra_ehci.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/nvidia/tegra_i2c.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra_mc.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/nvidia/tegra_nouveau.c
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/arm/nvidia/tegra_pcie.c
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/arm/nvidia/tegra_sdhc.c
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2020-10-15 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Thu Oct 15 09:33:17 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra_xusb.c

Log Message:
Initialise xhci_softc sc_ios


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_xusb.c
diff -u src/sys/arch/arm/nvidia/tegra_xusb.c:1.20 src/sys/arch/arm/nvidia/tegra_xusb.c:1.21
--- src/sys/arch/arm/nvidia/tegra_xusb.c:1.20	Sat Aug 29 19:06:17 2020
+++ src/sys/arch/arm/nvidia/tegra_xusb.c	Thu Oct 15 09:33:17 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_xusb.c,v 1.20 2020/08/29 19:06:17 jakllsch Exp $ */
+/* $NetBSD: tegra_xusb.c,v 1.21 2020/10/15 09:33:17 jmcneill Exp $ */
 
 /*
  * Copyright (c) 2016 Jonathan A. Kollasch
@@ -30,7 +30,7 @@
 #include "opt_tegra.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.20 2020/08/29 19:06:17 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.21 2020/10/15 09:33:17 jmcneill Exp $");
 
 #include 
 #include 
@@ -243,6 +243,7 @@ tegra_xusb_attach(device_t parent, devic
 		return;
 	}
 	DPRINTF(sc->sc_dev, "mapped %#" PRIxBUSADDR "\n", addr);
+	sc->sc_ios = size;
 
 	if (fdtbus_get_reg_byname(faa->faa_phandle, "fpci", , ) != 0) {
 		aprint_error(": couldn't get registers\n");



CVS commit: src/sys/arch/arm/nvidia

2020-10-15 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Thu Oct 15 09:33:17 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra_xusb.c

Log Message:
Initialise xhci_softc sc_ios


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2020-09-14 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Sep 14 07:27:19 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra_sdhc.c

Log Message:
Trailing whitespace.


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/arm/nvidia/tegra_sdhc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2020-09-14 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Sep 14 07:27:19 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra_sdhc.c

Log Message:
Trailing whitespace.


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/arm/nvidia/tegra_sdhc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_sdhc.c
diff -u src/sys/arch/arm/nvidia/tegra_sdhc.c:1.26 src/sys/arch/arm/nvidia/tegra_sdhc.c:1.27
--- src/sys/arch/arm/nvidia/tegra_sdhc.c:1.26	Sun Mar  1 16:38:59 2020
+++ src/sys/arch/arm/nvidia/tegra_sdhc.c	Mon Sep 14 07:27:19 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_sdhc.c,v 1.26 2020/03/01 16:38:59 skrll Exp $ */
+/* $NetBSD: tegra_sdhc.c,v 1.27 2020/09/14 07:27:19 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -31,7 +31,7 @@
 #include "locators.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.26 2020/03/01 16:38:59 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.27 2020/09/14 07:27:19 skrll Exp $");
 
 #include 
 #include 
@@ -158,7 +158,7 @@ tegra_sdhc_attach(device_t parent, devic
 	if (sc->sc_pin_power)
 		fdtbus_gpio_write(sc->sc_pin_power, 1);
 
-	sc->sc_pin_cd = fdtbus_gpio_acquire(faa->faa_phandle, 
+	sc->sc_pin_cd = fdtbus_gpio_acquire(faa->faa_phandle,
 	"cd-gpios", GPIO_PIN_INPUT);
 	sc->sc_pin_wp = fdtbus_gpio_acquire(faa->faa_phandle,
 	"wp-gpios", GPIO_PIN_INPUT);



CVS commit: src/sys/arch/arm/nvidia

2020-08-25 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Tue Aug 25 13:33:43 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra124_cpu.c

Log Message:
Protect tegra124_cpu_init_cpufreq against being run more than once.

config_finalize will call all config_finalize_register functions until
all registered functions return 0.  rf_autoconfig currently returns 1
which means tegra124_cpu_init_cpufreq would get called multiple times.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/nvidia/tegra124_cpu.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2020-08-25 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Tue Aug 25 13:33:43 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra124_cpu.c

Log Message:
Protect tegra124_cpu_init_cpufreq against being run more than once.

config_finalize will call all config_finalize_register functions until
all registered functions return 0.  rf_autoconfig currently returns 1
which means tegra124_cpu_init_cpufreq would get called multiple times.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/nvidia/tegra124_cpu.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra124_cpu.c
diff -u src/sys/arch/arm/nvidia/tegra124_cpu.c:1.4 src/sys/arch/arm/nvidia/tegra124_cpu.c:1.5
--- src/sys/arch/arm/nvidia/tegra124_cpu.c:1.4	Fri Jun  2 00:09:56 2017
+++ src/sys/arch/arm/nvidia/tegra124_cpu.c	Tue Aug 25 13:33:43 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra124_cpu.c,v 1.4 2017/06/02 00:09:56 jmcneill Exp $ */
+/* $NetBSD: tegra124_cpu.c,v 1.5 2020/08/25 13:33:43 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -30,7 +30,7 @@
 #include "opt_multiprocessor.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra124_cpu.c,v 1.4 2017/06/02 00:09:56 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra124_cpu.c,v 1.5 2020/08/25 13:33:43 skrll Exp $");
 
 #include 
 #include 
@@ -140,9 +140,14 @@ tegra124_cpu_attach(device_t parent, dev
 	config_finalize_register(self, tegra124_cpu_init_cpufreq);
 }
 
+static bool tegra124_cpu_init_done = false;
+
 static int
 tegra124_cpu_init_cpufreq(device_t dev)
 {
+	if (tegra124_cpu_init_done)
+		return 0;
+
 	tegra124_speedo_init();
 
 	int cpu_node = OF_finddevice("/cpus/cpu@0");
@@ -162,6 +167,8 @@ tegra124_cpu_init_cpufreq(device_t dev)
 
 	tegra_cpufreq_register(_cpufreq_func);
 
+	tegra124_cpu_init_done = true;
+
 	return 0;
 }
 



CVS commit: src/sys/arch/arm/nvidia

2020-08-21 Thread Valeriy E. Ushakov
Module Name:src
Committed By:   uwe
Date:   Fri Aug 21 23:30:03 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra_platform.c

Log Message:
#ifdef consistency.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra_platform.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_platform.c
diff -u src/sys/arch/arm/nvidia/tegra_platform.c:1.22 src/sys/arch/arm/nvidia/tegra_platform.c:1.23
--- src/sys/arch/arm/nvidia/tegra_platform.c:1.22	Fri Jul 10 12:25:09 2020
+++ src/sys/arch/arm/nvidia/tegra_platform.c	Fri Aug 21 23:30:02 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_platform.c,v 1.22 2020/07/10 12:25:09 skrll Exp $ */
+/* $NetBSD: tegra_platform.c,v 1.23 2020/08/21 23:30:02 uwe Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared D. McNeill 
@@ -34,7 +34,7 @@
 #include "ukbd.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.22 2020/07/10 12:25:09 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.23 2020/08/21 23:30:02 uwe Exp $");
 
 #include 
 #include 
@@ -86,6 +86,7 @@ tegra_platform_early_putchar(char c)
 #endif
 }
 
+#if defined(SOC_TEGRA124) || defined(SOC_TEGRA210)
 static const struct pmap_devmap *
 tegra_platform_devmap(void)
 {
@@ -107,6 +108,7 @@ tegra_platform_devmap(void)
 
 	return devmap;
 }
+#endif	/* SOC_TEGRA124 || SOC_TEGRA210 */
 
 #if defined(SOC_TEGRA124)
 static void
@@ -133,6 +135,7 @@ tegra210_platform_bootstrap(void)
 }
 #endif
 
+#if defined(SOC_TEGRA124) || defined(SOC_TEGRA210)
 static void
 tegra_platform_init_attach_args(struct fdt_attach_args *faa)
 {
@@ -212,6 +215,7 @@ tegra_platform_uart_freq(void)
 {
 	return PLLP_OUT0_FREQ;
 }
+#endif	/* SOC_TEGRA124 || SOC_TEGRA210 */
 
 #if defined(SOC_TEGRA124)
 static const struct arm_platform tegra124_platform = {



CVS commit: src/sys/arch/arm/nvidia

2020-08-21 Thread Valeriy E. Ushakov
Module Name:src
Committed By:   uwe
Date:   Fri Aug 21 23:30:03 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra_platform.c

Log Message:
#ifdef consistency.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra_platform.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2020-08-12 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Wed Aug 12 10:21:00 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c

Log Message:
Add CEC clock


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/nvidia/tegra124_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra124_car.c
diff -u src/sys/arch/arm/nvidia/tegra124_car.c:1.20 src/sys/arch/arm/nvidia/tegra124_car.c:1.21
--- src/sys/arch/arm/nvidia/tegra124_car.c:1.20	Thu Apr 30 03:40:52 2020
+++ src/sys/arch/arm/nvidia/tegra124_car.c	Wed Aug 12 10:21:00 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra124_car.c,v 1.20 2020/04/30 03:40:52 riastradh Exp $ */
+/* $NetBSD: tegra124_car.c,v 1.21 2020/08/12 10:21:00 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.20 2020/04/30 03:40:52 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.21 2020/08/12 10:21:00 jmcneill Exp $");
 
 #include 
 #include 
@@ -151,6 +151,7 @@ static struct tegra124_car_clock_id {
 	{ 127, "se" },
 	{ 128, "hda2hdmi" },
 	{ 129, "sata_cold" },
+	{ 136, "cec" },
 	{ 144, "cilab" },
 	{ 145, "cilcd" },
 	{ 146, "cile" },
@@ -631,6 +632,7 @@ static struct tegra_clk tegra124_car_clo
 	CLK_GATE_V("hda2codec_2x", "div_hda2codec_2x", CAR_DEV_V_HDA2CODEC_2X),
 	CLK_GATE_V("hda", "div_hda", CAR_DEV_V_HDA),
 	CLK_GATE_W("hda2hdmi", "clk_m", CAR_DEV_W_HDA2HDMICODEC),
+	CLK_GATE_W("cec", "clk_m", CAR_DEV_W_CEC),
 	CLK_GATE_H("fuse", "clk_m", CAR_DEV_H_FUSE),
 	CLK_GATE_U("soc_therm", "div_soc_therm", CAR_DEV_U_SOC_THERM),
 	CLK_GATE_V("mselect", "div_mselect", CAR_DEV_V_MSELECT),



CVS commit: src/sys/arch/arm/nvidia

2020-08-12 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Wed Aug 12 10:21:00 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c

Log Message:
Add CEC clock


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/nvidia/tegra124_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2020-07-08 Thread Valeriy E. Ushakov
Module Name:src
Committed By:   uwe
Date:   Wed Jul  8 22:28:21 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: files.tegra

Log Message:
tegra_xusb depends on firmload.

Make the dependency explicit, do not rely on some random USB device to
pull it in.


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/sys/arch/arm/nvidia/files.tegra

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/files.tegra
diff -u src/sys/arch/arm/nvidia/files.tegra:1.50 src/sys/arch/arm/nvidia/files.tegra:1.51
--- src/sys/arch/arm/nvidia/files.tegra:1.50	Sat Jul 27 14:05:04 2019
+++ src/sys/arch/arm/nvidia/files.tegra	Wed Jul  8 22:28:21 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: files.tegra,v 1.50 2019/07/27 14:05:04 skrll Exp $
+#	$NetBSD: files.tegra,v 1.51 2020/07/08 22:28:21 uwe Exp $
 #
 # Configuration info for NVIDIA Tegra ARM Peripherals
 #
@@ -105,7 +105,7 @@ attach	ehci at fdt with tegra_ehci
 file	arch/arm/nvidia/tegra_ehci.c		tegra_ehci
 
 # XUSB (USB 3.0)
-attach	xhci at fdt with tegra_xusb
+attach	xhci at fdt with tegra_xusb : firmload
 file	arch/arm/nvidia/tegra_xusb.c		tegra_xusb
 defflag	opt_tegra.hTEGRA_XUSB_DEBUG
 



CVS commit: src/sys/arch/arm/nvidia

2020-07-08 Thread Valeriy E. Ushakov
Module Name:src
Committed By:   uwe
Date:   Wed Jul  8 22:28:21 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: files.tegra

Log Message:
tegra_xusb depends on firmload.

Make the dependency explicit, do not rely on some random USB device to
pull it in.


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/sys/arch/arm/nvidia/files.tegra

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2020-03-01 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Mar  1 16:38:59 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra_sdhc.c

Log Message:
bus_dmatag_subregion isn't supported on (compiled into) arm so ifdef its
use in previous.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/arm/nvidia/tegra_sdhc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_sdhc.c
diff -u src/sys/arch/arm/nvidia/tegra_sdhc.c:1.25 src/sys/arch/arm/nvidia/tegra_sdhc.c:1.26
--- src/sys/arch/arm/nvidia/tegra_sdhc.c:1.25	Sat Feb 15 12:45:05 2020
+++ src/sys/arch/arm/nvidia/tegra_sdhc.c	Sun Mar  1 16:38:59 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_sdhc.c,v 1.25 2020/02/15 12:45:05 skrll Exp $ */
+/* $NetBSD: tegra_sdhc.c,v 1.26 2020/03/01 16:38:59 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -31,7 +31,7 @@
 #include "locators.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.25 2020/02/15 12:45:05 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.26 2020/03/01 16:38:59 skrll Exp $");
 
 #include 
 #include 
@@ -111,13 +111,16 @@ tegra_sdhc_attach(device_t parent, devic
 		bus_width = 4;
 
 	sc->sc.sc_dev = self;
+	sc->sc.sc_dmat = faa->faa_dmat;
 
+#ifdef _LP64
 	error = bus_dmatag_subregion(faa->faa_dmat, 0, 0x,
 	>sc.sc_dmat, BUS_DMA_WAITOK);
 	if (error != 0) {
 		aprint_error(": couldn't create DMA tag: %d\n", error);
 		return;
 	}
+#endif
 
 	sc->sc.sc_flags = SDHC_FLAG_32BIT_ACCESS |
 			  SDHC_FLAG_NO_PWR0 |



CVS commit: src/sys/arch/arm/nvidia

2020-03-01 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Mar  1 16:38:59 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra_sdhc.c

Log Message:
bus_dmatag_subregion isn't supported on (compiled into) arm so ifdef its
use in previous.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/arm/nvidia/tegra_sdhc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2020-02-15 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sat Feb 15 12:45:05 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra_sdhc.c

Log Message:
Need to limit the DMA range for tx1.  Assume 32bit DMA everywhere for now.


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/nvidia/tegra_sdhc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2020-02-15 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sat Feb 15 12:45:05 UTC 2020

Modified Files:
src/sys/arch/arm/nvidia: tegra_sdhc.c

Log Message:
Need to limit the DMA range for tx1.  Assume 32bit DMA everywhere for now.


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/nvidia/tegra_sdhc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_sdhc.c
diff -u src/sys/arch/arm/nvidia/tegra_sdhc.c:1.24 src/sys/arch/arm/nvidia/tegra_sdhc.c:1.25
--- src/sys/arch/arm/nvidia/tegra_sdhc.c:1.24	Sun Oct 13 06:11:31 2019
+++ src/sys/arch/arm/nvidia/tegra_sdhc.c	Sat Feb 15 12:45:05 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_sdhc.c,v 1.24 2019/10/13 06:11:31 skrll Exp $ */
+/* $NetBSD: tegra_sdhc.c,v 1.25 2020/02/15 12:45:05 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -31,7 +31,7 @@
 #include "locators.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.24 2019/10/13 06:11:31 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.25 2020/02/15 12:45:05 skrll Exp $");
 
 #include 
 #include 
@@ -111,7 +111,14 @@ tegra_sdhc_attach(device_t parent, devic
 		bus_width = 4;
 
 	sc->sc.sc_dev = self;
-	sc->sc.sc_dmat = faa->faa_dmat;
+
+	error = bus_dmatag_subregion(faa->faa_dmat, 0, 0x,
+	>sc.sc_dmat, BUS_DMA_WAITOK);
+	if (error != 0) {
+		aprint_error(": couldn't create DMA tag: %d\n", error);
+		return;
+	}
+
 	sc->sc.sc_flags = SDHC_FLAG_32BIT_ACCESS |
 			  SDHC_FLAG_NO_PWR0 |
 			  SDHC_FLAG_NO_CLKBASE |



CVS commit: src/sys/arch/arm/nvidia

2019-12-22 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Dec 22 23:40:49 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra_i2c.c

Log Message:
Use a separate lock (not the i2c bus lock) to synchronize with the
interrupt handler.  This in all liklihood fixes a deadlock bug that
necessitated forcing I2C_F_POLL in tegra_i2c_exec() (someone who has
the hardware should test removing that line).

Also includes the changes for:

Cleanup i2c bus acquire / release, centralizing all of the logic into
iic_acquire_bus() / iic_release_bus().  "acquire" and "release" hooks
no longer need to be provided by back-end controller drivers (only if
they need special handling, e.g. powering on the i2c controller).
This results in the removal of a bunch of rendundant code from each
back-end controller driver.

Assert that we are not in hard interrupt context in iic_acquire_bus(),
iic_exec(), and iic_release_bus().


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra_i2c.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2019-12-22 Thread Jason R Thorpe
Module Name:src
Committed By:   thorpej
Date:   Sun Dec 22 23:40:49 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra_i2c.c

Log Message:
Use a separate lock (not the i2c bus lock) to synchronize with the
interrupt handler.  This in all liklihood fixes a deadlock bug that
necessitated forcing I2C_F_POLL in tegra_i2c_exec() (someone who has
the hardware should test removing that line).

Also includes the changes for:

Cleanup i2c bus acquire / release, centralizing all of the logic into
iic_acquire_bus() / iic_release_bus().  "acquire" and "release" hooks
no longer need to be provided by back-end controller drivers (only if
they need special handling, e.g. powering on the i2c controller).
This results in the removal of a bunch of rendundant code from each
back-end controller driver.

Assert that we are not in hard interrupt context in iic_acquire_bus(),
iic_exec(), and iic_release_bus().


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra_i2c.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_i2c.c
diff -u src/sys/arch/arm/nvidia/tegra_i2c.c:1.22 src/sys/arch/arm/nvidia/tegra_i2c.c:1.23
--- src/sys/arch/arm/nvidia/tegra_i2c.c:1.22	Tue Sep 25 22:23:22 2018
+++ src/sys/arch/arm/nvidia/tegra_i2c.c	Sun Dec 22 23:40:49 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_i2c.c,v 1.22 2018/09/25 22:23:22 jmcneill Exp $ */
+/* $NetBSD: tegra_i2c.c,v 1.23 2019/12/22 23:40:49 thorpej Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_i2c.c,v 1.22 2018/09/25 22:23:22 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_i2c.c,v 1.23 2019/12/22 23:40:49 thorpej Exp $");
 
 #include 
 #include 
@@ -63,15 +63,13 @@ struct tegra_i2c_softc {
 	u_int			sc_cid;
 
 	struct i2c_controller	sc_ic;
-	kmutex_t		sc_lock;
-	kcondvar_t		sc_cv;
+	kmutex_t		sc_intr_lock;
+	kcondvar_t		sc_intr_wait;
 };
 
 static void	tegra_i2c_init(struct tegra_i2c_softc *);
 static int	tegra_i2c_intr(void *);
 
-static int	tegra_i2c_acquire_bus(void *, int);
-static void	tegra_i2c_release_bus(void *, int);
 static int	tegra_i2c_exec(void *, i2c_op_t, i2c_addr_t, const void *,
 			   size_t, void *, size_t, int);
 
@@ -140,8 +138,8 @@ tegra_i2c_attach(device_t parent, device
 		addr, error);
 		return;
 	}
-	mutex_init(>sc_lock, MUTEX_DEFAULT, IPL_VM);
-	cv_init(>sc_cv, device_xname(self));
+	mutex_init(>sc_intr_lock, MUTEX_DEFAULT, IPL_VM);
+	cv_init(>sc_intr_wait, device_xname(self));
 
 	aprint_naive("\n");
 	aprint_normal(": I2C\n");
@@ -177,11 +175,12 @@ tegra_i2c_attach(device_t parent, device
 	}
 	fdtbus_reset_deassert(sc->sc_rst);
 
+	mutex_enter(>sc_intr_lock);
 	tegra_i2c_init(sc);
+	mutex_exit(>sc_intr_lock);
 
+	iic_tag_init(>sc_ic);
 	sc->sc_ic.ic_cookie = sc;
-	sc->sc_ic.ic_acquire_bus = tegra_i2c_acquire_bus;
-	sc->sc_ic.ic_release_bus = tegra_i2c_release_bus;
 	sc->sc_ic.ic_exec = tegra_i2c_exec;
 
 	fdtbus_register_i2c_controller(self, phandle, _i2c_funcs);
@@ -236,48 +235,34 @@ tegra_i2c_intr(void *priv)
 		return 0;
 	I2C_WRITE(sc, I2C_INTERRUPT_STATUS_REG, istatus);
 
-	mutex_enter(>sc_lock);
-	cv_broadcast(>sc_cv);
-	mutex_exit(>sc_lock);
+	mutex_enter(>sc_intr_lock);
+	cv_broadcast(>sc_intr_wait);
+	mutex_exit(>sc_intr_lock);
 
 	return 1;
 }
 
 static int
-tegra_i2c_acquire_bus(void *priv, int flags)
-{
-	struct tegra_i2c_softc * const sc = priv;
-
-	mutex_enter(>sc_lock);
-
-	return 0;
-}
-
-static void
-tegra_i2c_release_bus(void *priv, int flags)
-{
-	struct tegra_i2c_softc * const sc = priv;
-
-	mutex_exit(>sc_lock);
-}
-
-static int
 tegra_i2c_exec(void *priv, i2c_op_t op, i2c_addr_t addr, const void *cmdbuf,
 size_t cmdlen, void *buf, size_t buflen, int flags)
 {
 	struct tegra_i2c_softc * const sc = priv;
 	int retry, error;
 
-#if notyet
-	if (cold)
-#endif
-		flags |= I2C_F_POLL;
-
-	KASSERT(mutex_owned(>sc_lock));
+	/*
+	 * XXXJRT This is probably no longer necessary?  Before these
+	 * changes, the bus lock was also used for the interrupt handler,
+	 * and there would be a deadlock when the interrupt handler tried to
+	 * acquire it again.  The bus lock is now owned by the mid-layer and
+	 * we have our own interrupt lock.
+	 */
+	flags |= I2C_F_POLL;
 
 	if (buflen == 0 && cmdlen == 0)
 		return EINVAL;
 
+	mutex_enter(>sc_intr_lock);
+
 	if ((flags & I2C_F_POLL) == 0) {
 		I2C_WRITE(sc, I2C_INTERRUPT_MASK_REG,
 		I2C_INTERRUPT_MASK_NOACK | I2C_INTERRUPT_MASK_ARB_LOST |
@@ -296,6 +281,7 @@ tegra_i2c_exec(void *priv, i2c_op_t op, 
 		delay(1);
 	}
 	if (retry == 0) {
+		mutex_exit(>sc_intr_lock);
 		device_printf(sc->sc_dev, "timeout flushing FIFO\n");
 		return EIO;
 	}
@@ -325,6 +311,8 @@ done:
 		tegra_i2c_init(sc);
 	}
 
+	mutex_exit(>sc_intr_lock);
+
 	return error;
 }
 
@@ -338,8 +326,9 @@ tegra_i2c_wait(struct tegra_i2c_softc *s
 
 	while (--retry 

CVS commit: src/sys/arch/arm/nvidia

2019-10-13 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Oct 13 06:11:31 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c tegra124_xusbpad.c
tegra210_car.c tegra210_xusbpad.c tegra_apbdma.c tegra_cec.c
tegra_com.c tegra_fuse.c tegra_gpio.c tegra_hdaudio.c tegra_mc.c
tegra_pinmux.c tegra_pmc.c tegra_rtc.c tegra_sdhc.c
tegra_soctherm.c tegra_timer.c tegra_usbphy.c tegra_xusb.c

Log Message:
Restore %# for PRIxBUSADDR


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/nvidia/tegra124_car.c \
src/sys/arch/arm/nvidia/tegra_xusb.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/nvidia/tegra124_xusbpad.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/nvidia/tegra210_car.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/nvidia/tegra210_xusbpad.c \
src/sys/arch/arm/nvidia/tegra_hdaudio.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra_apbdma.c \
src/sys/arch/arm/nvidia/tegra_rtc.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/nvidia/tegra_cec.c \
src/sys/arch/arm/nvidia/tegra_pinmux.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra_com.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/nvidia/tegra_fuse.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra_gpio.c \
src/sys/arch/arm/nvidia/tegra_timer.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra_mc.c \
src/sys/arch/arm/nvidia/tegra_usbphy.c
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/arm/nvidia/tegra_pmc.c
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/arm/nvidia/tegra_sdhc.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra_soctherm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra124_car.c
diff -u src/sys/arch/arm/nvidia/tegra124_car.c:1.18 src/sys/arch/arm/nvidia/tegra124_car.c:1.19
--- src/sys/arch/arm/nvidia/tegra124_car.c:1.18	Sun Oct 13 05:57:14 2019
+++ src/sys/arch/arm/nvidia/tegra124_car.c	Sun Oct 13 06:11:31 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra124_car.c,v 1.18 2019/10/13 05:57:14 skrll Exp $ */
+/* $NetBSD: tegra124_car.c,v 1.19 2019/10/13 06:11:31 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.18 2019/10/13 05:57:14 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.19 2019/10/13 06:11:31 skrll Exp $");
 
 #include 
 #include 
@@ -758,7 +758,7 @@ tegra124_car_attach(device_t parent, dev
 	sc->sc_bst = faa->faa_bst;
 	error = bus_space_map(sc->sc_bst, addr, size, 0, >sc_bsh);
 	if (error) {
-		aprint_error(": couldn't map %" PRIxBUSADDR ": %d", addr, error);
+		aprint_error(": couldn't map %#" PRIxBUSADDR ": %d", addr, error);
 		return;
 	}
 	if (of_getprop_uint32(phandle, "#clock-cells", >sc_clock_cells))
Index: src/sys/arch/arm/nvidia/tegra_xusb.c
diff -u src/sys/arch/arm/nvidia/tegra_xusb.c:1.18 src/sys/arch/arm/nvidia/tegra_xusb.c:1.19
--- src/sys/arch/arm/nvidia/tegra_xusb.c:1.18	Sun Oct 13 05:57:14 2019
+++ src/sys/arch/arm/nvidia/tegra_xusb.c	Sun Oct 13 06:11:31 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_xusb.c,v 1.18 2019/10/13 05:57:14 skrll Exp $ */
+/* $NetBSD: tegra_xusb.c,v 1.19 2019/10/13 06:11:31 skrll Exp $ */
 
 /*
  * Copyright (c) 2016 Jonathan A. Kollasch
@@ -30,7 +30,7 @@
 #include "opt_tegra.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.18 2019/10/13 05:57:14 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.19 2019/10/13 06:11:31 skrll Exp $");
 
 #include 
 #include 
@@ -223,7 +223,7 @@ tegra_xusb_attach(device_t parent, devic
 	}
 	error = bus_space_map(sc->sc_iot, addr, size, 0, >sc_ioh);
 	if (error) {
-		aprint_error(": couldn't map %" PRIxBUSADDR ": %d", addr, error);
+		aprint_error(": couldn't map %#" PRIxBUSADDR ": %d", addr, error);
 		return;
 	}
 	DPRINTF(sc->sc_dev, "mapped %#" PRIxBUSADDR "\n", addr);
@@ -234,7 +234,7 @@ tegra_xusb_attach(device_t parent, devic
 	}
 	error = bus_space_map(sc->sc_iot, addr, size, 0, >sc_bsh_fpci);
 	if (error) {
-		aprint_error(": couldn't map %" PRIxBUSADDR ": %d", addr, error);
+		aprint_error(": couldn't map %#" PRIxBUSADDR ": %d", addr, error);
 		return;
 	}
 	DPRINTF(sc->sc_dev, "mapped %#" PRIxBUSADDR "\n", addr);
@@ -245,7 +245,7 @@ tegra_xusb_attach(device_t parent, devic
 	}
 	error = bus_space_map(sc->sc_iot, addr, size, 0, >sc_bsh_ipfs);
 	if (error) {
-		aprint_error(": couldn't map %" PRIxBUSADDR ": %d", addr, error);
+		aprint_error(": couldn't map %#" PRIxBUSADDR ": %d", addr, error);
 		return;
 	}
 	DPRINTF(sc->sc_dev, "mapped %#" PRIxBUSADDR "\n", addr);

Index: src/sys/arch/arm/nvidia/tegra124_xusbpad.c
diff -u src/sys/arch/arm/nvidia/tegra124_xusbpad.c:1.3 src/sys/arch/arm/nvidia/tegra124_xusbpad.c:1.4
--- src/sys/arch/arm/nvidia/tegra124_xusbpad.c:1.3	Sun Oct 13 05:57:14 2019
+++ src/sys/arch/arm/nvidia/tegra124_xusbpad.c	Sun Oct 13 06:11:31 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: 

CVS commit: src/sys/arch/arm/nvidia

2019-10-13 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Oct 13 06:11:31 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c tegra124_xusbpad.c
tegra210_car.c tegra210_xusbpad.c tegra_apbdma.c tegra_cec.c
tegra_com.c tegra_fuse.c tegra_gpio.c tegra_hdaudio.c tegra_mc.c
tegra_pinmux.c tegra_pmc.c tegra_rtc.c tegra_sdhc.c
tegra_soctherm.c tegra_timer.c tegra_usbphy.c tegra_xusb.c

Log Message:
Restore %# for PRIxBUSADDR


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/nvidia/tegra124_car.c \
src/sys/arch/arm/nvidia/tegra_xusb.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/nvidia/tegra124_xusbpad.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/nvidia/tegra210_car.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/nvidia/tegra210_xusbpad.c \
src/sys/arch/arm/nvidia/tegra_hdaudio.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra_apbdma.c \
src/sys/arch/arm/nvidia/tegra_rtc.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/nvidia/tegra_cec.c \
src/sys/arch/arm/nvidia/tegra_pinmux.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra_com.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/nvidia/tegra_fuse.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra_gpio.c \
src/sys/arch/arm/nvidia/tegra_timer.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra_mc.c \
src/sys/arch/arm/nvidia/tegra_usbphy.c
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/arm/nvidia/tegra_pmc.c
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/arm/nvidia/tegra_sdhc.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra_soctherm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2019-10-12 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Oct 13 05:57:14 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c tegra124_xusbpad.c
tegra210_car.c tegra210_xusbpad.c tegra_apbdma.c tegra_cec.c
tegra_com.c tegra_fuse.c tegra_gpio.c tegra_hdaudio.c tegra_mc.c
tegra_pinmux.c tegra_pmc.c tegra_rtc.c tegra_sdhc.c
tegra_soctherm.c tegra_timer.c tegra_usbphy.c tegra_xusb.c

Log Message:
Use PRIxBUSADDR


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/nvidia/tegra124_car.c \
src/sys/arch/arm/nvidia/tegra_xusb.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/nvidia/tegra124_xusbpad.c
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/arm/nvidia/tegra210_car.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra210_xusbpad.c \
src/sys/arch/arm/nvidia/tegra_hdaudio.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/nvidia/tegra_apbdma.c \
src/sys/arch/arm/nvidia/tegra_rtc.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/nvidia/tegra_cec.c \
src/sys/arch/arm/nvidia/tegra_pinmux.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra_com.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra_fuse.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra_gpio.c \
src/sys/arch/arm/nvidia/tegra_timer.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra_mc.c \
src/sys/arch/arm/nvidia/tegra_usbphy.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/nvidia/tegra_pmc.c
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra_sdhc.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/nvidia/tegra_soctherm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra124_car.c
diff -u src/sys/arch/arm/nvidia/tegra124_car.c:1.17 src/sys/arch/arm/nvidia/tegra124_car.c:1.18
--- src/sys/arch/arm/nvidia/tegra124_car.c:1.17	Sat Mar  9 19:41:26 2019
+++ src/sys/arch/arm/nvidia/tegra124_car.c	Sun Oct 13 05:57:14 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra124_car.c,v 1.17 2019/03/09 19:41:26 jakllsch Exp $ */
+/* $NetBSD: tegra124_car.c,v 1.18 2019/10/13 05:57:14 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.17 2019/03/09 19:41:26 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.18 2019/10/13 05:57:14 skrll Exp $");
 
 #include 
 #include 
@@ -758,7 +758,7 @@ tegra124_car_attach(device_t parent, dev
 	sc->sc_bst = faa->faa_bst;
 	error = bus_space_map(sc->sc_bst, addr, size, 0, >sc_bsh);
 	if (error) {
-		aprint_error(": couldn't map %#llx: %d", (uint64_t)addr, error);
+		aprint_error(": couldn't map %" PRIxBUSADDR ": %d", addr, error);
 		return;
 	}
 	if (of_getprop_uint32(phandle, "#clock-cells", >sc_clock_cells))
Index: src/sys/arch/arm/nvidia/tegra_xusb.c
diff -u src/sys/arch/arm/nvidia/tegra_xusb.c:1.17 src/sys/arch/arm/nvidia/tegra_xusb.c:1.18
--- src/sys/arch/arm/nvidia/tegra_xusb.c:1.17	Tue Jan  8 18:04:00 2019
+++ src/sys/arch/arm/nvidia/tegra_xusb.c	Sun Oct 13 05:57:14 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_xusb.c,v 1.17 2019/01/08 18:04:00 jakllsch Exp $ */
+/* $NetBSD: tegra_xusb.c,v 1.18 2019/10/13 05:57:14 skrll Exp $ */
 
 /*
  * Copyright (c) 2016 Jonathan A. Kollasch
@@ -30,7 +30,7 @@
 #include "opt_tegra.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.17 2019/01/08 18:04:00 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.18 2019/10/13 05:57:14 skrll Exp $");
 
 #include 
 #include 
@@ -223,11 +223,10 @@ tegra_xusb_attach(device_t parent, devic
 	}
 	error = bus_space_map(sc->sc_iot, addr, size, 0, >sc_ioh);
 	if (error) {
-		aprint_error(": couldn't map %#" PRIx64 ": %d",
-		(uint64_t)addr, error);
+		aprint_error(": couldn't map %" PRIxBUSADDR ": %d", addr, error);
 		return;
 	}
-	DPRINTF(sc->sc_dev, "mapped %#" PRIx64 "\n", (uint64_t)addr);
+	DPRINTF(sc->sc_dev, "mapped %#" PRIxBUSADDR "\n", addr);
 
 	if (fdtbus_get_reg_byname(faa->faa_phandle, "fpci", , ) != 0) {
 		aprint_error(": couldn't get registers\n");
@@ -235,11 +234,10 @@ tegra_xusb_attach(device_t parent, devic
 	}
 	error = bus_space_map(sc->sc_iot, addr, size, 0, >sc_bsh_fpci);
 	if (error) {
-		aprint_error(": couldn't map %#" PRIx64 ": %d",
-		(uint64_t)addr, error);
+		aprint_error(": couldn't map %" PRIxBUSADDR ": %d", addr, error);
 		return;
 	}
-	DPRINTF(sc->sc_dev, "mapped %#" PRIx64 "\n", (uint64_t)addr);
+	DPRINTF(sc->sc_dev, "mapped %#" PRIxBUSADDR "\n", addr);
 
 	if (fdtbus_get_reg_byname(faa->faa_phandle, "ipfs", , ) != 0) {
 		aprint_error(": couldn't get registers\n");
@@ -247,11 +245,10 @@ tegra_xusb_attach(device_t parent, devic
 	}
 	error = bus_space_map(sc->sc_iot, addr, size, 0, >sc_bsh_ipfs);
 	if (error) {
-		aprint_error(": couldn't map %#" PRIx64 ": %d",
-		(uint64_t)addr, error);
+		aprint_error(": couldn't map %" PRIxBUSADDR ": %d", addr, error);
 		

CVS commit: src/sys/arch/arm/nvidia

2019-10-12 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Oct 13 05:57:14 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c tegra124_xusbpad.c
tegra210_car.c tegra210_xusbpad.c tegra_apbdma.c tegra_cec.c
tegra_com.c tegra_fuse.c tegra_gpio.c tegra_hdaudio.c tegra_mc.c
tegra_pinmux.c tegra_pmc.c tegra_rtc.c tegra_sdhc.c
tegra_soctherm.c tegra_timer.c tegra_usbphy.c tegra_xusb.c

Log Message:
Use PRIxBUSADDR


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/nvidia/tegra124_car.c \
src/sys/arch/arm/nvidia/tegra_xusb.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/nvidia/tegra124_xusbpad.c
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/arm/nvidia/tegra210_car.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra210_xusbpad.c \
src/sys/arch/arm/nvidia/tegra_hdaudio.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/nvidia/tegra_apbdma.c \
src/sys/arch/arm/nvidia/tegra_rtc.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/nvidia/tegra_cec.c \
src/sys/arch/arm/nvidia/tegra_pinmux.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra_com.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra_fuse.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra_gpio.c \
src/sys/arch/arm/nvidia/tegra_timer.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra_mc.c \
src/sys/arch/arm/nvidia/tegra_usbphy.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/nvidia/tegra_pmc.c
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra_sdhc.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/nvidia/tegra_soctherm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2019-10-12 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Oct 13 05:56:52 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm_mode.c

Log Message:
Trailing whitespace


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/nvidia/tegra_drm_mode.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2019-10-12 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Oct 13 05:56:52 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm_mode.c

Log Message:
Trailing whitespace


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/nvidia/tegra_drm_mode.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_drm_mode.c
diff -u src/sys/arch/arm/nvidia/tegra_drm_mode.c:1.18 src/sys/arch/arm/nvidia/tegra_drm_mode.c:1.19
--- src/sys/arch/arm/nvidia/tegra_drm_mode.c:1.18	Sun Jul  7 10:27:41 2019
+++ src/sys/arch/arm/nvidia/tegra_drm_mode.c	Sun Oct 13 05:56:52 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm_mode.c,v 1.18 2019/07/07 10:27:41 jmcneill Exp $ */
+/* $NetBSD: tegra_drm_mode.c,v 1.19 2019/10/13 05:56:52 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_drm_mode.c,v 1.18 2019/07/07 10:27:41 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_drm_mode.c,v 1.19 2019/10/13 05:56:52 skrll Exp $");
 
 #include 
 #include 
@@ -699,7 +699,7 @@ tegra_crtc_mode_set_base(struct drm_crtc
 struct drm_framebuffer *old_fb)
 {
 	struct tegra_crtc *tegra_crtc = to_tegra_crtc(crtc);
-	
+
 	tegra_crtc_do_set_base(crtc, old_fb, x, y, 0);
 
 	/* Commit settings */



CVS commit: src/sys/arch/arm/nvidia

2019-09-28 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sat Sep 28 07:42:47 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra210_pinmux.c tegra_pinmux.c
tegra_pinmux.h

Log Message:
Update tegra_pinmux to support all bindings (pins and pin groups)

Update tegra210_pinmux.c with all defined pins and groups.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/nvidia/tegra210_pinmux.c \
src/sys/arch/arm/nvidia/tegra_pinmux.h
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/nvidia/tegra_pinmux.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2019-09-28 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sat Sep 28 07:42:47 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra210_pinmux.c tegra_pinmux.c
tegra_pinmux.h

Log Message:
Update tegra_pinmux to support all bindings (pins and pin groups)

Update tegra210_pinmux.c with all defined pins and groups.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/nvidia/tegra210_pinmux.c \
src/sys/arch/arm/nvidia/tegra_pinmux.h
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/nvidia/tegra_pinmux.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra210_pinmux.c
diff -u src/sys/arch/arm/nvidia/tegra210_pinmux.c:1.1 src/sys/arch/arm/nvidia/tegra210_pinmux.c:1.2
--- src/sys/arch/arm/nvidia/tegra210_pinmux.c:1.1	Fri Sep 22 14:36:22 2017
+++ src/sys/arch/arm/nvidia/tegra210_pinmux.c	Sat Sep 28 07:42:47 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra210_pinmux.c,v 1.1 2017/09/22 14:36:22 jmcneill Exp $ */
+/* $NetBSD: tegra210_pinmux.c,v 1.2 2019/09/28 07:42:47 skrll Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra210_pinmux.c,v 1.1 2017/09/22 14:36:22 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra210_pinmux.c,v 1.2 2019/09/28 07:42:47 skrll Exp $");
 
 #include 
 #include 
@@ -36,171 +36,222 @@ __KERNEL_RCSID(0, "$NetBSD: tegra210_pin
 
 #include 
 
+#define TEGRA_PIN(n, r, f1, f2, f3, f4)	\
+	{\
+		.tpp_name = n,		\
+		.tpp_reg = (r),		\
+		.tpp_type = TEGRA_PINMUX,\
+		.tpp_functions = {	\
+			f1, f2, f3, f4	\
+		}			\
+	}
+
+#define TEGRA_PINGROUP(n, r, drvdn_m, drvup_m, slwrr_m, slwrf_m)	\
+	{\
+		.tpp_name = "drive_" n,	\
+		.tpp_reg = (r) - 0x8d4,	\
+		.tpp_type = TEGRA_PADCTRL,\
+		.tpp_dg = {		\
+			.drvdn_mask = drvdn_m,\
+			.drvup_mask = drvup_m,\
+			.slwrr_mask = slwrr_m,\
+			.slwrf_mask = slwrf_m\
+		}			\
+	}
+
+// 9.15 Pinmux registers
 static const struct tegra_pinmux_pins tegra210_pins[] = {
-	{ "sdmmc1_clk_pm0",		0x00, { "sdmmc1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sdmmc1_cmd_pm1",		0x04, { "sdmmc1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sdmmc1_dat3_pm2",		0x08, { "sdmmc1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sdmmc1_dat2_pm3",		0x0c, { "sdmmc1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sdmmc1_dat1_pm4",		0x10, { "sdmmc1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sdmmc1_dat0_pm5",		0x14, { "sdmmc1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sdmmc3_clk_pp0",		0x1c, { "sdmmc3", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sdmmc3_cmd_pp1",		0x20, { "sdmmc3", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sdmmc3_dat0_pp5",		0x24, { "sdmmc3", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sdmmc3_dat1_pp4",		0x28, { "sdmmc3", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sdmmc3_dat2_pp3",		0x2c, { "sdmmc3", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sdmmc3_dat3_pp2",		0x30, { "sdmmc3", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "pex_l0_rst_n_pa0",		0x38, { "pe0", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "pex_l0_clkreq_n_pa1",	0x3c, { "pe0", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "pex_wake_n_pa2",		0x40, { "pe", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "pex_l1_rst_n_pa3",		0x44, { "pe1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "pex_l1_clkreq_n_pa4",	0x48, { "pe1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "sata_led_active_pa5",	0x4c, { "sata", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "spi1_mosi_pc0",		0x50, { "spi1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "spi1_miso_pc1",		0x54, { "spi1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "spi1_sck_pc2",		0x58, { "spi1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "spi1_cs0_pc3",		0x5c, { "spi1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "spi1_cs1_pc4",		0x60, { "spi1", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "spi2_mosi_pb4",		0x64, { "spi2", "dtv", "rsvd2", "rsvd3" } },
-	{ "spi2_miso_pb5",		0x68, { "spi2", "dtv", "rsvd2", "rsvd3" } },
-	{ "spi2_sck_pb6",		0x6c, { "spi2", "dtv", "rsvd2", "rsvd3" } },
-	{ "spi2_cs0_pb7",		0x70, { "spi2", "dtv", "rsvd2", "rsvd3" } },
-	{ "spi2_cs1_pdd0",		0x74, { "spi2", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "spi4_mosi_pc7",		0x78, { "spi4", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "spi4_miso_pd0",		0x7c, { "spi4", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "spi4_sck_pc5",		0x80, { "spi4", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "spi4_cs0_pc6",		0x84, { "spi4", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "qspi_sck_pee0",		0x88, { "qspi", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "qspi_cs_n_pee1",		0x8c, { "qspi", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "qspi_io0_pee2",		0x90, { "qspi", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "qspi_io1_pee3",		0x94, { "qspi", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "qspi_io2_pee4",		0x98, { "qspi", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "qspi_io3_pee5",		0x9c, { "qspi", "rsvd1", "rsvd2", "rsvd3" } },
-	{ "dmic1_clk_pe0",		0xa4, { "dmic1", "i2s3", "rsvd2", "rsvd3" } },
-	{ "dmic1_dat_pe1",		0xa8, { "dmic1", "i2s3", "rsvd2", "rsvd3" } },
-	{ "dmic2_clk_pe2",		0xac, { "dmic2", 

CVS commit: src/sys/arch/arm/nvidia

2019-07-27 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sat Jul 27 14:05:04 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: files.tegra

Log Message:
Remove unused needs-flag


To generate a diff of this commit:
cvs rdiff -u -r1.49 -r1.50 src/sys/arch/arm/nvidia/files.tegra

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/files.tegra
diff -u src/sys/arch/arm/nvidia/files.tegra:1.49 src/sys/arch/arm/nvidia/files.tegra:1.50
--- src/sys/arch/arm/nvidia/files.tegra:1.49	Sun Jul  8 11:37:50 2018
+++ src/sys/arch/arm/nvidia/files.tegra	Sat Jul 27 14:05:04 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: files.tegra,v 1.49 2018/07/08 11:37:50 jmcneill Exp $
+#	$NetBSD: files.tegra,v 1.50 2019/07/27 14:05:04 skrll Exp $
 #
 # Configuration info for NVIDIA Tegra ARM Peripherals
 #
@@ -83,7 +83,7 @@ file	arch/arm/nvidia/tegra210_xusbpad.c	
 
 # UART
 attach	com at fdt with tegra_com
-file	arch/arm/nvidia/tegra_com.c		tegra_com needs-flag
+file	arch/arm/nvidia/tegra_com.c		tegra_com
 
 # I2C
 device	tegrai2c: i2cbus, i2cexec



CVS commit: src/sys/arch/arm/nvidia

2019-07-27 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sat Jul 27 14:05:04 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: files.tegra

Log Message:
Remove unused needs-flag


To generate a diff of this commit:
cvs rdiff -u -r1.49 -r1.50 src/sys/arch/arm/nvidia/files.tegra

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2019-07-07 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jul  7 10:27:41 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm_mode.c

Log Message:
Register userspace interfaces for our connector


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/nvidia/tegra_drm_mode.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_drm_mode.c
diff -u src/sys/arch/arm/nvidia/tegra_drm_mode.c:1.17 src/sys/arch/arm/nvidia/tegra_drm_mode.c:1.18
--- src/sys/arch/arm/nvidia/tegra_drm_mode.c:1.17	Mon Aug 27 15:31:51 2018
+++ src/sys/arch/arm/nvidia/tegra_drm_mode.c	Sun Jul  7 10:27:41 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm_mode.c,v 1.17 2018/08/27 15:31:51 riastradh Exp $ */
+/* $NetBSD: tegra_drm_mode.c,v 1.18 2019/07/07 10:27:41 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_drm_mode.c,v 1.17 2018/08/27 15:31:51 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_drm_mode.c,v 1.18 2019/07/07 10:27:41 jmcneill Exp $");
 
 #include 
 #include 
@@ -1191,7 +1191,7 @@ tegra_connector_init(struct drm_device *
 	if (!connector->ddc)
 		DRM_ERROR("failed to find ddc device for connector\n");
 
-	return 0;
+	return drm_connector_register(>base);
 }
 
 static void



CVS commit: src/sys/arch/arm/nvidia

2019-07-07 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jul  7 10:27:41 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm_mode.c

Log Message:
Register userspace interfaces for our connector


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/nvidia/tegra_drm_mode.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2019-03-12 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Tue Mar 12 18:46:20 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra_pcie.c

Log Message:
Fix paste-o in an error path diagnostic message.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/arm/nvidia/tegra_pcie.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_pcie.c
diff -u src/sys/arch/arm/nvidia/tegra_pcie.c:1.25 src/sys/arch/arm/nvidia/tegra_pcie.c:1.26
--- src/sys/arch/arm/nvidia/tegra_pcie.c:1.25	Fri Nov 16 15:06:22 2018
+++ src/sys/arch/arm/nvidia/tegra_pcie.c	Tue Mar 12 18:46:20 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_pcie.c,v 1.25 2018/11/16 15:06:22 jmcneill Exp $ */
+/* $NetBSD: tegra_pcie.c,v 1.26 2019/03/12 18:46:20 jakllsch Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_pcie.c,v 1.25 2018/11/16 15:06:22 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_pcie.c,v 1.26 2019/03/12 18:46:20 jakllsch Exp $");
 
 #include 
 #include 
@@ -185,7 +185,7 @@ tegra_pcie_attach(device_t parent, devic
 	error = bus_space_map(sc->sc_bst, pads_addr, pads_size, 0,
 	>sc_bsh_pads);
 	if (error) {
-		aprint_error(": couldn't map afi registers: %d\n", error);
+		aprint_error(": couldn't map pads registers: %d\n", error);
 		return;
 	}
 	error = bus_space_map(sc->sc_bst, cs_addr, cs_size, 0,



CVS commit: src/sys/arch/arm/nvidia

2019-03-12 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Tue Mar 12 18:46:20 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra_pcie.c

Log Message:
Fix paste-o in an error path diagnostic message.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/arm/nvidia/tegra_pcie.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2019-03-09 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Sat Mar  9 19:41:26 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c tegra124_carreg.h

Log Message:
Add Tegra124 "mselect" clock and two PCIe-related clocks it sources.

With mainline u-boot (not starting the pci subsystem in the firmware):
Gets to a root prompt instead of hanging during tegrapcie attach, but
PCIe remains non-functional without a modern "xusbpad" phy driver for
Tegra124 (needed to configure the lane map).


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra124_car.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra124_carreg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra124_car.c
diff -u src/sys/arch/arm/nvidia/tegra124_car.c:1.16 src/sys/arch/arm/nvidia/tegra124_car.c:1.17
--- src/sys/arch/arm/nvidia/tegra124_car.c:1.16	Wed Sep 26 22:32:46 2018
+++ src/sys/arch/arm/nvidia/tegra124_car.c	Sat Mar  9 19:41:26 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra124_car.c,v 1.16 2018/09/26 22:32:46 jmcneill Exp $ */
+/* $NetBSD: tegra124_car.c,v 1.17 2019/03/09 19:41:26 jakllsch Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.16 2018/09/26 22:32:46 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.17 2019/03/09 19:41:26 jakllsch Exp $");
 
 #include 
 #include 
@@ -403,6 +403,9 @@ static const char *mux_sata_p[] =
 static const char *mux_hda_p[] =
 	{ "pll_p_out0", "pll_c2_out0", "pll_c_out0", "pll_c3_out0",
 	  "pll_m_out0", NULL, "clk_m" };
+static const char *mux_mselect_p[] =
+	{ "pll_p_out0", "pll_c2_out0", "pll_c_out0", "pll_c3_out0",
+	  "pll_m_out0", "clk_s", "clk_m" };
 static const char *mux_tsensor_p[] =
 	{ "pll_p_out0", "pll_c2_out0", "pll_c_out0", "pll_c3_out0", "clk_m",
 	  NULL, "clk_s" };
@@ -497,6 +500,9 @@ static struct tegra_clk tegra124_car_clo
 	CLK_MUX("mux_soc_therm",
 		CAR_CLKSRC_SOC_THERM_REG, CAR_CLKSRC_SOC_THERM_SRC,
 		mux_soc_therm_p),
+	CLK_MUX("mux_mselect",
+		CAR_CLKSRC_MSELECT_REG, CAR_CLKSRC_MSELECT_SRC,
+		mux_mselect_p),
 	CLK_MUX("mux_tsensor",
 		CAR_CLKSRC_TSENSOR_REG, CAR_CLKSRC_TSENSOR_SRC,
 		mux_tsensor_p),
@@ -575,6 +581,8 @@ static struct tegra_clk tegra124_car_clo
 		CAR_CLKSRC_HDA_REG, CAR_CLKSRC_HDA_DIV),
 	CLK_DIV("div_soc_therm", "mux_soc_therm",
 		CAR_CLKSRC_SOC_THERM_REG, CAR_CLKSRC_SOC_THERM_DIV),
+	CLK_DIV("div_mselect", "mux_mselect",
+		CAR_CLKSRC_MSELECT_REG, CAR_CLKSRC_MSELECT_DIV),
 	CLK_DIV("div_tsensor", "mux_tsensor",
 		CAR_CLKSRC_TSENSOR_REG, CAR_CLKSRC_TSENSOR_DIV),
 	CLK_DIV("div_host1x", "mux_host1x",
@@ -626,6 +634,7 @@ static struct tegra_clk tegra124_car_clo
 	CLK_GATE_W("hda2hdmi", "clk_m", CAR_DEV_W_HDA2HDMICODEC),
 	CLK_GATE_H("fuse", "clk_m", CAR_DEV_H_FUSE),
 	CLK_GATE_U("soc_therm", "div_soc_therm", CAR_DEV_U_SOC_THERM),
+	CLK_GATE_V("mselect", "div_mselect", CAR_DEV_V_MSELECT),
 	CLK_GATE_V("tsensor", "div_tsensor", CAR_DEV_V_TSENSOR),
 	CLK_GATE_L("host1x", "div_host1x", CAR_DEV_L_HOST1X),
 	CLK_GATE_L("disp1", "mux_disp1", CAR_DEV_L_DISP1),
@@ -637,6 +646,8 @@ static struct tegra_clk tegra124_car_clo
 	CLK_GATE_W("xusb_ss", "xusb_ss_src", CAR_DEV_W_XUSB_SS),
 	CLK_GATE_X("gpu", "pll_ref", CAR_DEV_X_GPU),
 	CLK_GATE_H("apbdma", "clk_m", CAR_DEV_H_APBDMA),
+	CLK_GATE_U("pcie", "mselect", CAR_DEV_U_PCIE),
+	CLK_GATE_U("afi", "mselect", CAR_DEV_U_AFI),
 };
 
 struct tegra124_init_parent {

Index: src/sys/arch/arm/nvidia/tegra124_carreg.h
diff -u src/sys/arch/arm/nvidia/tegra124_carreg.h:1.6 src/sys/arch/arm/nvidia/tegra124_carreg.h:1.7
--- src/sys/arch/arm/nvidia/tegra124_carreg.h:1.6	Fri Jul 21 01:01:22 2017
+++ src/sys/arch/arm/nvidia/tegra124_carreg.h	Sat Mar  9 19:41:26 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra124_carreg.h,v 1.6 2017/07/21 01:01:22 jmcneill Exp $ */
+/* $NetBSD: tegra124_carreg.h,v 1.7 2019/03/09 19:41:26 jakllsch Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -427,6 +427,10 @@
 #define CAR_CCLKG_BURST_POLICY_CWAKEUP_SOURCE_CLKM		0
 #define CAR_CCLKG_BURST_POLICY_CWAKEUP_SOURCE_PLLX_OUT0_LJ	8
 
+#define CAR_CLKSRC_MSELECT_REG		0x3b4
+#define CAR_CLKSRC_MSELECT_SRC		__BITS(31,29)
+#define CAR_CLKSRC_MSELECT_DIV		__BITS(7,0)
+
 #define CAR_CLKSRC_TSENSOR_REG		0x3b8
 #define CAR_CLKSRC_TSENSOR_SRC		__BITS(31,29)
 #define CAR_CLKSRC_TSENSOR_SRC_CLK_M	4



CVS commit: src/sys/arch/arm/nvidia

2019-03-09 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Sat Mar  9 19:41:26 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c tegra124_carreg.h

Log Message:
Add Tegra124 "mselect" clock and two PCIe-related clocks it sources.

With mainline u-boot (not starting the pci subsystem in the firmware):
Gets to a root prompt instead of hanging during tegrapcie attach, but
PCIe remains non-functional without a modern "xusbpad" phy driver for
Tegra124 (needed to configure the lane map).


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra124_car.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra124_carreg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2019-01-31 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Jan 31 13:19:19 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: soc_tegra124.c

Log Message:
Fix another build


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/nvidia/soc_tegra124.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2019-01-31 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Jan 31 13:19:19 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: soc_tegra124.c

Log Message:
Fix another build


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/nvidia/soc_tegra124.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/soc_tegra124.c
diff -u src/sys/arch/arm/nvidia/soc_tegra124.c:1.20 src/sys/arch/arm/nvidia/soc_tegra124.c:1.21
--- src/sys/arch/arm/nvidia/soc_tegra124.c:1.20	Thu Jan 31 13:06:10 2019
+++ src/sys/arch/arm/nvidia/soc_tegra124.c	Thu Jan 31 13:19:19 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: soc_tegra124.c,v 1.20 2019/01/31 13:06:10 skrll Exp $ */
+/* $NetBSD: soc_tegra124.c,v 1.21 2019/01/31 13:19:19 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -30,7 +30,7 @@
 #include "opt_multiprocessor.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: soc_tegra124.c,v 1.20 2019/01/31 13:06:10 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: soc_tegra124.c,v 1.21 2019/01/31 13:19:19 skrll Exp $");
 
 #include 
 #include 
@@ -84,7 +84,7 @@ tegra124_mpstart(void)
 	}
 	if (i == 0) {
 		ret++;
-		aprint_error("cpu%d: WARNING: AP failed to start\n", i;
+		aprint_error("cpu%d: WARNING: AP failed to start\n", i);
 	}
 #endif
 	return ret;



CVS commit: src/sys/arch/arm/nvidia

2019-01-08 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Tue Jan  8 18:04:00 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra_xusb.c

Log Message:
Make TEGRA124_XUSB_BIN_STATIC and TEGRA210_XUSB_BIN_STATIC compile again.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_xusb.c
diff -u src/sys/arch/arm/nvidia/tegra_xusb.c:1.16 src/sys/arch/arm/nvidia/tegra_xusb.c:1.17
--- src/sys/arch/arm/nvidia/tegra_xusb.c:1.16	Fri Dec 14 18:17:36 2018
+++ src/sys/arch/arm/nvidia/tegra_xusb.c	Tue Jan  8 18:04:00 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_xusb.c,v 1.16 2018/12/14 18:17:36 skrll Exp $ */
+/* $NetBSD: tegra_xusb.c,v 1.17 2019/01/08 18:04:00 jakllsch Exp $ */
 
 /*
  * Copyright (c) 2016 Jonathan A. Kollasch
@@ -30,7 +30,7 @@
 #include "opt_tegra.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.16 2018/12/14 18:17:36 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.17 2019/01/08 18:04:00 jakllsch Exp $");
 
 #include 
 #include 
@@ -701,7 +701,6 @@ free:
 	return err;
 }
 
-#if !defined(TEGRA124_XUSB_BIN_STATIC)
 static void
 fw_dma_free(struct tegra_xusb_softc * const psc, struct fw_dma * const p)
 {
@@ -713,7 +712,6 @@ fw_dma_free(struct tegra_xusb_softc * co
 	bus_dmamem_unmap(dmat, p->addr, p->size);
 	bus_dmamem_free(dmat, p->segs, p->nsegs);
 }
-#endif
 
 #define FWHEADER_BOOT_CODETAG 8
 #define FWHEADER_BOOT_CODESIZE 12
@@ -735,7 +733,7 @@ tegra_xusb_open_fw(struct tegra_xusb_sof
 	case XUSB_T124:
 #if defined(TEGRA124_XUSB_BIN_STATIC)
 		firmware_size = (uintptr_t)&_binary_tegra124_xusb_bin_size;
-		fw_static = _binary_tegra124_xusb_bin_start;
+		fw_static = __UNCONST(_binary_tegra124_xusb_bin_start);
 #else
 		fw_path = "nvidia/tegra124";
 #endif
@@ -743,7 +741,7 @@ tegra_xusb_open_fw(struct tegra_xusb_sof
 	case XUSB_T210:
 #if defined(TEGRA210_XUSB_BIN_STATIC)
 		firmware_size = (uintptr_t)&_binary_tegra210_xusb_bin_size;
-		fw_static = _binary_tegra210_xusb_bin_start;
+		fw_static = __UNCONST(_binary_tegra210_xusb_bin_start);
 #else
 		fw_path = "nvidia/tegra210";
 #endif



CVS commit: src/sys/arch/arm/nvidia

2019-01-08 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Tue Jan  8 18:04:00 UTC 2019

Modified Files:
src/sys/arch/arm/nvidia: tegra_xusb.c

Log Message:
Make TEGRA124_XUSB_BIN_STATIC and TEGRA210_XUSB_BIN_STATIC compile again.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-12-15 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 15 13:17:12 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_platform.c

Log Message:
Add missing call to arm_fdt_cpu_mpstart, fixes SMP on Tegra X1


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/nvidia/tegra_platform.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_platform.c
diff -u src/sys/arch/arm/nvidia/tegra_platform.c:1.18 src/sys/arch/arm/nvidia/tegra_platform.c:1.19
--- src/sys/arch/arm/nvidia/tegra_platform.c:1.18	Tue Oct 30 16:41:52 2018
+++ src/sys/arch/arm/nvidia/tegra_platform.c	Sat Dec 15 13:17:12 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_platform.c,v 1.18 2018/10/30 16:41:52 skrll Exp $ */
+/* $NetBSD: tegra_platform.c,v 1.19 2018/12/15 13:17:12 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared D. McNeill 
@@ -34,7 +34,7 @@
 #include "ukbd.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.18 2018/10/30 16:41:52 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.19 2018/12/15 13:17:12 jmcneill Exp $");
 
 #include 
 #include 
@@ -126,6 +126,10 @@ tegra210_platform_bootstrap(void)
 {
 
 	tegra_bootstrap();
+
+#if defined(MULTIPROCESSOR) && defined(__aarch64__)
+	arm_fdt_cpu_bootstrap();
+#endif
 }
 
 static void
@@ -133,7 +137,7 @@ tegra210_platform_mpstart(void)
 {
 
 #if defined(MULTIPROCESSOR) && defined(__aarch64__)
-	arm_fdt_cpu_bootstrap();
+	arm_fdt_cpu_mpstart();
 #endif
 }
 #endif



CVS commit: src/sys/arch/arm/nvidia

2018-12-15 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 15 13:17:12 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_platform.c

Log Message:
Add missing call to arm_fdt_cpu_mpstart, fixes SMP on Tegra X1


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/nvidia/tegra_platform.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-12-14 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri Dec 14 18:17:36 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_xusb.c

Log Message:
Provide TEGRA210 supplies.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_xusb.c
diff -u src/sys/arch/arm/nvidia/tegra_xusb.c:1.15 src/sys/arch/arm/nvidia/tegra_xusb.c:1.16
--- src/sys/arch/arm/nvidia/tegra_xusb.c:1.15	Mon Jul 16 23:11:47 2018
+++ src/sys/arch/arm/nvidia/tegra_xusb.c	Fri Dec 14 18:17:36 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_xusb.c,v 1.15 2018/07/16 23:11:47 christos Exp $ */
+/* $NetBSD: tegra_xusb.c,v 1.16 2018/12/14 18:17:36 skrll Exp $ */
 
 /*
  * Copyright (c) 2016 Jonathan A. Kollasch
@@ -30,7 +30,7 @@
 #include "opt_tegra.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.15 2018/07/16 23:11:47 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.16 2018/12/14 18:17:36 skrll Exp $");
 
 #include 
 #include 
@@ -88,9 +88,50 @@ enum xusb_type {
 	XUSB_T210
 };
 
+struct tegra_xhci_data {
+	enum xusb_type		txd_type;
+	const char * const *	txd_supplies;
+	size_t			txd_nsupplies;
+	bool			txd_scale_ss_clock;
+};
+
+const char *tegra124_xhci_supplies[] = {
+	"dvddio-pex-supply",
+	"hvddio-pex-supply",
+	"avdd-usb-supply",
+	"avdd-pll-utmip-supply",
+	"avdd-pll-uerefe-supply",
+	"dvdd-usb-ss-pll-supply",
+	"hvdd-usb-ss-pll-e-supply"
+};
+
+struct tegra_xhci_data tegra124_xhci_data = {
+	.txd_type = XUSB_T124,
+	.txd_supplies = tegra124_xhci_supplies,
+	.txd_nsupplies = __arraycount(tegra124_xhci_supplies),
+	.txd_scale_ss_clock = true,
+};
+
+const char *tegra210_xhci_supplies[] = {
+	"dvddio-pex",
+	"hvddio-pex",
+	"avdd-usb",
+	"avdd-pll-utmip",
+	"avdd-pll-uerefe",
+	"dvdd-pex-pll",
+	"hvdd-pex-pll-e",
+};
+
+struct tegra_xhci_data tegra210_xhci_data = {
+	.txd_type = XUSB_T210,
+	.txd_supplies = tegra210_xhci_supplies,
+	.txd_nsupplies = __arraycount(tegra210_xhci_supplies),
+	.txd_scale_ss_clock = false,
+};
+
 static const struct of_compat_data compat_data[] = {
-	{ "nvidia,tegra124-xusb",		XUSB_T124 },
-	{ "nvidia,tegra210-xusb",		XUSB_T210 },
+	{ "nvidia,tegra124-xusb", (uintptr_t)_xhci_data },
+	{ "nvidia,tegra210-xusb", (uintptr_t)_xhci_data },
 	{ NULL }
 };
 
@@ -112,15 +153,14 @@ struct tegra_xusb_softc {
 	void			*sc_ih_mbox;
 	struct fw_dma		sc_fw_dma;
 	struct clk		*sc_clk_ss_src;
-	enum xusb_type		sc_type;
 
-	bool			sc_scale_ss_clock;
+	struct tegra_xhci_data	*sc_txd;
 };
 
 static uint32_t	csb_read_4(struct tegra_xusb_softc * const, bus_size_t);
 static void	csb_write_4(struct tegra_xusb_softc * const, bus_size_t,
 uint32_t);
-	
+
 static void	tegra_xusb_init(struct tegra_xusb_softc * const);
 static int	tegra_xusb_open_fw(struct tegra_xusb_softc * const);
 static int	tegra_xusb_load_fw(struct tegra_xusb_softc * const, void *,
@@ -173,16 +213,9 @@ tegra_xusb_attach(device_t parent, devic
 	sc->sc_bus.ub_dmatag = faa->faa_dmat;
 	sc->sc_quirks = XHCI_DEFERRED_START;
 	psc->sc_phandle = faa->faa_phandle;
-	psc->sc_type = of_search_compatible(faa->faa_phandle, compat_data)->data;
 
-	switch (psc->sc_type) {
-	case XUSB_T124:
-		psc->sc_scale_ss_clock = true;
-		break;
-	default:
-		psc->sc_scale_ss_clock = false;
-		break;
-	}
+	uintptr_t data = of_search_compatible(faa->faa_phandle, compat_data)->data;
+	psc->sc_txd = (struct tegra_xhci_data *)data;
 
 	if (fdtbus_get_reg_byname(faa->faa_phandle, "hcd", , ) != 0) {
 		aprint_error(": couldn't get registers\n");
@@ -305,7 +338,7 @@ tegra_xusb_attach(device_t parent, devic
 	tegra_xusb_attach_check(sc, psc->sc_clk_ss_src == NULL,
 		"failed to get xusb_ss_src clock");
 
-	if (psc->sc_scale_ss_clock) {
+	if (psc->sc_txd->txd_scale_ss_clock) {
 		rate = clk_get_rate(psc->sc_clk_ss_src);
 		DPRINTF(sc->sc_dev, "xusb_ss_src rate %u\n", rate);
 		error = clk_set_rate(psc->sc_clk_ss_src, 200);
@@ -357,11 +390,11 @@ tegra_xusb_attach(device_t parent, devic
 	tegra_xusb_init(psc);
 
 #if defined(TEGRA124_XUSB_BIN_STATIC)
-	if (psc->sc_type == XUSB_T124)
+	if (psc->sc_txd->txd_type == XUSB_T124)
 		wait_for_root = false;
 #endif
 #if defined(TEGRA210_XUSB_BIN_STATIC)
-	if (psc->sc_type == XUSB_T210)
+	if (psc->sc_txd->txd_type == XUSB_T210)
 		wait_for_root = false;
 #endif
 
@@ -502,7 +535,7 @@ tegra_xusb_intr_mbox(void *v)
 		break;
 	case 4:
 	case 5:
-		if (psc->sc_scale_ss_clock) {
+		if (psc->sc_txd->txd_scale_ss_clock) {
 			DPRINTF(sc->sc_dev, "SSPI_CLOCK %u\n", data * 1000);
 			rate = clk_get_rate(psc->sc_clk_ss_src);
 			DPRINTF(sc->sc_dev, "rate of psc->sc_clk_ss_src %u\n",
@@ -517,7 +550,7 @@ tegra_xusb_intr_mbox(void *v)
 msg = __SHIFTIN(128, MAILBOX_DATA_TYPE) |
   __SHIFTIN(rate / 1000, MAILBOX_DATA_DATA);
 			} else
-clk_fail:	
+clk_fail:
 msg = __SHIFTIN(129, MAILBOX_DATA_TYPE) |
   

CVS commit: src/sys/arch/arm/nvidia

2018-12-14 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri Dec 14 18:17:36 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_xusb.c

Log Message:
Provide TEGRA210 supplies.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-12-14 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri Dec 14 12:29:22 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c tegra210_carreg.h
tegra210_xusbpad.c tegra_ahcisata.c tegra_ahcisatareg.h tegra_var.h

Log Message:
Support SATA on TEGRA210

Thanks to jmcneill for help with this.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra210_car.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra210_carreg.h
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra210_xusbpad.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra_ahcisata.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/nvidia/tegra_ahcisatareg.h
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/arm/nvidia/tegra_var.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra210_car.c
diff -u src/sys/arch/arm/nvidia/tegra210_car.c:1.22 src/sys/arch/arm/nvidia/tegra210_car.c:1.23
--- src/sys/arch/arm/nvidia/tegra210_car.c:1.22	Wed Dec 12 09:55:34 2018
+++ src/sys/arch/arm/nvidia/tegra210_car.c	Fri Dec 14 12:29:22 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra210_car.c,v 1.22 2018/12/12 09:55:34 skrll Exp $ */
+/* $NetBSD: tegra210_car.c,v 1.23 2018/12/14 12:29:22 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015-2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.22 2018/12/12 09:55:34 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.23 2018/12/14 12:29:22 skrll Exp $");
 
 #include 
 #include 
@@ -457,6 +457,9 @@ static const char *mux_hda_p[] =
 	{ "PLL_P", "PLL_C2", "PLL_C", "PLL_C4_OUT0",
 	  NULL, "PLL_C4_OUT1", "CLK_M", "PLL_C4_OUT2" };
 
+static const char *mux_sata_p[] =
+	{ "PLL_P", NULL, "PLL_C", NULL, NULL, NULL, "CLK_M" };
+
 static struct tegra_clk tegra210_car_clocks[] = {
 	CLK_FIXED("CLK_M", TEGRA210_REF_FREQ),
 
@@ -536,6 +539,13 @@ static struct tegra_clk tegra210_car_clo
 		CAR_CLKSRC_HDA_REG, CAR_CLKSRC_HDA_SRC,
 		mux_hda_p),
 
+	CLK_MUX("MUX_SATA_OOB",
+		CAR_CLKSRC_SATA_OOB_REG	, CAR_CLKSRC_SATA_OOB_SRC,
+		mux_sata_p),
+	CLK_MUX("MUX_SATA",
+		CAR_CLKSRC_SATA_REG, CAR_CLKSRC_SATA_SRC,
+		mux_sata_p),
+
 	CLK_DIV("DIV_UARTA", "MUX_UARTA",
 		CAR_CLKSRC_UARTA_REG, CAR_CLKSRC_UART_DIV),
 	CLK_DIV("DIV_UARTB", "MUX_UARTB",
@@ -595,6 +605,11 @@ static struct tegra_clk tegra210_car_clo
 	CLK_DIV("DIV_HDA", "MUX_HDA",
 		CAR_CLKSRC_HDA_REG, CAR_CLKSRC_HDA_DIV),
 
+	CLK_DIV("DIV_SATA_OOB", "MUX_SATA_OOB",
+		CAR_CLKSRC_SATA_OOB_REG, CAR_CLKSRC_SATA_OOB_DIV),
+	CLK_DIV("DIV_SATA", "MUX_SATA",
+		CAR_CLKSRC_SATA_REG, CAR_CLKSRC_SATA_DIV),
+
 	CLK_GATE_SIMPLE("PLL_U_OUT1", "DIV_PLL_U_OUT1",
 		 CAR_PLLU_OUTA_REG, CAR_PLLU_OUTA_OUT1_CLKEN),
 	CLK_GATE_SIMPLE("PLL_U_OUT2", "DIV_PLL_U_OUT2",
@@ -636,6 +651,9 @@ static struct tegra_clk tegra210_car_clo
 	CLK_GATE_W("HDA2HDMI", "CLK_M", CAR_DEV_W_HDA2HDMICODEC),
 	CLK_GATE_V("HDA2CODEC_2X", "DIV_HDA2CODEC_2X", CAR_DEV_V_HDA2CODEC_2X),
 	CLK_GATE_V("HDA", "DIV_HDA", CAR_DEV_V_HDA),
+
+	CLK_GATE_V("SATA_OOB", "DIV_SATA_OOB", CAR_DEV_V_SATA_OOB),
+	CLK_GATE_V("SATA", "DIV_SATA", CAR_DEV_V_SATA),
 };
 
 struct tegra210_init_parent {
@@ -661,6 +679,8 @@ struct tegra210_init_parent {
 	{ "CML1",		NULL, 0, 0 },
 	{ "AFI",		NULL, 0, 1 },
 	{ "PCIE",		NULL, 0, 1 },
+	{ "SATA",		"PLL_P", 10400, 0 },
+	{ "SATA_OOB",		"PLL_P", 20400, 0 },
 };
 
 struct tegra210_car_rst {
@@ -1681,3 +1701,35 @@ tegra210_car_xusbio_enable_hw_seq(void)
 	tegra_reg_set_clear(bst, bsh, CAR_XUSBIO_PLL_CFG0_REG,
 	CAR_XUSBIO_PLL_CFG0_SEQ_ENABLE, 0);
 }
+
+void
+tegra210_car_sata_enable_hw_control(void)
+{
+	device_t dev = device_find_by_driver_unit("tegra210car", 0);
+	KASSERT(dev != NULL);
+	struct tegra210_car_softc * const sc = device_private(dev);
+	bus_space_tag_t bst = sc->sc_bst;
+	bus_space_handle_t bsh = sc->sc_bsh;
+
+	tegra_reg_set_clear(bst, bsh, CAR_SATA_PLL_CFG0_REG,
+	0,
+	CAR_SATA_PLL_CFG0_PADPLL_RESET_SWCTL);
+	tegra_reg_set_clear(bst, bsh, CAR_SATA_PLL_CFG0_REG,
+	CAR_SATA_PLL_CFG0_SEQ_PADPLL_SLEEP_IDDQ |
+	CAR_SATA_PLL_CFG0_PADPLL_USE_LOCKDET,
+	0);
+}
+
+void
+tegra210_car_sata_enable_hw_seq(void)
+{
+	device_t dev = device_find_by_driver_unit("tegra210car", 0);
+	KASSERT(dev != NULL);
+	struct tegra210_car_softc * const sc = device_private(dev);
+	bus_space_tag_t bst = sc->sc_bst;
+	bus_space_handle_t bsh = sc->sc_bsh;
+
+	tegra_reg_set_clear(bst, bsh, CAR_SATA_PLL_CFG0_REG,
+	CAR_SATA_PLL_CFG0_SEQ_ENABLE, 0);
+}
+

Index: src/sys/arch/arm/nvidia/tegra210_carreg.h
diff -u src/sys/arch/arm/nvidia/tegra210_carreg.h:1.8 src/sys/arch/arm/nvidia/tegra210_carreg.h:1.9
--- src/sys/arch/arm/nvidia/tegra210_carreg.h:1.8	Mon Sep 25 08:55:07 2017
+++ src/sys/arch/arm/nvidia/tegra210_carreg.h	Fri Dec 14 12:29:22 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra210_carreg.h,v 1.8 2017/09/25 08:55:07 jmcneill Exp $ */
+/* $NetBSD: tegra210_carreg.h,v 

CVS commit: src/sys/arch/arm/nvidia

2018-12-14 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri Dec 14 12:29:22 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c tegra210_carreg.h
tegra210_xusbpad.c tegra_ahcisata.c tegra_ahcisatareg.h tegra_var.h

Log Message:
Support SATA on TEGRA210

Thanks to jmcneill for help with this.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra210_car.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra210_carreg.h
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra210_xusbpad.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra_ahcisata.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/nvidia/tegra_ahcisatareg.h
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/arm/nvidia/tegra_var.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-12-12 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Wed Dec 12 09:55:34 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c tegra210_xusbpad.c

Log Message:
Trailing whitespace


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/arm/nvidia/tegra210_car.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra210_xusbpad.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra210_car.c
diff -u src/sys/arch/arm/nvidia/tegra210_car.c:1.21 src/sys/arch/arm/nvidia/tegra210_car.c:1.22
--- src/sys/arch/arm/nvidia/tegra210_car.c:1.21	Wed Sep 26 22:33:35 2018
+++ src/sys/arch/arm/nvidia/tegra210_car.c	Wed Dec 12 09:55:34 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra210_car.c,v 1.21 2018/09/26 22:33:35 jmcneill Exp $ */
+/* $NetBSD: tegra210_car.c,v 1.22 2018/12/12 09:55:34 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015-2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.21 2018/09/26 22:33:35 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.22 2018/12/12 09:55:34 skrll Exp $");
 
 #include 
 #include 
@@ -554,17 +554,17 @@ static struct tegra_clk tegra210_car_clo
 	CLK_DIV("DIV_SDMMC4", "MUX_SDMMC4",
 		CAR_CLKSRC_SDMMC4_REG, CAR_CLKSRC_SDMMC_DIV),
 
-	CLK_DIV("DIV_I2C1", "MUX_I2C1", 
+	CLK_DIV("DIV_I2C1", "MUX_I2C1",
 		CAR_CLKSRC_I2C1_REG, CAR_CLKSRC_I2C_DIV),
-	CLK_DIV("DIV_I2C2", "MUX_I2C2", 
+	CLK_DIV("DIV_I2C2", "MUX_I2C2",
 		CAR_CLKSRC_I2C2_REG, CAR_CLKSRC_I2C_DIV),
-	CLK_DIV("DIV_I2C3", "MUX_I2C3", 
+	CLK_DIV("DIV_I2C3", "MUX_I2C3",
 		CAR_CLKSRC_I2C3_REG, CAR_CLKSRC_I2C_DIV),
-	CLK_DIV("DIV_I2C4", "MUX_I2C4", 
+	CLK_DIV("DIV_I2C4", "MUX_I2C4",
 		CAR_CLKSRC_I2C4_REG, CAR_CLKSRC_I2C_DIV),
-	CLK_DIV("DIV_I2C5", "MUX_I2C5", 
+	CLK_DIV("DIV_I2C5", "MUX_I2C5",
 		CAR_CLKSRC_I2C5_REG, CAR_CLKSRC_I2C_DIV),
-	CLK_DIV("DIV_I2C6", "MUX_I2C6", 
+	CLK_DIV("DIV_I2C6", "MUX_I2C6",
 		CAR_CLKSRC_I2C6_REG, CAR_CLKSRC_I2C_DIV),
 
 	CLK_DIV("XUSB_HOST_SRC", "MUX_XUSB_HOST",

Index: src/sys/arch/arm/nvidia/tegra210_xusbpad.c
diff -u src/sys/arch/arm/nvidia/tegra210_xusbpad.c:1.9 src/sys/arch/arm/nvidia/tegra210_xusbpad.c:1.10
--- src/sys/arch/arm/nvidia/tegra210_xusbpad.c:1.9	Mon Jul 16 23:11:47 2018
+++ src/sys/arch/arm/nvidia/tegra210_xusbpad.c	Wed Dec 12 09:55:34 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra210_xusbpad.c,v 1.9 2018/07/16 23:11:47 christos Exp $ */
+/* $NetBSD: tegra210_xusbpad.c,v 1.10 2018/12/12 09:55:34 skrll Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra210_xusbpad.c,v 1.9 2018/07/16 23:11:47 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra210_xusbpad.c,v 1.10 2018/12/12 09:55:34 skrll Exp $");
 
 #include 
 #include 
@@ -459,7 +459,7 @@ static const struct tegra210_xusbpad_por
 	XUSBPAD_PORT("usb3-1", 1, 0x14, __BITS(8,5), __BIT(9)),
 	XUSBPAD_PORT("usb3-2", 2, 0x14, __BITS(13,10), __BIT(14)),
 	XUSBPAD_PORT("usb3-3", 3, 0x14, __BITS(18,15), __BIT(19)),
-}; 
+};
 
 static const struct tegra210_xusbpad_port tegra210_xusbpad_hsic_ports[] = {
 	XUSBPAD_PORT("hsic-0", 0, 0, 0, 0),
@@ -847,7 +847,7 @@ static int
 tegra210_xusbpad_phy_enable(device_t dev, void *priv, bool enable)
 {
 	struct tegra210_xusbpad_phy_softc * const sc = device_private(dev);
-	
+
 	if (enable == false)
 		return ENXIO;	/* not implemented */
 



CVS commit: src/sys/arch/arm/nvidia

2018-12-12 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Wed Dec 12 09:55:34 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c tegra210_xusbpad.c

Log Message:
Trailing whitespace


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/arm/nvidia/tegra210_car.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra210_xusbpad.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-11-01 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Nov  1 16:14:54 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_nouveau.c

Log Message:
Fix non-DIAGNOSTIC build


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra_nouveau.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_nouveau.c
diff -u src/sys/arch/arm/nvidia/tegra_nouveau.c:1.11 src/sys/arch/arm/nvidia/tegra_nouveau.c:1.12
--- src/sys/arch/arm/nvidia/tegra_nouveau.c:1.11	Mon Aug 27 15:31:51 2018
+++ src/sys/arch/arm/nvidia/tegra_nouveau.c	Thu Nov  1 16:14:54 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_nouveau.c,v 1.11 2018/08/27 15:31:51 riastradh Exp $ */
+/* $NetBSD: tegra_nouveau.c,v 1.12 2018/11/01 16:14:54 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_nouveau.c,v 1.11 2018/08/27 15:31:51 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_nouveau.c,v 1.12 2018/11/01 16:14:54 skrll Exp $");
 
 #include 
 #include 
@@ -132,7 +132,7 @@ tegra_nouveau_attach(device_t parent, de
 	prop_dictionary_t prop = device_properties(self);
 	const struct of_compat_data *data =
 	of_search_compatible(faa->faa_phandle, compat_data);
-	const struct nvkm_device_tegra_func *tegra_func =
+	const struct nvkm_device_tegra_func *tegra_func __diagused =
 	(const void *)data->data;
 	int error;
 



CVS commit: src/sys/arch/arm/nvidia

2018-11-01 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Nov  1 16:14:54 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_nouveau.c

Log Message:
Fix non-DIAGNOSTIC build


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra_nouveau.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-09-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Wed Sep 26 22:33:35 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c

Log Message:
Initialize CML1 clock


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/nvidia/tegra210_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra210_car.c
diff -u src/sys/arch/arm/nvidia/tegra210_car.c:1.20 src/sys/arch/arm/nvidia/tegra210_car.c:1.21
--- src/sys/arch/arm/nvidia/tegra210_car.c:1.20	Wed Sep 26 22:32:46 2018
+++ src/sys/arch/arm/nvidia/tegra210_car.c	Wed Sep 26 22:33:35 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra210_car.c,v 1.20 2018/09/26 22:32:46 jmcneill Exp $ */
+/* $NetBSD: tegra210_car.c,v 1.21 2018/09/26 22:33:35 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015-2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.20 2018/09/26 22:32:46 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.21 2018/09/26 22:33:35 jmcneill Exp $");
 
 #include 
 #include 
@@ -658,6 +658,7 @@ struct tegra210_init_parent {
 	{ "PLL_U_OUT1",		NULL, 4800, 1 },
 	{ "PLL_U_OUT2",		NULL, 6000, 1 },
 	{ "CML0",		NULL, 0, 1 },
+	{ "CML1",		NULL, 0, 0 },
 	{ "AFI",		NULL, 0, 1 },
 	{ "PCIE",		NULL, 0, 1 },
 };



CVS commit: src/sys/arch/arm/nvidia

2018-09-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Wed Sep 26 22:33:35 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c

Log Message:
Initialize CML1 clock


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/nvidia/tegra210_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-09-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Wed Sep 26 22:32:46 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c tegra210_car.c

Log Message:
Register clocks with clk_attach


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/nvidia/tegra124_car.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arm/nvidia/tegra210_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra124_car.c
diff -u src/sys/arch/arm/nvidia/tegra124_car.c:1.15 src/sys/arch/arm/nvidia/tegra124_car.c:1.16
--- src/sys/arch/arm/nvidia/tegra124_car.c:1.15	Sun Sep  9 07:21:17 2018
+++ src/sys/arch/arm/nvidia/tegra124_car.c	Wed Sep 26 22:32:46 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra124_car.c,v 1.15 2018/09/09 07:21:17 aymeric Exp $ */
+/* $NetBSD: tegra124_car.c,v 1.16 2018/09/26 22:32:46 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.15 2018/09/09 07:21:17 aymeric Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra124_car.c,v 1.16 2018/09/26 22:32:46 jmcneill Exp $");
 
 #include 
 #include 
@@ -758,10 +758,13 @@ tegra124_car_attach(device_t parent, dev
 	aprint_naive("\n");
 	aprint_normal(": CAR\n");
 
+	sc->sc_clkdom.name = device_xname(self);
 	sc->sc_clkdom.funcs = _car_clock_funcs;
 	sc->sc_clkdom.priv = sc;
-	for (n = 0; n < __arraycount(tegra124_car_clocks); n++)
+	for (n = 0; n < __arraycount(tegra124_car_clocks); n++) {
 		tegra124_car_clocks[n].base.domain = >sc_clkdom;
+		clk_attach(_car_clocks[n].base);
+	}
 
 	fdtbus_register_clock_controller(self, phandle,
 	_car_fdtclock_funcs);

Index: src/sys/arch/arm/nvidia/tegra210_car.c
diff -u src/sys/arch/arm/nvidia/tegra210_car.c:1.19 src/sys/arch/arm/nvidia/tegra210_car.c:1.20
--- src/sys/arch/arm/nvidia/tegra210_car.c:1.19	Sun Sep  9 07:21:17 2018
+++ src/sys/arch/arm/nvidia/tegra210_car.c	Wed Sep 26 22:32:46 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra210_car.c,v 1.19 2018/09/09 07:21:17 aymeric Exp $ */
+/* $NetBSD: tegra210_car.c,v 1.20 2018/09/26 22:32:46 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015-2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.19 2018/09/09 07:21:17 aymeric Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.20 2018/09/26 22:32:46 jmcneill Exp $");
 
 #include 
 #include 
@@ -764,10 +764,13 @@ tegra210_car_attach(device_t parent, dev
 	aprint_naive("\n");
 	aprint_normal(": CAR\n");
 
+	sc->sc_clkdom.name = device_xname(self);
 	sc->sc_clkdom.funcs = _car_clock_funcs;
 	sc->sc_clkdom.priv = sc;
-	for (n = 0; n < __arraycount(tegra210_car_clocks); n++)
+	for (n = 0; n < __arraycount(tegra210_car_clocks); n++) {
 		tegra210_car_clocks[n].base.domain = >sc_clkdom;
+		clk_attach(_car_clocks[n].base);
+	}
 
 	fdtbus_register_clock_controller(self, phandle,
 	_car_fdtclock_funcs);



CVS commit: src/sys/arch/arm/nvidia

2018-09-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Wed Sep 26 22:32:46 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra124_car.c tegra210_car.c

Log Message:
Register clocks with clk_attach


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/nvidia/tegra124_car.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arm/nvidia/tegra210_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-09-25 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Tue Sep 25 22:23:22 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_i2c.c

Log Message:
Disallow 0-byte transfers and suppress timeout messages


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/arm/nvidia/tegra_i2c.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_i2c.c
diff -u src/sys/arch/arm/nvidia/tegra_i2c.c:1.21 src/sys/arch/arm/nvidia/tegra_i2c.c:1.22
--- src/sys/arch/arm/nvidia/tegra_i2c.c:1.21	Mon Sep  3 16:29:23 2018
+++ src/sys/arch/arm/nvidia/tegra_i2c.c	Tue Sep 25 22:23:22 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_i2c.c,v 1.21 2018/09/03 16:29:23 riastradh Exp $ */
+/* $NetBSD: tegra_i2c.c,v 1.22 2018/09/25 22:23:22 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_i2c.c,v 1.21 2018/09/03 16:29:23 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_i2c.c,v 1.22 2018/09/25 22:23:22 jmcneill Exp $");
 
 #include 
 #include 
@@ -275,6 +275,9 @@ tegra_i2c_exec(void *priv, i2c_op_t op, 
 
 	KASSERT(mutex_owned(>sc_lock));
 
+	if (buflen == 0 && cmdlen == 0)
+		return EINVAL;
+
 	if ((flags & I2C_F_POLL) == 0) {
 		I2C_WRITE(sc, I2C_INTERRUPT_MASK_REG,
 		I2C_INTERRUPT_MASK_NOACK | I2C_INTERRUPT_MASK_ARB_LOST |
@@ -305,10 +308,12 @@ tegra_i2c_exec(void *priv, i2c_op_t op, 
 		}
 	}
 
-	if (I2C_OP_READ_P(op)) {
-		error = tegra_i2c_read(sc, addr, buf, buflen, flags);
-	} else {
-		error = tegra_i2c_write(sc, addr, buf, buflen, flags, false);
+	if (buflen > 0) {
+		if (I2C_OP_READ_P(op)) {
+			error = tegra_i2c_read(sc, addr, buf, buflen, flags);
+		} else {
+			error = tegra_i2c_write(sc, addr, buf, buflen, flags, false);
+		}
 	}
 
 done:
@@ -348,8 +353,9 @@ tegra_i2c_wait(struct tegra_i2c_softc *s
 		}
 	}
 	if (retry == 0) {
-		stat = I2C_READ(sc, I2C_INTERRUPT_STATUS_REG);
+#ifdef TEGRA_I2C_DEBUG
 		device_printf(sc->sc_dev, "timed out, status = %#x\n", stat);
+#endif
 		return ETIMEDOUT;
 	}
 



CVS commit: src/sys/arch/arm/nvidia

2018-09-25 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Tue Sep 25 22:23:22 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_i2c.c

Log Message:
Disallow 0-byte transfers and suppress timeout messages


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/arm/nvidia/tegra_i2c.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-09-24 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Sep 24 22:22:16 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_soc.c

Log Message:
Remove two unused bs handles


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/nvidia/tegra_soc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-09-24 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Sep 24 22:22:16 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_soc.c

Log Message:
Remove two unused bs handles


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/nvidia/tegra_soc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_soc.c
diff -u src/sys/arch/arm/nvidia/tegra_soc.c:1.15 src/sys/arch/arm/nvidia/tegra_soc.c:1.16
--- src/sys/arch/arm/nvidia/tegra_soc.c:1.15	Sun Apr  1 04:35:04 2018
+++ src/sys/arch/arm/nvidia/tegra_soc.c	Mon Sep 24 22:22:16 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_soc.c,v 1.15 2018/04/01 04:35:04 ryo Exp $ */
+/* $NetBSD: tegra_soc.c,v 1.16 2018/09/24 22:22:16 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -30,7 +30,7 @@
 #include "opt_multiprocessor.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_soc.c,v 1.15 2018/04/01 04:35:04 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_soc.c,v 1.16 2018/09/24 22:22:16 jmcneill Exp $");
 
 #include 
 #include 
@@ -47,10 +47,8 @@ __KERNEL_RCSID(0, "$NetBSD: tegra_soc.c,
 #include 
 #include 
 
-bus_space_handle_t tegra_host1x_bsh;
 bus_space_handle_t tegra_ppsb_bsh;
 bus_space_handle_t tegra_apb_bsh;
-bus_space_handle_t tegra_ahb_a2_bsh;
 
 void
 tegra_bootstrap(void)
@@ -58,16 +56,10 @@ tegra_bootstrap(void)
 	extern struct bus_space arm_generic_bs_tag;
 	bus_space_tag_t bst = _generic_bs_tag;
 
-	if (bus_space_map(bst, TEGRA_HOST1X_BASE, TEGRA_HOST1X_SIZE, 0,
-	_host1x_bsh) != 0)
-		panic("couldn't map HOST1X");
 	if (bus_space_map(bst, TEGRA_PPSB_BASE, TEGRA_PPSB_SIZE, 0,
 	_ppsb_bsh) != 0)
 		panic("couldn't map PPSB");
 	if (bus_space_map(bst, TEGRA_APB_BASE, TEGRA_APB_SIZE, 0,
 	_apb_bsh) != 0)
 		panic("couldn't map APB");
-	if (bus_space_map(bst, TEGRA_AHB_A2_BASE, TEGRA_AHB_A2_SIZE, 0,
-	_ahb_a2_bsh) != 0)
-		panic("couldn't map AHB A2");
 }



CVS commit: src/sys/arch/arm/nvidia

2018-09-24 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Sep 24 09:25:14 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm_fb.c

Log Message:
Call drm_fb_helper_prepare in tegra_drm_fb_init as required.

I can boot a kernel with this

jetsontk1# dmesg | grep fb
[   1.580] tegrafb0 at tegradrm0
[   1.580] tegrafb0: framebuffer at 0x9bc0, size 1024x768, depth 32, 
stride 4096
[   1.580] wsdisplay0 at tegrafb0 kbdmux 1
jetsontk1#


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra_drm_fb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_drm_fb.c
diff -u src/sys/arch/arm/nvidia/tegra_drm_fb.c:1.6 src/sys/arch/arm/nvidia/tegra_drm_fb.c:1.7
--- src/sys/arch/arm/nvidia/tegra_drm_fb.c:1.6	Tue Dec 26 14:54:52 2017
+++ src/sys/arch/arm/nvidia/tegra_drm_fb.c	Mon Sep 24 09:25:14 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm_fb.c,v 1.6 2017/12/26 14:54:52 jmcneill Exp $ */
+/* $NetBSD: tegra_drm_fb.c,v 1.7 2018/09/24 09:25:14 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_drm_fb.c,v 1.6 2017/12/26 14:54:52 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_drm_fb.c,v 1.7 2018/09/24 09:25:14 skrll Exp $");
 
 #include 
 #include 
@@ -53,7 +53,8 @@ tegra_drm_fb_init(struct drm_device *dde
 	int error;
 
 	fbdev = kmem_zalloc(sizeof(*fbdev), KM_SLEEP);
-	fbdev->helper.funcs = _fb_helper_funcs;
+
+	drm_fb_helper_prepare(ddev, >helper, _fb_helper_funcs);
 
 	error = drm_fb_helper_init(ddev, >helper, 2, 1);
 	if (error) {



CVS commit: src/sys/arch/arm/nvidia

2018-09-24 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Sep 24 09:25:14 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm_fb.c

Log Message:
Call drm_fb_helper_prepare in tegra_drm_fb_init as required.

I can boot a kernel with this

jetsontk1# dmesg | grep fb
[   1.580] tegrafb0 at tegradrm0
[   1.580] tegrafb0: framebuffer at 0x9bc0, size 1024x768, depth 32, 
stride 4096
[   1.580] wsdisplay0 at tegrafb0 kbdmux 1
jetsontk1#


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra_drm_fb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 15:31:51 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm.c tegra_drm.h tegra_drm_mode.c
tegra_nouveau.c

Log Message:
Update tegra drm and nouveau to compile with new drmkms.

Compile-tested only.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra_drm.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra_drm.h
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra_drm_mode.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra_nouveau.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_drm.c
diff -u src/sys/arch/arm/nvidia/tegra_drm.c:1.9 src/sys/arch/arm/nvidia/tegra_drm.c:1.10
--- src/sys/arch/arm/nvidia/tegra_drm.c:1.9	Thu Dec 28 14:02:08 2017
+++ src/sys/arch/arm/nvidia/tegra_drm.c	Mon Aug 27 15:31:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm.c,v 1.9 2017/12/28 14:02:08 jmcneill Exp $ */
+/* $NetBSD: tegra_drm.c,v 1.10 2018/08/27 15:31:51 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,v 1.9 2017/12/28 14:02:08 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,v 1.10 2018/08/27 15:31:51 riastradh Exp $");
 
 #include 
 #include 
@@ -51,7 +51,6 @@ __KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,
 static int	tegra_drm_match(device_t, cfdata_t, void *);
 static void	tegra_drm_attach(device_t, device_t, void *);
 
-static const char *tegra_drm_get_name(struct drm_device *);
 static int	tegra_drm_set_busid(struct drm_device *, struct drm_master *);
 
 static int	tegra_drm_load(struct drm_device *, unsigned long);
@@ -80,13 +79,9 @@ static struct drm_driver tegra_drm_drive
 	.date = DRIVER_DATE,
 	.major = DRIVER_MAJOR,
 	.minor = DRIVER_MINOR,
-	.patchlevel = DRIVER_PATCHLEVEL 
-};
+	.patchlevel = DRIVER_PATCHLEVEL,
 
-static const struct drm_bus tegra_drm_bus = {
-	.bus_type = DRIVER_BUS_PLATFORM,
-	.get_name = tegra_drm_get_name,
-	.set_busid = tegra_drm_set_busid
+	.set_busid = tegra_drm_set_busid,
 };
 
 CFATTACH_DECL_NEW(tegra_drm, sizeof(struct tegra_drm_softc),
@@ -191,8 +186,6 @@ tegra_drm_attach(device_t parent, device
 
 	prop_dictionary_get_bool(prop, "force-dvi", >sc_force_dvi);
 
-	driver->bus = _drm_bus;
-
 	sc->sc_ddev = drm_dev_alloc(driver, sc->sc_dev);
 	if (sc->sc_ddev == NULL) {
 		aprint_error_dev(self, "couldn't allocate DRM device\n");
@@ -219,12 +212,6 @@ tegra_drm_attach(device_t parent, device
 	return;
 }
 
-static const char *
-tegra_drm_get_name(struct drm_device *ddev)
-{
-	return DRIVER_NAME;
-}
-
 static int
 tegra_drm_set_busid(struct drm_device *ddev, struct drm_master *master)
 {
@@ -243,16 +230,8 @@ tegra_drm_set_busid(struct drm_device *d
 static int
 tegra_drm_load(struct drm_device *ddev, unsigned long flags)
 {
-	char *devname;
 	int error;
 
-	devname = kzalloc(strlen(DRIVER_NAME) + 1, GFP_KERNEL);
-	if (devname == NULL) {
-		return -ENOMEM;
-	}
-	strcpy(devname, DRIVER_NAME);
-	ddev->devname = devname;
-
 	error = tegra_drm_mode_init(ddev);
 	if (error)
 		goto drmerr;

Index: src/sys/arch/arm/nvidia/tegra_drm.h
diff -u src/sys/arch/arm/nvidia/tegra_drm.h:1.8 src/sys/arch/arm/nvidia/tegra_drm.h:1.9
--- src/sys/arch/arm/nvidia/tegra_drm.h:1.8	Tue Dec 26 14:54:52 2017
+++ src/sys/arch/arm/nvidia/tegra_drm.h	Mon Aug 27 15:31:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm.h,v 1.8 2017/12/26 14:54:52 jmcneill Exp $ */
+/* $NetBSD: tegra_drm.h,v 1.9 2018/08/27 15:31:51 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -148,9 +148,9 @@ struct tegra_fbdev {
 
 int	tegra_drm_mode_init(struct drm_device *);
 int	tegra_drm_fb_init(struct drm_device *);
-u32	tegra_drm_get_vblank_counter(struct drm_device *, int);
-int	tegra_drm_enable_vblank(struct drm_device *, int);
-void	tegra_drm_disable_vblank(struct drm_device *, int);
+u32	tegra_drm_get_vblank_counter(struct drm_device *, unsigned int);
+int	tegra_drm_enable_vblank(struct drm_device *, unsigned int);
+void	tegra_drm_disable_vblank(struct drm_device *, unsigned int);
 int	tegra_drm_framebuffer_init(struct drm_device *,
 	struct tegra_framebuffer *);
 

Index: src/sys/arch/arm/nvidia/tegra_drm_mode.c
diff -u src/sys/arch/arm/nvidia/tegra_drm_mode.c:1.16 src/sys/arch/arm/nvidia/tegra_drm_mode.c:1.17
--- src/sys/arch/arm/nvidia/tegra_drm_mode.c:1.16	Tue Dec 26 14:54:52 2017
+++ src/sys/arch/arm/nvidia/tegra_drm_mode.c	Mon Aug 27 15:31:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm_mode.c,v 1.16 2017/12/26 14:54:52 jmcneill Exp $ */
+/* $NetBSD: tegra_drm_mode.c,v 1.17 2018/08/27 15:31:51 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,12 +27,13 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_drm_mode.c,v 1.16 2017/12/26 14:54:52 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_drm_mode.c,v 1.17 

CVS commit: src/sys/arch/arm/nvidia

2018-08-27 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Aug 27 15:31:51 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm.c tegra_drm.h tegra_drm_mode.c
tegra_nouveau.c

Log Message:
Update tegra drm and nouveau to compile with new drmkms.

Compile-tested only.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/nvidia/tegra_drm.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra_drm.h
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra_drm_mode.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/nvidia/tegra_nouveau.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-08-05 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Aug  5 15:37:10 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_i2c.c

Log Message:
Use PRIxBUSADDR and remove unnecessary cast


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arm/nvidia/tegra_i2c.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-08-05 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Aug  5 15:37:10 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_i2c.c

Log Message:
Use PRIxBUSADDR and remove unnecessary cast


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arm/nvidia/tegra_i2c.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_i2c.c
diff -u src/sys/arch/arm/nvidia/tegra_i2c.c:1.19 src/sys/arch/arm/nvidia/tegra_i2c.c:1.20
--- src/sys/arch/arm/nvidia/tegra_i2c.c:1.19	Mon Jul 16 23:11:47 2018
+++ src/sys/arch/arm/nvidia/tegra_i2c.c	Sun Aug  5 15:37:10 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_i2c.c,v 1.19 2018/07/16 23:11:47 christos Exp $ */
+/* $NetBSD: tegra_i2c.c,v 1.20 2018/08/05 15:37:10 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_i2c.c,v 1.19 2018/07/16 23:11:47 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_i2c.c,v 1.20 2018/08/05 15:37:10 skrll Exp $");
 
 #include 
 #include 
@@ -136,8 +136,8 @@ tegra_i2c_attach(device_t parent, device
 	sc->sc_cid = device_unit(self);
 	error = bus_space_map(sc->sc_bst, addr, size, 0, >sc_bsh);
 	if (error) {
-		aprint_error(": couldn't map %#" PRIx64 ": %d",
-		(uint64_t)addr, error);
+		aprint_error(": couldn't map %#" PRIxBUSADDR ": %d",
+		addr, error);
 		return;
 	}
 	mutex_init(>sc_lock, MUTEX_DEFAULT, IPL_VM);



CVS commit: src/sys/arch/arm/nvidia

2018-07-08 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jul  8 11:37:50 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: files.tegra tegra_platform.c
Removed Files:
src/sys/arch/arm/nvidia: soc_tegra210.c

Log Message:
Use psci_fdt_bootstrap for MP spinup on Tegra210.


To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 src/sys/arch/arm/nvidia/files.tegra
cvs rdiff -u -r1.2 -r0 src/sys/arch/arm/nvidia/soc_tegra210.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/nvidia/tegra_platform.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/files.tegra
diff -u src/sys/arch/arm/nvidia/files.tegra:1.48 src/sys/arch/arm/nvidia/files.tegra:1.49
--- src/sys/arch/arm/nvidia/files.tegra:1.48	Sun Apr  1 04:35:04 2018
+++ src/sys/arch/arm/nvidia/files.tegra	Sun Jul  8 11:37:50 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.tegra,v 1.48 2018/04/01 04:35:04 ryo Exp $
+#	$NetBSD: files.tegra,v 1.49 2018/07/08 11:37:50 jmcneill Exp $
 #
 # Configuration info for NVIDIA Tegra ARM Peripherals
 #
@@ -13,9 +13,6 @@ device	tegra124cpu
 attach	tegra124cpu at cpu with tegra124_cpu
 file	arch/arm/nvidia/tegra124_cpu.c		tegra124_cpu
 
-# Tegra T210 (X1) support
-file	arch/arm/nvidia/soc_tegra210.c		soc_tegra210
-
 # Interrupt controller
 device	tegralic
 attach	tegralic at fdt with tegra_lic

Index: src/sys/arch/arm/nvidia/tegra_platform.c
diff -u src/sys/arch/arm/nvidia/tegra_platform.c:1.12 src/sys/arch/arm/nvidia/tegra_platform.c:1.13
--- src/sys/arch/arm/nvidia/tegra_platform.c:1.12	Sat Jul  7 20:16:16 2018
+++ src/sys/arch/arm/nvidia/tegra_platform.c	Sun Jul  8 11:37:50 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_platform.c,v 1.12 2018/07/07 20:16:16 jmcneill Exp $ */
+/* $NetBSD: tegra_platform.c,v 1.13 2018/07/08 11:37:50 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared D. McNeill 
@@ -33,7 +33,7 @@
 #include "ukbd.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.12 2018/07/07 20:16:16 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.13 2018/07/08 11:37:50 jmcneill Exp $");
 
 #include 
 #include 
@@ -108,8 +108,8 @@ tegra210_platform_bootstrap(void)
 {
 	tegra_bootstrap();
 
-#ifdef MULTIPROCESSOR
-	tegra210_mpinit();
+#if defined(MULTIPROCESSOR) && defined(__aarch64__)
+	psci_fdt_bootstrap();
 #endif
 }
 #endif



CVS commit: src/sys/arch/arm/nvidia

2018-07-08 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jul  8 11:37:50 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: files.tegra tegra_platform.c
Removed Files:
src/sys/arch/arm/nvidia: soc_tegra210.c

Log Message:
Use psci_fdt_bootstrap for MP spinup on Tegra210.


To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 src/sys/arch/arm/nvidia/files.tegra
cvs rdiff -u -r1.2 -r0 src/sys/arch/arm/nvidia/soc_tegra210.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/nvidia/tegra_platform.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-07-07 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Jul  7 20:16:16 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: soc_tegra124.c soc_tegra210.c tegra_platform.c
tegra_var.h

Log Message:
Use arm_generic_bs_tag instead of armv7_generic_bs_tag and conditionally
define SOC platform support (so we don't try to build 32-bit support into
64-bit kernels).


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/nvidia/soc_tegra124.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/nvidia/soc_tegra210.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra_platform.c
cvs rdiff -u -r1.42 -r1.43 src/sys/arch/arm/nvidia/tegra_var.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/soc_tegra124.c
diff -u src/sys/arch/arm/nvidia/soc_tegra124.c:1.17 src/sys/arch/arm/nvidia/soc_tegra124.c:1.18
--- src/sys/arch/arm/nvidia/soc_tegra124.c:1.17	Sun Apr 23 12:31:38 2017
+++ src/sys/arch/arm/nvidia/soc_tegra124.c	Sat Jul  7 20:16:16 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: soc_tegra124.c,v 1.17 2017/04/23 12:31:38 jmcneill Exp $ */
+/* $NetBSD: soc_tegra124.c,v 1.18 2018/07/07 20:16:16 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -30,7 +30,7 @@
 #include "opt_multiprocessor.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: soc_tegra124.c,v 1.17 2017/04/23 12:31:38 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: soc_tegra124.c,v 1.18 2018/07/07 20:16:16 jmcneill Exp $");
 
 #include 
 #include 
@@ -54,7 +54,7 @@ tegra124_mpinit(void)
 {
 #if defined(MULTIPROCESSOR)
 	extern void cortex_mpstart(void);
-	bus_space_tag_t bst = _generic_bs_tag;
+	bus_space_tag_t bst = _generic_bs_tag;
 	bus_space_handle_t bsh;
 
 	bus_space_subregion(bst, tegra_ppsb_bsh,

Index: src/sys/arch/arm/nvidia/soc_tegra210.c
diff -u src/sys/arch/arm/nvidia/soc_tegra210.c:1.1 src/sys/arch/arm/nvidia/soc_tegra210.c:1.2
--- src/sys/arch/arm/nvidia/soc_tegra210.c:1.1	Thu May 25 23:26:48 2017
+++ src/sys/arch/arm/nvidia/soc_tegra210.c	Sat Jul  7 20:16:16 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: soc_tegra210.c,v 1.1 2017/05/25 23:26:48 jmcneill Exp $ */
+/* $NetBSD: soc_tegra210.c,v 1.2 2018/07/07 20:16:16 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared D. McNeill 
@@ -30,18 +30,20 @@
 #include "opt_multiprocessor.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: soc_tegra210.c,v 1.1 2017/05/25 23:26:48 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: soc_tegra210.c,v 1.2 2018/07/07 20:16:16 jmcneill Exp $");
 
 #include 
 #include 
 #include 
 #include 
+#include 
 
 #include 
 
 #include 
 
 #include 
+#include 
 
 #include 
 #include 
@@ -54,7 +56,7 @@ tegra210_mpinit(void)
 {
 #if defined(MULTIPROCESSOR)
 	extern void cortex_mpstart(void);
-	bus_space_tag_t bst = _generic_bs_tag;
+	bus_space_tag_t bst = _generic_bs_tag;
 	bus_space_handle_t bsh;
 
 	bus_space_subregion(bst, tegra_ppsb_bsh,
@@ -73,7 +75,7 @@ tegra210_mpinit(void)
 	tegra_pmc_power(PMC_PARTID_CPU3, true); started |= __BIT(3);
 
 	for (u_int i = 0x1000; i > 0; i--) {
-		arm_dmb();
+		membar_consumer();
 		if (arm_cpu_hatched == started)
 			break;
 	}

Index: src/sys/arch/arm/nvidia/tegra_platform.c
diff -u src/sys/arch/arm/nvidia/tegra_platform.c:1.11 src/sys/arch/arm/nvidia/tegra_platform.c:1.12
--- src/sys/arch/arm/nvidia/tegra_platform.c:1.11	Sun Apr  1 04:35:04 2018
+++ src/sys/arch/arm/nvidia/tegra_platform.c	Sat Jul  7 20:16:16 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_platform.c,v 1.11 2018/04/01 04:35:04 ryo Exp $ */
+/* $NetBSD: tegra_platform.c,v 1.12 2018/07/07 20:16:16 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared D. McNeill 
@@ -33,7 +33,7 @@
 #include "ukbd.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.11 2018/04/01 04:35:04 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.12 2018/07/07 20:16:16 jmcneill Exp $");
 
 #include 
 #include 
@@ -54,6 +54,9 @@ __KERNEL_RCSID(0, "$NetBSD: tegra_platfo
 
 #include 
 
+#include 
+#include 
+
 #if NUKBD > 0
 #include 
 #endif
@@ -87,6 +90,7 @@ tegra_platform_devmap(void)
 	return devmap;
 }
 
+#ifdef SOC_TEGRA124
 static void
 tegra124_platform_bootstrap(void)
 {
@@ -96,7 +100,9 @@ tegra124_platform_bootstrap(void)
 	tegra124_mpinit();
 #endif
 }
+#endif
 
+#ifdef SOC_TEGRA210
 static void
 tegra210_platform_bootstrap(void)
 {
@@ -106,6 +112,7 @@ tegra210_platform_bootstrap(void)
 	tegra210_mpinit();
 #endif
 }
+#endif
 
 static void
 tegra_platform_init_attach_args(struct fdt_attach_args *faa)
@@ -204,6 +211,7 @@ tegra_platform_uart_freq(void)
 	return PLLP_OUT0_FREQ;
 }
 
+#ifdef SOC_TEGRA124
 static const struct arm_platform tegra124_platform = {
 	.devmap = tegra_platform_devmap,
 	.bootstrap = tegra124_platform_bootstrap,
@@ -216,7 +224,9 @@ static const struct arm_platform tegra12
 };
 
 ARM_PLATFORM(tegra124, "nvidia,tegra124", _platform);
+#endif
 
+#ifdef SOC_TEGRA210
 static const struct arm_platform 

CVS commit: src/sys/arch/arm/nvidia

2018-07-07 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Jul  7 20:16:16 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: soc_tegra124.c soc_tegra210.c tegra_platform.c
tegra_var.h

Log Message:
Use arm_generic_bs_tag instead of armv7_generic_bs_tag and conditionally
define SOC platform support (so we don't try to build 32-bit support into
64-bit kernels).


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/nvidia/soc_tegra124.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/nvidia/soc_tegra210.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/nvidia/tegra_platform.c
cvs rdiff -u -r1.42 -r1.43 src/sys/arch/arm/nvidia/tegra_var.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-07-01 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jul  1 21:18:00 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_i2c.c

Log Message:
Use fdtbus_attach_i2cbus


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/nvidia/tegra_i2c.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_i2c.c
diff -u src/sys/arch/arm/nvidia/tegra_i2c.c:1.17 src/sys/arch/arm/nvidia/tegra_i2c.c:1.18
--- src/sys/arch/arm/nvidia/tegra_i2c.c:1.17	Wed May  9 02:53:00 2018
+++ src/sys/arch/arm/nvidia/tegra_i2c.c	Sun Jul  1 21:18:00 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_i2c.c,v 1.17 2018/05/09 02:53:00 thorpej Exp $ */
+/* $NetBSD: tegra_i2c.c,v 1.18 2018/07/01 21:18:00 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_i2c.c,v 1.17 2018/05/09 02:53:00 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_i2c.c,v 1.18 2018/07/01 21:18:00 jmcneill Exp $");
 
 #include 
 #include 
@@ -65,7 +65,6 @@ struct tegra_i2c_softc {
 	struct i2c_controller	sc_ic;
 	kmutex_t		sc_lock;
 	kcondvar_t		sc_cv;
-	device_t		sc_i2cdev;
 };
 
 static void	tegra_i2c_init(struct tegra_i2c_softc *);
@@ -112,12 +111,9 @@ tegra_i2c_attach(device_t parent, device
 	struct tegra_i2c_softc * const sc = device_private(self);
 	struct fdt_attach_args * const faa = aux;
 	const int phandle = faa->faa_phandle;
-	struct i2cbus_attach_args iba;
-	prop_dictionary_t devs;
 	char intrstr[128];
 	bus_addr_t addr;
 	bus_size_t size;
-	u_int address_cells;
 	int error;
 
 	if (fdtbus_get_reg(phandle, 0, , ) != 0) {
@@ -189,21 +185,7 @@ tegra_i2c_attach(device_t parent, device
 
 	fdtbus_register_i2c_controller(self, phandle, _i2c_funcs);
 
-	devs = prop_dictionary_create();
-
-	if (of_getprop_uint32(phandle, "#address-cells", _cells))
-		address_cells = 1;
-
-	of_enter_i2c_devs(devs, faa->faa_phandle, address_cells * 4, 0);
-
-	memset(, 0, sizeof(iba));
-	iba.iba_tag = >sc_ic;
-	iba.iba_child_devices = prop_dictionary_get(devs, "i2c-child-devices");
-	if (iba.iba_child_devices != NULL)
-		prop_object_retain(iba.iba_child_devices);
-	prop_object_release(devs);
-
-	sc->sc_i2cdev = config_found_ia(self, "i2cbus", , iicbus_print);
+	fdtbus_attach_i2cbus(self, phandle, >sc_ic, iicbus_print);
 }
 
 static i2c_tag_t



CVS commit: src/sys/arch/arm/nvidia

2018-07-01 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jul  1 21:18:00 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_i2c.c

Log Message:
Use fdtbus_attach_i2cbus


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/nvidia/tegra_i2c.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2018-07-01 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jul  1 10:46:02 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_xusb.c

Log Message:
Build fix


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_xusb.c
diff -u src/sys/arch/arm/nvidia/tegra_xusb.c:1.13 src/sys/arch/arm/nvidia/tegra_xusb.c:1.14
--- src/sys/arch/arm/nvidia/tegra_xusb.c:1.13	Fri Jun 29 17:48:24 2018
+++ src/sys/arch/arm/nvidia/tegra_xusb.c	Sun Jul  1 10:46:02 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_xusb.c,v 1.13 2018/06/29 17:48:24 msaitoh Exp $ */
+/* $NetBSD: tegra_xusb.c,v 1.14 2018/07/01 10:46:02 jmcneill Exp $ */
 
 /*
  * Copyright (c) 2016 Jonathan A. Kollasch
@@ -30,7 +30,7 @@
 #include "opt_tegra.h"
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.13 2018/06/29 17:48:24 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_xusb.c,v 1.14 2018/07/01 10:46:02 jmcneill Exp $");
 
 #include 
 #include 
@@ -428,13 +428,12 @@ tegra_xusb_mountroot(device_t self)
 		break;
 	default:
 		if (val < PCI_USBREV_3_0) {
-			aprint_error_dev(self, "Unknown revision (%02x)\n",
-			usbrev);
+			aprint_error_dev(self, "Unknown revision (%02x)\n", val);
 			sc->sc_bus.ub_revision = USBREV_UNKNOWN;
 		} else {
 			/* Default to the latest revision */
 			aprint_normal_dev(self,
-			"Unknown revision (%02x). Set to 3.1.\n", usbrev);
+			"Unknown revision (%02x). Set to 3.1.\n", val);
 			sc->sc_bus.ub_revision = USBREV_3_1;
 		}
 		break;



CVS commit: src/sys/arch/arm/nvidia

2018-07-01 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Jul  1 10:46:02 UTC 2018

Modified Files:
src/sys/arch/arm/nvidia: tegra_xusb.c

Log Message:
Build fix


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/nvidia/tegra_xusb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2017-12-28 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Thu Dec 28 14:02:08 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm.c

Log Message:
Initialize drm_device bus and dma space tags


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra_drm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_drm.c
diff -u src/sys/arch/arm/nvidia/tegra_drm.c:1.8 src/sys/arch/arm/nvidia/tegra_drm.c:1.9
--- src/sys/arch/arm/nvidia/tegra_drm.c:1.8	Tue Dec 26 14:54:52 2017
+++ src/sys/arch/arm/nvidia/tegra_drm.c	Thu Dec 28 14:02:08 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm.c,v 1.8 2017/12/26 14:54:52 jmcneill Exp $ */
+/* $NetBSD: tegra_drm.c,v 1.9 2017/12/28 14:02:08 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,v 1.8 2017/12/26 14:54:52 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,v 1.9 2017/12/28 14:02:08 jmcneill Exp $");
 
 #include 
 #include 
@@ -199,6 +199,10 @@ tegra_drm_attach(device_t parent, device
 		return;
 	}
 	sc->sc_ddev->dev_private = sc;
+	sc->sc_ddev->bst = sc->sc_bst;
+	sc->sc_ddev->bus_dmat = sc->sc_dmat;
+	sc->sc_ddev->dmat = sc->sc_ddev->bus_dmat;
+	sc->sc_ddev->dmat_subregion_p = false;
 
 	error = -drm_dev_register(sc->sc_ddev, 0);
 	if (error) {



CVS commit: src/sys/arch/arm/nvidia

2017-12-28 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Thu Dec 28 14:02:08 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: tegra_drm.c

Log Message:
Initialize drm_device bus and dma space tags


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra_drm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2017-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Tue Dec 26 14:54:52 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: files.tegra tegra_drm.c tegra_drm.h
tegra_drm_fb.c tegra_drm_mode.c tegra_fb.c
Removed Files:
src/sys/arch/arm/nvidia: tegra_drm_gem.c

Log Message:
Use DRM GEM/CMA helper.


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/arch/arm/nvidia/files.tegra
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/nvidia/tegra_drm.c \
src/sys/arch/arm/nvidia/tegra_drm.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/nvidia/tegra_drm_fb.c
cvs rdiff -u -r1.3 -r0 src/sys/arch/arm/nvidia/tegra_drm_gem.c
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/nvidia/tegra_drm_mode.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/nvidia/tegra_fb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2017-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Tue Dec 26 14:54:52 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: files.tegra tegra_drm.c tegra_drm.h
tegra_drm_fb.c tegra_drm_mode.c tegra_fb.c
Removed Files:
src/sys/arch/arm/nvidia: tegra_drm_gem.c

Log Message:
Use DRM GEM/CMA helper.


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/arch/arm/nvidia/files.tegra
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/nvidia/tegra_drm.c \
src/sys/arch/arm/nvidia/tegra_drm.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/nvidia/tegra_drm_fb.c
cvs rdiff -u -r1.3 -r0 src/sys/arch/arm/nvidia/tegra_drm_gem.c
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/nvidia/tegra_drm_mode.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/nvidia/tegra_fb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/files.tegra
diff -u src/sys/arch/arm/nvidia/files.tegra:1.45 src/sys/arch/arm/nvidia/files.tegra:1.46
--- src/sys/arch/arm/nvidia/files.tegra:1.45	Tue Sep 26 16:12:45 2017
+++ src/sys/arch/arm/nvidia/files.tegra	Tue Dec 26 14:54:52 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: files.tegra,v 1.45 2017/09/26 16:12:45 jmcneill Exp $
+#	$NetBSD: files.tegra,v 1.46 2017/12/26 14:54:52 jmcneill Exp $
 #
 # Configuration info for NVIDIA Tegra ARM Peripherals
 #
@@ -157,7 +157,6 @@ attach	tegradrm at fdt with tegra_drm
 file	arch/arm/nvidia/tegra_drm.c		tegra_drm
 file	arch/arm/nvidia/tegra_drm_mode.c	tegra_drm
 file	arch/arm/nvidia/tegra_drm_fb.c		tegra_drm
-file	arch/arm/nvidia/tegra_drm_gem.c		tegra_drm
 
 # Framebuffer console
 device	tegrafb: tegrafbbus, drmfb, wsemuldisplaydev

Index: src/sys/arch/arm/nvidia/tegra_drm.c
diff -u src/sys/arch/arm/nvidia/tegra_drm.c:1.7 src/sys/arch/arm/nvidia/tegra_drm.c:1.8
--- src/sys/arch/arm/nvidia/tegra_drm.c:1.7	Sun Apr 16 12:28:21 2017
+++ src/sys/arch/arm/nvidia/tegra_drm.c	Tue Dec 26 14:54:52 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_drm.c,v 1.7 2017/04/16 12:28:21 jmcneill Exp $ */
+/* $NetBSD: tegra_drm.c,v 1.8 2017/12/26 14:54:52 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,v 1.7 2017/04/16 12:28:21 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_drm.c,v 1.8 2017/12/26 14:54:52 jmcneill Exp $");
 
 #include 
 #include 
@@ -57,29 +57,18 @@ static int	tegra_drm_set_busid(struct dr
 static int	tegra_drm_load(struct drm_device *, unsigned long);
 static int	tegra_drm_unload(struct drm_device *);
 
-static int	tegra_drm_dumb_create(struct drm_file *, struct drm_device *,
-		struct drm_mode_create_dumb *);
-static int	tegra_drm_dumb_map_offset(struct drm_file *,
-		struct drm_device *, uint32_t, uint64_t *);
-
-static const struct uvm_pagerops tegra_drm_gem_uvm_ops = {
-	.pgo_reference = drm_gem_pager_reference,
-	.pgo_detach = drm_gem_pager_detach,
-	.pgo_fault = tegra_drm_gem_fault,
-};
-
 static struct drm_driver tegra_drm_driver = {
 	.driver_features = DRIVER_MODESET | DRIVER_GEM,
 	.dev_priv_size = 0,
 	.load = tegra_drm_load,
 	.unload = tegra_drm_unload,
 
-	.gem_free_object = tegra_drm_gem_free_object,
+	.gem_free_object = drm_gem_cma_free_object,
 	.mmap_object = drm_gem_or_legacy_mmap_object,
-	.gem_uvm_ops = _drm_gem_uvm_ops,
+	.gem_uvm_ops = _gem_cma_uvm_ops,
 
-	.dumb_create = tegra_drm_dumb_create,
-	.dumb_map_offset = tegra_drm_dumb_map_offset,
+	.dumb_create = drm_gem_cma_dumb_create,
+	.dumb_map_offset = drm_gem_cma_dumb_map_offset,
 	.dumb_destroy = drm_gem_dumb_destroy,
 
 	.get_vblank_counter = tegra_drm_get_vblank_counter,
@@ -283,62 +272,3 @@ tegra_drm_unload(struct drm_device *ddev
 
 	return 0;
 }
-
-static int
-tegra_drm_dumb_create(struct drm_file *file_priv, struct drm_device *ddev,
-struct drm_mode_create_dumb *args)
-{
-	struct tegra_gem_object *obj;
-	uint32_t handle;
-	int error;
-
-	args->pitch = args->width * ((args->bpp + 7) / 8);
-	args->size = args->pitch * args->height;
-	args->size = roundup(args->size, PAGE_SIZE);
-	args->handle = 0;
-
-	obj = tegra_drm_obj_alloc(ddev, args->size);
-	if (obj == NULL)
-		return -ENOMEM;
-
-	error = drm_gem_handle_create(file_priv, >base, );
-	drm_gem_object_unreference_unlocked(>base);
-	if (error) {
-		tegra_drm_obj_free(obj);
-		return error;
-	}
-
-	args->handle = handle;
-
-	return 0;
-}
-
-static int
-tegra_drm_dumb_map_offset(struct drm_file *file_priv,
-struct drm_device *ddev, uint32_t handle, uint64_t *offset)
-{
-	struct drm_gem_object *gem_obj;
-	struct tegra_gem_object *obj;
-	int error;
-
-	gem_obj = drm_gem_object_lookup(ddev, file_priv, handle);
-	if (gem_obj == NULL)
-		return -ENOENT;
-
-	obj = to_tegra_gem_obj(gem_obj);
-
-	if (drm_vma_node_has_offset(>base.vma_node) == 0) {
-		error = drm_gem_create_mmap_offset(>base);
-		if (error)
-			goto done;
-	} else {
-		error = 0;
-	}
-
-	*offset = 

CVS commit: src/sys/arch/arm/nvidia

2017-10-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Oct 19 16:01:58 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: tegra_pcie.c

Log Message:
Don't call tegra_pcie_reset_port for now - it makes tk1 re @ pci not work


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra_pcie.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2017-10-19 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Oct 19 16:01:58 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: tegra_pcie.c

Log Message:
Don't call tegra_pcie_reset_port for now - it makes tk1 re @ pci not work


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra_pcie.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra_pcie.c
diff -u src/sys/arch/arm/nvidia/tegra_pcie.c:1.22 src/sys/arch/arm/nvidia/tegra_pcie.c:1.23
--- src/sys/arch/arm/nvidia/tegra_pcie.c:1.22	Wed Sep 27 10:19:13 2017
+++ src/sys/arch/arm/nvidia/tegra_pcie.c	Thu Oct 19 16:01:58 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_pcie.c,v 1.22 2017/09/27 10:19:13 jmcneill Exp $ */
+/* $NetBSD: tegra_pcie.c,v 1.23 2017/10/19 16:01:58 skrll Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_pcie.c,v 1.22 2017/09/27 10:19:13 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_pcie.c,v 1.23 2017/10/19 16:01:58 skrll Exp $");
 
 #include 
 #include 
@@ -355,6 +355,7 @@ tegra_pcie_enable_clocks(struct tegra_pc
 	}
 }
 
+#if 0
 static void
 tegra_pcie_reset_port(struct tegra_pcie_softc * const sc, int index)
 {
@@ -370,6 +371,7 @@ tegra_pcie_reset_port(struct tegra_pcie_
 	val |= AFI_PEXn_CTRL_RST_L;
 	bus_space_write_4(sc->sc_bst, sc->sc_bsh_afi, AFI_PEXn_CTRL_REG(index), val);
 }
+#endif
 
 static void
 tegra_pcie_enable_ports(struct tegra_pcie_softc * const sc)
@@ -400,7 +402,9 @@ tegra_pcie_enable_ports(struct tegra_pci
 		val |= AFI_PEXn_CTRL_REFCLK_OVERRIDE_EN;
 		bus_space_write_4(sc->sc_bst, sc->sc_bsh_afi, AFI_PEXn_CTRL_REG(index), val);
 
+#if 0
 		tegra_pcie_reset_port(sc, index);
+#endif
 
 	}
 }



CVS commit: src/sys/arch/arm/nvidia

2017-09-28 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Thu Sep 28 09:44:29 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c

Log Message:
use CLK_GATE_SIMPLE


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra210_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra210_car.c
diff -u src/sys/arch/arm/nvidia/tegra210_car.c:1.16 src/sys/arch/arm/nvidia/tegra210_car.c:1.17
--- src/sys/arch/arm/nvidia/tegra210_car.c:1.16	Wed Sep 27 10:50:06 2017
+++ src/sys/arch/arm/nvidia/tegra210_car.c	Thu Sep 28 09:44:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra210_car.c,v 1.16 2017/09/27 10:50:06 jmcneill Exp $ */
+/* $NetBSD: tegra210_car.c,v 1.17 2017/09/28 09:44:29 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015-2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.16 2017/09/27 10:50:06 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.17 2017/09/28 09:44:29 jmcneill Exp $");
 
 #include 
 #include 
@@ -594,15 +594,15 @@ static struct tegra_clk tegra210_car_clo
 	CLK_DIV("DIV_HDA", "MUX_HDA",
 		CAR_CLKSRC_HDA_REG, CAR_CLKSRC_HDA_DIV),
 
-	CLK_GATE("PLL_U_OUT1", "DIV_PLL_U_OUT1",
-		 CAR_PLLU_OUTA_REG, CAR_PLLU_OUTA_REG, CAR_PLLU_OUTA_OUT1_CLKEN),
-	CLK_GATE("PLL_U_OUT2", "DIV_PLL_U_OUT2",
-		 CAR_PLLU_OUTA_REG, CAR_PLLU_OUTA_REG, CAR_PLLU_OUTA_OUT2_CLKEN),
-
-	CLK_GATE("CML0", "PLL_E",
-		 CAR_PLLE_AUX_REG, CAR_PLLE_AUX_REG, CAR_PLLE_AUX_CML0_OEN),
-	CLK_GATE("CML1", "PLL_E",
-		 CAR_PLLE_AUX_REG, CAR_PLLE_AUX_REG, CAR_PLLE_AUX_CML1_OEN),
+	CLK_GATE_SIMPLE("PLL_U_OUT1", "DIV_PLL_U_OUT1",
+		 CAR_PLLU_OUTA_REG, CAR_PLLU_OUTA_OUT1_CLKEN),
+	CLK_GATE_SIMPLE("PLL_U_OUT2", "DIV_PLL_U_OUT2",
+		 CAR_PLLU_OUTA_REG, CAR_PLLU_OUTA_OUT2_CLKEN),
+
+	CLK_GATE_SIMPLE("CML0", "PLL_E",
+		 CAR_PLLE_AUX_REG, CAR_PLLE_AUX_CML0_OEN),
+	CLK_GATE_SIMPLE("CML1", "PLL_E",
+		 CAR_PLLE_AUX_REG, CAR_PLLE_AUX_CML1_OEN),
 
 	CLK_GATE_L("UARTA", "DIV_UARTA", CAR_DEV_L_UARTA),
 	CLK_GATE_L("UARTB", "DIV_UARTB", CAR_DEV_L_UARTB),



CVS commit: src/sys/arch/arm/nvidia

2017-09-28 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Thu Sep 28 09:44:29 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c

Log Message:
use CLK_GATE_SIMPLE


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/nvidia/tegra210_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2017-09-27 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Wed Sep 27 10:50:06 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c tegra_hdaudio.c

Log Message:
Tegra210 HDA support.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/nvidia/tegra210_car.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra_hdaudio.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/arch/arm/nvidia

2017-09-27 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Wed Sep 27 10:50:06 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c tegra_hdaudio.c

Log Message:
Tegra210 HDA support.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/nvidia/tegra210_car.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/nvidia/tegra_hdaudio.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra210_car.c
diff -u src/sys/arch/arm/nvidia/tegra210_car.c:1.15 src/sys/arch/arm/nvidia/tegra210_car.c:1.16
--- src/sys/arch/arm/nvidia/tegra210_car.c:1.15	Wed Sep 27 10:19:48 2017
+++ src/sys/arch/arm/nvidia/tegra210_car.c	Wed Sep 27 10:50:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra210_car.c,v 1.15 2017/09/27 10:19:48 jmcneill Exp $ */
+/* $NetBSD: tegra210_car.c,v 1.16 2017/09/27 10:50:06 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015-2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.15 2017/09/27 10:19:48 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.16 2017/09/27 10:50:06 jmcneill Exp $");
 
 #include 
 #include 
@@ -448,6 +448,14 @@ static const char *mux_soc_therm_p[] =
 	{ "CLK_M", "PLL_C", "PLL_P", "PLL_A",
 	  "PLL_C2", "PLL_C4_OUT0", "PLL_C4_OUT1", "PLL_C4_OUT2" };
 
+static const char *mux_hda2codec_2x_p[] =
+	{ "PLL_P", "PLL_C2", "PLL_C4_OUT0", "PLL_A",
+	  "PLL_A", "PLL_C4_OUT1", "CLK_M", "PLL_C4_OUT2" };
+
+static const char *mux_hda_p[] =
+	{ "PLL_P", "PLL_C2", "PLL_C", "PLL_C4_OUT0",
+	  NULL, "PLL_C4_OUT1", "CLK_M", "PLL_C4_OUT2" };
+
 static struct tegra_clk tegra210_car_clocks[] = {
 	CLK_FIXED("CLK_M", TEGRA210_REF_FREQ),
 
@@ -520,6 +528,13 @@ static struct tegra_clk tegra210_car_clo
 		CAR_CLKSRC_SOC_THERM_REG, CAR_CLKSRC_SOC_THERM_SRC,
 		mux_soc_therm_p),
 
+	CLK_MUX("MUX_HDA2CODEC_2X",
+		CAR_CLKSRC_HDA2CODEC_2X_REG, CAR_CLKSRC_HDA2CODEC_2X_SRC,
+		mux_hda2codec_2x_p),
+	CLK_MUX("MUX_HDA",
+		CAR_CLKSRC_HDA_REG, CAR_CLKSRC_HDA_SRC,
+		mux_hda_p),
+
 	CLK_DIV("DIV_UARTA", "MUX_UARTA",
 		CAR_CLKSRC_UARTA_REG, CAR_CLKSRC_UART_DIV),
 	CLK_DIV("DIV_UARTB", "MUX_UARTB",
@@ -574,6 +589,11 @@ static struct tegra_clk tegra210_car_clo
 	CLK_DIV("DIV_SOC_THERM", "MUX_SOC_THERM",
 		CAR_CLKSRC_SOC_THERM_REG, CAR_CLKSRC_SOC_THERM_DIV),
 
+	CLK_DIV("DIV_HDA2CODEC_2X", "MUX_HDA2CODEC_2X",
+		CAR_CLKSRC_HDA2CODEC_2X_REG, CAR_CLKSRC_HDA2CODEC_2X_DIV),
+	CLK_DIV("DIV_HDA", "MUX_HDA",
+		CAR_CLKSRC_HDA_REG, CAR_CLKSRC_HDA_DIV),
+
 	CLK_GATE("PLL_U_OUT1", "DIV_PLL_U_OUT1",
 		 CAR_PLLU_OUTA_REG, CAR_PLLU_OUTA_REG, CAR_PLLU_OUTA_OUT1_CLKEN),
 	CLK_GATE("PLL_U_OUT2", "DIV_PLL_U_OUT2",
@@ -612,6 +632,9 @@ static struct tegra_clk tegra210_car_clo
 	CLK_GATE_U("AFI", "MSELECT", CAR_DEV_U_AFI),
 	CLK_GATE_V("TSENSOR", "DIV_TSENSOR", CAR_DEV_V_TSENSOR),
 	CLK_GATE_U("SOC_THERM", "DIV_SOC_THERM", CAR_DEV_U_SOC_THERM),
+	CLK_GATE_W("HDA2HDMI", "CLK_M", CAR_DEV_W_HDA2HDMICODEC),
+	CLK_GATE_V("HDA2CODEC_2X", "DIV_HDA2CODEC_2X", CAR_DEV_V_HDA2CODEC_2X),
+	CLK_GATE_V("HDA", "DIV_HDA", CAR_DEV_V_HDA),
 };
 
 struct tegra210_init_parent {

Index: src/sys/arch/arm/nvidia/tegra_hdaudio.c
diff -u src/sys/arch/arm/nvidia/tegra_hdaudio.c:1.8 src/sys/arch/arm/nvidia/tegra_hdaudio.c:1.9
--- src/sys/arch/arm/nvidia/tegra_hdaudio.c:1.8	Sun Apr 16 12:28:21 2017
+++ src/sys/arch/arm/nvidia/tegra_hdaudio.c	Wed Sep 27 10:50:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_hdaudio.c,v 1.8 2017/04/16 12:28:21 jmcneill Exp $ */
+/* $NetBSD: tegra_hdaudio.c,v 1.9 2017/09/27 10:50:06 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra_hdaudio.c,v 1.8 2017/04/16 12:28:21 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_hdaudio.c,v 1.9 2017/09/27 10:50:06 jmcneill Exp $");
 
 #include 
 #include 
@@ -85,7 +85,11 @@ CFATTACH_DECL2_NEW(tegra_hdaudio, sizeof
 static int
 tegra_hdaudio_match(device_t parent, cfdata_t cf, void *aux)
 {
-	const char * const compatible[] = { "nvidia,tegra124-hda", NULL };
+	const char * const compatible[] = {
+		"nvidia,tegra210-hda",
+		"nvidia,tegra124-hda",
+		NULL
+	};
 	struct fdt_attach_args * const faa = aux;
 
 	return of_match_compatible(faa->faa_phandle, compatible);



CVS commit: src/sys/arch/arm/nvidia

2017-09-27 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Wed Sep 27 10:19:48 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c

Log Message:
add SOC_THERM and TSENSOR clocks


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/arm/nvidia/tegra210_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/nvidia/tegra210_car.c
diff -u src/sys/arch/arm/nvidia/tegra210_car.c:1.14 src/sys/arch/arm/nvidia/tegra210_car.c:1.15
--- src/sys/arch/arm/nvidia/tegra210_car.c:1.14	Tue Sep 26 16:12:45 2017
+++ src/sys/arch/arm/nvidia/tegra210_car.c	Wed Sep 27 10:19:48 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra210_car.c,v 1.14 2017/09/26 16:12:45 jmcneill Exp $ */
+/* $NetBSD: tegra210_car.c,v 1.15 2017/09/27 10:19:48 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015-2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.14 2017/09/26 16:12:45 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra210_car.c,v 1.15 2017/09/27 10:19:48 jmcneill Exp $");
 
 #include 
 #include 
@@ -440,6 +440,14 @@ static const char *mux_mselect_p[] =
 	{ "PLL_P", "PLL_C2", "PLL_C", "PLL_C4_OUT2",
 	  "PLL_C4_OUT1", "CLK_S", "CLK_M", "PLL_C4_OUT0" };
 
+static const char *mux_tsensor_p[] =
+	{ "PLL_P", "PLL_C2", "PLL_C", "PLL_C4_OUT0",
+	  "CLK_M", "PLL_C4_OUT1", "CLK_S", "PLL_C4_OUT2" };
+
+static const char *mux_soc_therm_p[] =
+	{ "CLK_M", "PLL_C", "PLL_P", "PLL_A",
+	  "PLL_C2", "PLL_C4_OUT0", "PLL_C4_OUT1", "PLL_C4_OUT2" };
+
 static struct tegra_clk tegra210_car_clocks[] = {
 	CLK_FIXED("CLK_M", TEGRA210_REF_FREQ),
 
@@ -505,6 +513,13 @@ static struct tegra_clk tegra210_car_clo
 		CAR_CLKSRC_MSELECT_REG, CAR_CLKSRC_MSELECT_SRC,
 		mux_mselect_p),
 
+	CLK_MUX("MUX_TSENSOR",
+		CAR_CLKSRC_TSENSOR_REG, CAR_CLKSRC_TSENSOR_SRC,
+		mux_tsensor_p),
+	CLK_MUX("MUX_SOC_THERM",
+		CAR_CLKSRC_SOC_THERM_REG, CAR_CLKSRC_SOC_THERM_SRC,
+		mux_soc_therm_p),
+
 	CLK_DIV("DIV_UARTA", "MUX_UARTA",
 		CAR_CLKSRC_UARTA_REG, CAR_CLKSRC_UART_DIV),
 	CLK_DIV("DIV_UARTB", "MUX_UARTB",
@@ -554,6 +569,11 @@ static struct tegra_clk tegra210_car_clo
 	CLK_DIV("DIV_MSELECT", "MUX_MSELECT",
 		CAR_CLKSRC_MSELECT_REG, CAR_CLKSRC_MSELECT_DIV),
 
+CLK_DIV("DIV_TSENSOR", "MUX_TSENSOR",
+CAR_CLKSRC_TSENSOR_REG, CAR_CLKSRC_TSENSOR_DIV),
+	CLK_DIV("DIV_SOC_THERM", "MUX_SOC_THERM",
+		CAR_CLKSRC_SOC_THERM_REG, CAR_CLKSRC_SOC_THERM_DIV),
+
 	CLK_GATE("PLL_U_OUT1", "DIV_PLL_U_OUT1",
 		 CAR_PLLU_OUTA_REG, CAR_PLLU_OUTA_REG, CAR_PLLU_OUTA_OUT1_CLKEN),
 	CLK_GATE("PLL_U_OUT2", "DIV_PLL_U_OUT2",
@@ -590,6 +610,8 @@ static struct tegra_clk tegra210_car_clo
 	CLK_GATE_V("MSELECT", "DIV_MSELECT", CAR_DEV_V_MSELECT),
 	CLK_GATE_U("PCIE", "CLK_M", CAR_DEV_U_PCIE),
 	CLK_GATE_U("AFI", "MSELECT", CAR_DEV_U_AFI),
+	CLK_GATE_V("TSENSOR", "DIV_TSENSOR", CAR_DEV_V_TSENSOR),
+	CLK_GATE_U("SOC_THERM", "DIV_SOC_THERM", CAR_DEV_U_SOC_THERM),
 };
 
 struct tegra210_init_parent {
@@ -602,6 +624,8 @@ struct tegra210_init_parent {
 	{ "SDMMC2",		"PLL_P", 0, 0 },
 	{ "SDMMC3",		"PLL_P", 0, 0 },
 	{ "SDMMC4",		"PLL_P", 0, 0 },
+	{ "SOC_THERM",		"PLL_P", 0, 0 },
+	{ "TSENSOR",		"CLK_M", 0, 0 },
 	{ "XUSB_GATE",		NULL, 0, 1 },
 	{ "XUSB_HOST_SRC",	"PLL_P", 10200, 0 },
 	{ "XUSB_FALCON_SRC",	"PLL_P", 20400, 0 },



CVS commit: src/sys/arch/arm/nvidia

2017-09-27 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Wed Sep 27 10:19:48 UTC 2017

Modified Files:
src/sys/arch/arm/nvidia: tegra210_car.c

Log Message:
add SOC_THERM and TSENSOR clocks


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/arm/nvidia/tegra210_car.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



  1   2   3   4   5   6   >