Re: [PATCH 3/5] tty/8250_dw: Add support for OCTEON UARTS.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/19/2013 07:10 AM, Heikki Krogerus wrote:
On Tue, Jun 18, 2013 at 12:12:53PM -0700, David Daney wrote:
A few differences needed by OCTEON:

o These are DWC UARTS, but have USR at a different offset.

o OCTEON must have 64-bit wide register accesses, so we have OCTEON
   specific register accessors.

o No UCV register, so we hard code some properties.

Signed-off-by: David Daney <david.daney@xxxxxxxxxx>

<snip>

@@ -270,10 +301,8 @@ static int dw8250_probe(struct platform_device *pdev)
  	uart.port.serial_out = dw8250_serial_out;
  	uart.port.private_data = data;

-	dw8250_setup_port(&uart);
-
  	if (pdev->dev.of_node) {
-		err = dw8250_probe_of(&uart.port);
+		err = dw8250_probe_of(&uart.port, data);
  		if (err)
  			return err;
  	} else if (ACPI_HANDLE(&pdev->dev)) {
@@ -284,6 +313,9 @@ static int dw8250_probe(struct platform_device *pdev)
  		return -ENODEV;
  	}

+	if (!data->no_ucv)
+		dw8250_setup_port(&uart);

Moving the dw8250_setup_port() call here breaks dw8250_probe_acpi(). It
expects values from the CPR register for the DMA burst size calculation.

The DMA support can be moved to a separate function. This way it can
be called after this point, and it will then be available for both DT
and ACPI. I can make a patch tomorrow. That should solve this issue.


I am reworking the patch because other problems were found. I will try to get this part right in the next version.

David Daney

--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux