Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Dec 2017 10:05:23 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r326683 - head/sys/dev/uart
Message-ID:  <201712081005.vB8A5OV7047234@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Fri Dec  8 10:05:23 2017
New Revision: 326683
URL: https://svnweb.freebsd.org/changeset/base/326683

Log:
  Set the io width when using an ACPI uart. Previously it would only ever be
  set when finding the uart from the device tree.
  
  Sponsored by:	DARPA, AFRL

Modified:
  head/sys/dev/uart/uart_cpu_arm64.c

Modified: head/sys/dev/uart/uart_cpu_arm64.c
==============================================================================
--- head/sys/dev/uart/uart_cpu_arm64.c	Fri Dec  8 08:16:36 2017	(r326682)
+++ head/sys/dev/uart/uart_cpu_arm64.c	Fri Dec  8 10:05:23 2017	(r326683)
@@ -100,7 +100,8 @@ uart_cpu_acpi_scan(uint8_t interface_type)
 
 static int
 uart_cpu_acpi_probe(struct uart_class **classp, bus_space_tag_t *bst,
-    bus_space_handle_t *bsh, int *baud, u_int *rclk, u_int *shiftp)
+    bus_space_handle_t *bsh, int *baud, u_int *rclk, u_int *shiftp,
+    u_int *iowidthp)
 {
 	struct acpi_uart_compat_data *cd;
 	ACPI_TABLE_SPCR *spcr;
@@ -142,6 +143,7 @@ uart_cpu_acpi_probe(struct uart_class **classp, bus_sp
 	*classp = cd->clas;
 	*rclk = 0;
 	*shiftp = 2;
+	*iowidthp = spcr->SerialPort.BitWidth / 8;
 
 out:
 	acpi_unmap_table(spcr);
@@ -169,7 +171,8 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
 
 	err = ENXIO;
 #ifdef DEV_ACPI
-	err = uart_cpu_acpi_probe(&class, &bst, &bsh, &br, &rclk, &shift);
+	err = uart_cpu_acpi_probe(&class, &bst, &bsh, &br, &rclk, &shift,
+	    &iowidth);
 #endif
 #ifdef FDT
 	if (err != 0) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201712081005.vB8A5OV7047234>