Re: [PATCH] RFC: WIP: sc16is7xx [v0.4]

From: Alexander Shiyan
Date: Mon Mar 10 2014 - 12:14:50 EST


ÐÐÐÐÐÐÐÑÐÐÐ, 10 ÐÐÑÑÐ 2014, 7:50 -04:00 ÐÑ Jon Ringle <jon@xxxxxxxxxx>:
>
> On Mon, 10 Mar 2014, Alexander Shiyan wrote:
>
> > ÐÐÐÐÐÐÐÑÐÐÐ, 10 ÐÐÑÑÐ 2014, 2:26 -04:00 ÐÑ jon@xxxxxxxxxx:
> > > From: Jon Ringle <jringle@xxxxxxxxxxxxx>
> > ...
> > > +config SERIAL_SC16IS7XX
> > > + tristate "SC16IS7xx RS485 serial support"
> > > + select SERIAL_CORE
> > > + default n
> > > + help
> > > + This selects support for SC16IS7xx for use as a RS485 serial port
> >
> > Documentation says:
> > The SC16IS740/750/760 is a slave IÂC-bus/SPI interface to a single-channel
> > high performance UART.
> > ...
> > The SC16IS740/750/760 also provides additional advanced features such
> > as auto hardware and software flow control, automatic RS-485 support...
> >
> > So why do you position this chip as RS485 only? Automatic direction for
> > RS485 is just a feature as an addition for standart UART.
>
> You're right. This is just how we are using the chip in our board. Would a
> configuration flag in platform_data make sense to use the auto rs485
> direction?

You don't need a flag, just use IOCTLs.
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/drivers/tty/serial/max310x.c?id=55367c620aed6bc27a82bb1763366931d7f2ee66

> Any thoughts as to the latency issue I report?

I do not understand why you chose the sccnxp driver as a template.
Use as a template max310x driver from linux-next branch.
I'm sure it will be better.

About latency.
I'm not exactly understand the problem, but I can say the following:
Since you're using the I2C bus, maximum UART daudrate can be
predicted from the I2C bus bandwidth.
Count how many I2C clocks spent on reception and transmission
of one byte through UART.

---