From: Hugo Villeneuve hvilleneuve@dimonoff.com
Bit SRESET (3) is cleared when a reset operation is completed. Having the IOCONTROL register as non-volatile will always read SRESET as 1, which is incorrect.
Also, if IOCONTROL register is not a volatile register, the upcoming patch "serial: sc16is7xx: fix regression with GPIO configuration" doesn't work when setting some shared GPIO lines as modem control lines.
Therefore mark IOCONTROL register as a volatile register.
Cc: stable@vger.kernel.org # 6.1.x Signed-off-by: Hugo Villeneuve hvilleneuve@dimonoff.com Reviewed-by: Lech Perczak lech.perczak@camlingroup.com Tested-by: Lech Perczak lech.perczak@camlingroup.com --- drivers/tty/serial/sc16is7xx.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index 8ae2afc76a9b..306ae512b38a 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -488,6 +488,7 @@ static bool sc16is7xx_regmap_volatile(struct device *dev, unsigned int reg) case SC16IS7XX_TXLVL_REG: case SC16IS7XX_RXLVL_REG: case SC16IS7XX_IOSTATE_REG: + case SC16IS7XX_IOCONTROL_REG: return true; default: break;
On Tue, Jul 25, 2023 at 10:23:34AM -0400, Hugo Villeneuve wrote:
From: Hugo Villeneuve hvilleneuve@dimonoff.com
Bit SRESET (3) is cleared when a reset operation is completed. Having the IOCONTROL register as non-volatile will always read SRESET as 1, which is incorrect.
Also, if IOCONTROL register is not a volatile register, the upcoming patch "serial: sc16is7xx: fix regression with GPIO configuration" doesn't work when setting some shared GPIO lines as modem control lines.
Therefore mark IOCONTROL register as a volatile register.
Cc: stable@vger.kernel.org # 6.1.x
Why 6.1.y? What commit does this fix?
Signed-off-by: Hugo Villeneuve hvilleneuve@dimonoff.com Reviewed-by: Lech Perczak lech.perczak@camlingroup.com Tested-by: Lech Perczak lech.perczak@camlingroup.com
drivers/tty/serial/sc16is7xx.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index 8ae2afc76a9b..306ae512b38a 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -488,6 +488,7 @@ static bool sc16is7xx_regmap_volatile(struct device *dev, unsigned int reg) case SC16IS7XX_TXLVL_REG: case SC16IS7XX_RXLVL_REG: case SC16IS7XX_IOSTATE_REG:
- case SC16IS7XX_IOCONTROL_REG: return true; default: break;
Is this the same as this change: https://lore.kernel.org/all/20230724034727.17335-1-hui.wang@canonical.com/
confused,
greg k-h
On Mon, 31 Jul 2023 17:50:40 +0200 Greg KH gregkh@linuxfoundation.org wrote:
On Tue, Jul 25, 2023 at 10:23:34AM -0400, Hugo Villeneuve wrote:
From: Hugo Villeneuve hvilleneuve@dimonoff.com
Bit SRESET (3) is cleared when a reset operation is completed. Having the IOCONTROL register as non-volatile will always read SRESET as 1, which is incorrect.
Also, if IOCONTROL register is not a volatile register, the upcoming patch "serial: sc16is7xx: fix regression with GPIO configuration" doesn't work when setting some shared GPIO lines as modem control lines.
Therefore mark IOCONTROL register as a volatile register.
Cc: stable@vger.kernel.org # 6.1.x
Why 6.1.y? What commit does this fix?
Signed-off-by: Hugo Villeneuve hvilleneuve@dimonoff.com Reviewed-by: Lech Perczak lech.perczak@camlingroup.com Tested-by: Lech Perczak lech.perczak@camlingroup.com
drivers/tty/serial/sc16is7xx.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index 8ae2afc76a9b..306ae512b38a 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -488,6 +488,7 @@ static bool sc16is7xx_regmap_volatile(struct device *dev, unsigned int reg) case SC16IS7XX_TXLVL_REG: case SC16IS7XX_RXLVL_REG: case SC16IS7XX_IOSTATE_REG:
- case SC16IS7XX_IOCONTROL_REG: return true; default: break;
Is this the same as this change: https://lore.kernel.org/all/20230724034727.17335-1-hui.wang@canonical.com/
confused,
Hi Greg, yes this is the same.
You simply accepted an exact equivalent of my patch by someone else in your tree, no confusion there.
I will remove this patch from my series and rebase it on your tree gregkh_tty/tty-next.
Hugo.
linux-stable-mirror@lists.linaro.org