Re: [PATCH] serial: 8250_pci: Auto CTS control by HW if AFE enabled

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

 



On 07/23/2015 03:48 AM, Shevchenko, Andriy wrote:
> On Wed, 2015-07-22 at 23:47 +0800, qipeng.zha wrote:
>> From: "qipeng.zha" <qipeng.zha@xxxxxxxxx>
>>
>> According to DesignWare 8250 spec, if auto flow control
>> mode is enabled, a change in CTS does not cause an interrupt,
>> so sw-assisted CTS flow control mode will not work properly.
>>
>> There reported an GPS firmware download failure issue, and we
>> verified the root cause is, the default sw-assisted CTS flow
>> control mode can not work properly since no interrupt when got
>> CTS signal.
>>
>> This patch is to enable auto CTS mode by defaut if CRTSCTS
>> is enable for DesignWare 8250 controller.
> 
> Have you checked this for ACPI enumerated UART? In that case 8250_dw.c
> is used and it doesn't have this as well.
> 
> I also would like to hear Heikki about this.

I think this might be breakage in the base 8250 driver that I caused.
I will look at this later tonight.

Regards,
Peter Hurley


>> Signed-off-by: Huiquan Zhong <huiquan.zhong@xxxxxxxxx>
>> Signed-off-by: qipeng.zha <qipeng.zha@xxxxxxxxx>
>> ---
>>  drivers/tty/serial/8250/8250_pci.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/tty/serial/8250/8250_pci.c 
>> b/drivers/tty/serial/8250/8250_pci.c
>> index 892eb32..5aeabe4 100644
>> --- a/drivers/tty/serial/8250/8250_pci.c
>> +++ b/drivers/tty/serial/8250/8250_pci.c
>> @@ -1438,6 +1438,10 @@ byt_set_termios(struct uart_port *p, struct 
>> ktermios *termios,
>>  	reg |= BYT_PRV_CLK_EN | BYT_PRV_CLK_UPDATE;
>>  	writel(reg, p->membase + BYT_PRV_CLK);
>>  
>> +	p->status &= ~UPSTAT_AUTOCTS;
>> +	if (termios->c_cflag & CRTSCTS)
>> +		p->status |= UPSTAT_AUTOCTS;
>> +
>>  	serial8250_do_set_termios(p, termios, old);
>>  }
>>  
> 

--
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