From: Michael Zaidman <michael.zaidman@gmail.com>
To: Christina Quast <contact@christina-quast.de>
Cc: linux-serial@vger.kernel.org, ilpo.jarvinen@linux.intel.com,
johan@kernel.org, gregkh@linuxfoundation.org,
daniel.beer@igorinstitute.com,
David Lamparter <equinox@diac24.net>,
Jiri Kosina <jikos@kernel.org>,
Michael Zaidman <michael.zaidman@gmail.com>
Subject: Re: [PATCH v4 RESEND] hid-ft260: Add serial driver
Date: Tue, 16 Jan 2024 23:44:04 +0200 [thread overview]
Message-ID: <Zab4pAQ7SGso8SYh@michael-VirtualBox> (raw)
In-Reply-To: <ZZSDTes35xnlFlX3@michael-VirtualBox>
On Tue, Jan 02, 2024 at 11:42:37PM +0200, Michael Zaidman wrote:
> On Thu, Dec 28, 2023 at 12:50:08PM +0100, Christina Quast wrote:
> > Hi everyone!
> >
> > On 12/18/23 10:31, Christina Quast wrote:
> > > Adds the serial driver for FT260 USB HID devices, providing direct and
> > > simplified access to UART functionality without the need for FT260 HID
> > > report format knowledge.
> > >
> > > This chip implements an UART and I2C interface, but only the latter was
> > > previously supported with a kernel driver. For the UART interface, only
> > > FTDI example code using hidraw from userspace was available.
> > >
> > > This commit adds a serial interface /dev/ttyFTx (FT as in FT260), which
> > > implements tty serial driver ops, facilitating baudrate configuration,
> > > data transmission and reception, termios settings.
> > >
> > > Signed-off-by: Daniel Beer <daniel.beer@igorinstitute.com>
> > > Signed-off-by: Christina Quast <contact@christina-quast.de>
> > > Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > > Reviewed-by: David Lamparter <equinox@diac24.net>
> >
> > Is this already queued for 6.8?
> >
> > Cheers and happy new year!
> >
> > Christina
> >
>
> Thanks for this work!
>
> I am adding Jiri Kosina, the maintainer of the HID subsystem.
>
> The FTDI FT260 chip implements three functionalities: USB to I2C, UART,
> and GPIO bridges through two USB HID class interfaces.
>
> I use the https://github.com/MichaelZaidman/hid-ft260 repository for FT260
> driver development. The I2C support has been upstreamed since 5.13. The code
> is mature enough and is I2C performance-tuned.
>
> The initial GPIO support was developed and committed into the mainline
> https://patchwork.kernel.org/project/linux-input/cover/20230211115752.26276-1-michael.zaidman@gmail.com/.
>
> Two versions of the initial UART support were around for some time, and
> now they are unified in this commit.
>
> I am going to test it with I2C traffic to exclude a suspect of possible
> impact on the I2C performance and will provide feedback in a week or two.
>
> --Michael
>
Hi Christina and Daniel,
I tested the patch and fixed several issues. I did it in the uart branch
of the https://github.com/MichaelZaidman/hid-ft260/tree/uart repository.
4a8430c hid-ft260: uart: protect write_buf concurrent access
bec5f5b hid-ft260: uart: remove dead code
9a8e145 hid-ft260: fix i2c regression
fa8b63f hid-ft260: fix Wformat warning
1b1a2c6 hid-ft260: fix incompatible-pointer-types error
60bf153 hid-ft260: Add serial driver
16b6536 hid-ft260: driver code from mainline
Then, I briefly measured the performance impact on I2C traffic by simultaneously
writing into UART at 921600 baud rate and into EEPROM via I2C at 100KHz. The I2C
speed was limited by EEPROM, slightly degrading compared to the I2C-only case.
Also, please see my comments inline in the original e-mail with the patch.
--Michael
next prev parent reply other threads:[~2024-01-16 21:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-18 9:31 [PATCH v4 RESEND] hid-ft260: Add serial driver Christina Quast
2023-12-28 11:50 ` Christina Quast
2024-01-02 21:42 ` Michael Zaidman
2024-01-16 21:44 ` Michael Zaidman [this message]
2024-01-16 21:34 ` Michael Zaidman
2024-01-16 21:43 ` Daniel Beer
2024-01-17 20:43 ` Michael Zaidman
2024-01-20 18:41 ` Michael Zaidman
2024-01-20 22:13 ` Daniel Beer
2024-01-21 9:12 ` Michael Zaidman
2024-01-28 22:07 ` Michael Zaidman
2024-01-31 6:28 ` Daniel Beer
2024-01-31 15:48 ` Michael Zaidman
[not found] ` <041c7445-fd59-4615-bb9a-7958b93113e8@christina-quast.de>
2024-02-02 9:04 ` Michael Zaidman
2024-02-10 22:03 ` Michael Zaidman
2024-02-01 11:07 ` Christina Quast
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zab4pAQ7SGso8SYh@michael-VirtualBox \
--to=michael.zaidman@gmail.com \
--cc=contact@christina-quast.de \
--cc=daniel.beer@igorinstitute.com \
--cc=equinox@diac24.net \
--cc=gregkh@linuxfoundation.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jikos@kernel.org \
--cc=johan@kernel.org \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox