Loading drivers/tty/serial/msm_geni_serial.c +15 −10 Original line number Diff line number Diff line Loading @@ -2796,19 +2796,24 @@ static int msm_geni_serial_sys_hib_resume_noirq(struct device *dev) struct platform_device *pdev = to_platform_device(dev); struct msm_geni_serial_port *port = platform_get_drvdata(pdev); struct uart_port *uport = &port->uport; unsigned long cfg0, cfg1; if (uart_console(uport) && console_suspend_enabled && uport->suspended) { if (uart_console(uport)) { uart_resume_port((struct uart_driver *)uport->private_data, uport); dev_dbg(dev, "%s\n", __func__); se_get_packing_config(8, 1, false, &cfg0, &cfg1); geni_write_reg_nolog(cfg0, uport->membase, SE_GENI_TX_PACKING_CFG0); geni_write_reg_nolog(cfg1, uport->membase, SE_GENI_TX_PACKING_CFG1); disable_irq(uport->irq); /* * For hibernation usecase clients for * console UART won't call port setup during restore. * Hence call port setup for console uart. */ msm_geni_serial_port_setup(uport); } else { /* * Peripheral register settings are lost during hibernation. * Update setup flag such that port setup happens again * during next session. Clients of HS-UART will close and * open the port during hibernation. */ port->port_setup = false; } return 0; } Loading Loading
drivers/tty/serial/msm_geni_serial.c +15 −10 Original line number Diff line number Diff line Loading @@ -2796,19 +2796,24 @@ static int msm_geni_serial_sys_hib_resume_noirq(struct device *dev) struct platform_device *pdev = to_platform_device(dev); struct msm_geni_serial_port *port = platform_get_drvdata(pdev); struct uart_port *uport = &port->uport; unsigned long cfg0, cfg1; if (uart_console(uport) && console_suspend_enabled && uport->suspended) { if (uart_console(uport)) { uart_resume_port((struct uart_driver *)uport->private_data, uport); dev_dbg(dev, "%s\n", __func__); se_get_packing_config(8, 1, false, &cfg0, &cfg1); geni_write_reg_nolog(cfg0, uport->membase, SE_GENI_TX_PACKING_CFG0); geni_write_reg_nolog(cfg1, uport->membase, SE_GENI_TX_PACKING_CFG1); disable_irq(uport->irq); /* * For hibernation usecase clients for * console UART won't call port setup during restore. * Hence call port setup for console uart. */ msm_geni_serial_port_setup(uport); } else { /* * Peripheral register settings are lost during hibernation. * Update setup flag such that port setup happens again * during next session. Clients of HS-UART will close and * open the port during hibernation. */ port->port_setup = false; } return 0; } Loading