[PATCH v2 0/7] pl2303: improve the baud rate support

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

 



This patch series against usb-next improves the baud rate support of 
the pl2303 driver.
Currently only a fixed set of 25 standard baud rates from 75 to 6M baud
is supported. With this patch series applied, almost continuous baud 
rate adjustment is possible between 46 and 6.6M baud.

Luca Olivetti, Mastro Gippo and Reinhard Max had reported, that their 
devices are supporting additional (non-standard) baud rates when adding
corresponding values to the driver. This was conflicting with test 
results from the past. Further investigations showed, that commit 
8d48fdf689 "USB: PL2303: correctly handle baudrates above 115200" had 
added a new (divisor based) baud rate encoding method.
It turned out that in opposition to the standard (direct encoding)
method, this divisor based method is NOT limited to a fixed set of 
(standard) baud rates.
Unfortunately, it also turned out that the current code for this method
has several flaws.
After some additional reverse-engineering of the devices behavior, 
Reinhard Max and me were able fix and extend the code, which made it 
possible to use it for the whole range of baud rate values.
It must be mentioned that that the formula added with commit 8d48fdf689
(although not beeing entirely correct) was a good/valuable starting 
point.

All patches have been tested with a HX device rev. A from 2004.

Please note that the changes are currently restricted to the HX type 
chips only to avoid regressions. If there is anybody out there with one
of these type_0 and type_1 legacy devices, feel free to test if the 
divisor based baud rate encoding method works for these devices, too.


Changes since V1:
- removed patch 1 (already applied)
- wrapped commit descriptions at at 72 columns
- fixed some typos
- added summary texts to mentioned commits
- patch 1: specified the copyrights more precisely


Frank Schäfer (7):
  pl2303: fix+improve the divsor based baud rate encoding method
  pl2303: do not round to the next nearest standard baud rate for the
    divisor based baud rate encoding method
  pl2303: remove 500000 baud from the list of standard baud rates
  pl2303: move the two baud rate encoding methods to separate functions
  pl2303: increase the allowed baud rate range for the divisor based
    encoding method
  pl2303: also use the divisor based baud rate encoding method for baud
    rates < 115200 with HX chips
  pl2303: add two comments concerning the supported baud rates with HX
    chips

 drivers/usb/serial/pl2303.c |  168 ++++++++++++++++++++++++++++++++-----------
 1 Datei geändert, 126 Zeilen hinzugefügt(+), 42 Zeilen entfernt(-)

-- 
1.7.10.4

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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux