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. > > 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); > } > -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> Intel Finland Oy --------------------------------------------------------------------- Intel Finland Oy Registered Address: PL 281, 00181 Helsinki Business Identity Code: 0357606 - 4 Domiciled in Helsinki This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ��.n��������+%������w��{.n�����{��ǫ����{ay�ʇڙ���f���h������_�(�階�ݢj"��������G����?���&��