Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Nov 2021 21:31:14 GMT
From:      Vladimir Kondratyev <wulf@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: c508b0818b24 - main - iichid(4): Perform acknowledgement of I2C device interrupt after RESET command
Message-ID:  <202111302131.1AULVEwM051082@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by wulf:

URL: https://cgit.FreeBSD.org/src/commit/?id=c508b0818b245ea136d6538d68868cb3541f8f8f

commit c508b0818b245ea136d6538d68868cb3541f8f8f
Author:     Vladimir Kondratyev <wulf@FreeBSD.org>
AuthorDate: 2021-11-30 21:29:50 +0000
Commit:     Vladimir Kondratyev <wulf@FreeBSD.org>
CommitDate: 2021-11-30 21:29:50 +0000

    iichid(4): Perform acknowledgement of I2C device interrupt after RESET command
    
    in sampling mode to workaround firmware bug.
    
    This fixes reboot or poweroff on frame.work laptops after first touch.
    
    Reported by:    many
    PR:             259230
    MFC after:      1 week
    Tested by:      kevans, markj
---
 sys/dev/iicbus/iichid.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/sys/dev/iicbus/iichid.c b/sys/dev/iicbus/iichid.c
index d95ffb8add88..a36ed9bb8538 100644
--- a/sys/dev/iicbus/iichid.c
+++ b/sys/dev/iicbus/iichid.c
@@ -1134,6 +1134,11 @@ iichid_attach(device_t dev)
 		&sc->sampling_hysteresis, 0,
 		"number of missing samples before enabling of slow mode");
 	hid_add_dynamic_quirk(&sc->hw, HQ_IICHID_SAMPLING);
+
+	if (sc->sampling_rate_slow >= 0) {
+		pause("iichid", (hz + 999) / 1000);
+		(void)iichid_cmd_read(sc, NULL, 0, NULL);
+	}
 #endif /* IICHID_SAMPLING */
 
 	child = device_add_child(dev, "hidbus", -1);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202111302131.1AULVEwM051082>