git: ecbe50447d04 - main - arm ti_mbox_attach: Write sysconfig to TI_MBOX_SYSCONFIG to request reset.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 18 Apr 2022 21:09:35 UTC
The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ecbe50447d04d7e9e042a20d88e7773d03b4f68e commit ecbe50447d04d7e9e042a20d88e7773d03b4f68e Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2022-04-18 21:09:20 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2022-04-18 21:09:20 +0000 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 864b245ad7d1..93364aa5093c 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) {