diff --git a/drivers/tty/serial/msm_geni_serial.c b/drivers/tty/serial/msm_geni_serial.c index 6985574b1350..14f0eab2be1d 100644 --- a/drivers/tty/serial/msm_geni_serial.c +++ b/drivers/tty/serial/msm_geni_serial.c @@ -473,6 +473,7 @@ static void wait_for_transfers_inflight(struct uart_port *uport) int iter = 0; struct msm_geni_serial_port *port = GET_DEV_PORT(uport); unsigned int geni_status; + bool CTS, RX; geni_status = geni_read_reg_nolog(uport->membase, SE_GENI_STATUS); /* Possible stop rx is called before this. */ @@ -496,10 +497,12 @@ static void wait_for_transfers_inflight(struct uart_port *uport) SE_GENI_RX_FIFO_STATUS); u32 rx_dma = geni_read_reg_nolog(uport->membase, SE_DMA_RX_LEN_IN); + CTS = geni_ios & 0x2; // b[1] = UART CTS <- Peer RFR + RX = geni_ios & 0x1; // b[0] = UART RX <- Peer TX IPC_LOG_MSG(port->ipc_log_misc, - "%s IOS 0x%x geni status 0x%x rx: fifo 0x%x dma 0x%x\n", - __func__, geni_ios, geni_status, rx_fifo_status, rx_dma); + "%s: geni=0x%x rx_fifo=0x%x rx_dma=0x%x, CTS_IO=%d, RX_IO=%d\n", + __func__, geni_status, rx_fifo_status, rx_dma, CTS, RX); } } @@ -1758,7 +1761,7 @@ static int msm_geni_serial_handle_dma_tx(struct uart_port *uport) */ if (!uart_console(uport)) { IPC_LOG_MSG(msm_port->ipc_log_misc, - "%s.Power Off.\n", __func__); + "%s.Tx sent out, Power off\n", __func__); msm_geni_serial_power_off(uport); } uart_write_wakeup(uport);