From ecbe50447d04d7e9e042a20d88e7773d03b4f68e Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Mon, 18 Apr 2022 14:09:20 -0700 Subject: [PATCH] arm ti_mbox_attach: Write sysconfig to TI_MBOX_SYSCONFIG to request reset. This variable was flagged as a set but unused warning as its value was read from a register and then modified to set a bit (TI_MBOX_SYSCONFIG_SOFTRST). After the variable is modified, the code then loops waiting for the SOFTRST bit to go clear in the TI_MBOX_SYSCONFIG register. Presumably merely reading from the register does not request a reset as other places in the driver read this register, so most likely the updated value of sysconfig setting the reset bit is supposed to be written to the register to request a reset before the polling loop that waits for the reset to finish. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D34856 --- sys/arm/ti/ti_mbox.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm/ti/ti_mbox.c b/sys/arm/ti/ti_mbox.c index 864b245ad7d..93364aa5093 100644 --- a/sys/arm/ti/ti_mbox.c +++ b/sys/arm/ti/ti_mbox.c @@ -174,6 +174,7 @@ ti_mbox_attach(device_t dev) sysconfig = ti_mbox_reg_read(sc, TI_MBOX_SYSCONFIG); DPRINTF("initial sysconfig %d\n", sysconfig); sysconfig |= TI_MBOX_SYSCONFIG_SOFTRST; + ti_mbox_reg_write(sc, TI_MBOX_SYSCONFIG, sysconfig); delay = 100; while (ti_mbox_reg_read(sc, TI_MBOX_SYSCONFIG) & TI_MBOX_SYSCONFIG_SOFTRST) {