Re: [RFC][PATCH] Xilinx uartlite serial driver

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

 



On Tue, May 16, 2006 at 11:48:00AM +0200, Peter Korsgaard wrote:
> >>>>> "Russell" == Russell King <rmk@xxxxxxxxxxxxxxxx> writes:
> 
> Hi,
> 
> Sorry for the slow reply, I've been away all weekend...
> 
>  >> Comments and suggestions are welcome. I'm especially wondering about
>  >> the fact that I'm hijacking the device nodes used by the mpc52xx_uart
>  >> driver ..
> 
>  Russell> That's for the mpc52xx folk to comment about.  I personally
>  Russel>  don't like> it.
> 
> What do you say Sylvain? Reusing device nodes seems pretty common
> (pxa.c, at91_serial.c, ..), and I cannot imagine anyone making a
> system with uartlite and mpc52xx UARTs ..

Actually they're wishing they hadn't because they can't interoperate
with standard 16550-based ports without resorting to nasty hacks.
As such they're _both_ transitioning away from using the major 4
space.

> Talking about driver, the following seems wrong (or atleast doesn't
> match 8250.c)
> 
> The interaction of the iflag bits is as follows (parity error
> given as an example):
> Parity error      INPCK   IGNPAR
> None              n/a     n/a     character received
> Yes               n/a     0       character discarded
> Yes               0       1       character received, marked as
>                                   TTY_NORMAL
> Yes               1       1       character received, marked as
>                                   TTY_PARITY

Actually that's wrong.  INPCK controls whether input parity _checking_
is be enabled.  If INPCK is not set, then there is no checking of input
parity, and therefore you don't know if there is an error or not.
IOW, INPCK takes precidence over IGNPAR.

So, this should be:

INPCK	Parity error	IGNPAR	Action
  0	n/a		n/a	character received, marked TTY_NORMAL
  1	0		n/a	character received, marked TTY_NORMAL
  1	1		0	character received, marked TTY_PARITY
  1	1		1	character ignored

which I believe is what 8250 and other ports implement.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core
-
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