Michael Williamson <michael.williamson@xxxxxxxxxxxxxxxx> writes: > Hi Kevin... > > On 01/05/2011 07:26 AM, Michael Williamson wrote: >> On the da850/omap-l138/am18x family of SoCs, up to three on chip UARTS may be >> configured. These peripherals support the standard Tx/Rx signals as well as >> CTS/RTS hardware flow control signals. The pins on these SOC's associated with >> these signals are multiplexed; e.g., the pin providing UART0_TXD capability >> also provides SPI0 chip select line 5 output capability. The configuration of >> the pin multiplexing occurs during platform initialization (or by earlier >> bootloader operations). >> >> There is a problem with the multiplexing implementation on these SOCs. Only >> the output and output enable portions of the I/O section of the pin are >> multiplexed. All peripheral input functions remain connected to a given pin >> regardless of configuration. >> >> In many configurations of these parts, providing a UART with Tx/Rx capability >> is needed, but the HW flow control capability is not. Furthermore, the pins >> associated with the CTS inputs on these UARTS are often configured to support >> a different peripheral, and they may be active/toggling during runtime. This >> can result in false modem status (CTS) interrupts being asserted to the 8250 >> driver controlling the associated Tx/Rx pins, and will impact system >> performance. >> >> The 8250 serial driver platform data does not provide a direct mechanism to >> tell the driver to disable modem status (i.e., CTS) interrupts for a given >> port. As a work-around, intercept register writes to the IER and disable >> modem status interrupts. >> >> This patch was tested using a MityDSP-L138 SOM having UART1 enabled with the >> associated CTS pin connected to a clock (configured for the AHCLKX function). >> >> Background / problem reports related to this issue are captured in the links >> below: >> http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/t/36701.aspx >> http://www.mail-archive.com/davinci-linux-open-source@xxxxxxxxxxxxxxxxxxxx/msg19524.html >> >> Signed-off-by: Michael Williamson <michael.williamson@xxxxxxxxxxxxxxxx> >> Tested-by: Michael Williamson <michael.williamson@xxxxxxxxxxxxxxxx> >> --- >> This is against the linux-davinci tree. >> >> Changes from original proposed patch: >> - instead of overriding set_termios, now override serial_out driver hook >> and intercept writes to the MSR. >> >> An alternate patch was proposed that modified the serial core driver and added a UPF_NO_MSR >> flag. There was resistance to this patch. The reasoning is that the core 8250 driver code >> should not continue to get muddied by platform hacks. >> > > I'd like to withdraw this patch. It works, but it's inefficient and ugly, and > I also get the feeling it isn't going to make it in it's current form anyway. > > I have another patch that is limited to just the mityomapl138 platform that > I would like to submit in place of this. No other board appears to have this > problem, so it makes sense to constrain the fix to platform file that does. > OK Kevin -- 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