git: fe822a6fd660 - stable/13 - arm ti_mbox_attach: Write sysconfig to TI_MBOX_SYSCONFIG to request reset.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 13 May 2022 22:54:57 UTC
The branch stable/13 has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=fe822a6fd660d0077f1198e38125dbcb6e2a3102
commit fe822a6fd660d0077f1198e38125dbcb6e2a3102
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2022-04-18 21:09:20 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2022-05-13 22:35:43 +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
(cherry picked from commit ecbe50447d04d7e9e042a20d88e7773d03b4f68e)
---
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 f77f2d9eafbf..abd3e5ad25ac 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) {