Index | Thread | Search

From:
Hans-Jörg Höxer <hshoexer@genua.de>
Subject:
psp(4): longer timeouts
To:
<tech@openbsd.org>
Date:
Tue, 1 Oct 2024 14:37:07 +0200

Download raw body.

Thread
Hi,

psp(4) on my EPYC 9124 seems to need more time to respond.  With both
polling during autoconf and interrupt during normal operation.

Take care,
HJ.
------------------------------------------------------------------------
commit 91ace94c0af584a1284f25ed72b3129a1cfde483
Author: Hans-Joerg Hoexer <hshoexer@genua.de>
Date:   Wed Aug 7 17:54:43 2024 +0200

    psp(4): longer timeouts
    
    On my EPYC 9124 psp(4) seems to need more to time to respond.
    Otherwise it will not attach.

diff --git a/sys/dev/ic/psp.c b/sys/dev/ic/psp.c
index 5bbbf2de5ee..84c8379d741 100644
--- a/sys/dev/ic/psp.c
+++ b/sys/dev/ic/psp.c
@@ -199,7 +199,7 @@ ccp_wait(struct psp_softc *sc, uint32_t *status, int poll)
 
 	if (poll) {
 		count = 0;
-		while (count++ < 10) {
+		while (count++ < 100) {
 			cmdword = bus_space_read_4(sc->sc_iot, sc->sc_ioh,
 			    PSP_REG_CMDRESP);
 			if (cmdword & PSP_CMDRESP_RESPONSE)
@@ -211,7 +211,7 @@ ccp_wait(struct psp_softc *sc, uint32_t *status, int poll)
 		return (1);
 	}
 
-	if (tsleep_nsec(sc, PWAIT, "psp", SEC_TO_NSEC(1)) == EWOULDBLOCK)
+	if (tsleep_nsec(sc, PWAIT, "psp", SEC_TO_NSEC(2)) == EWOULDBLOCK)
 		return (1);
 
 done: