Index | Thread | Search

From:
Mike Larkin <mlarkin@nested.page>
Subject:
Re: psp(4): longer timeouts
To:
tech@openbsd.org
Date:
Wed, 2 Oct 2024 09:42:01 -0700

Download raw body.

Thread
On Tue, Oct 01, 2024 at 02:37:07PM +0200, Hans-Jörg Höxer wrote:
> 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.

ok mlarkin

> ------------------------------------------------------------------------
> 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: