2022-04-28 14:04:20

by Jan Dąbroś

[permalink] [raw]
Subject: [PATCH] i2c: designware: Modify timing parameters for amdpsp mailbox

Adjust retry period and timeout values for x86-PSP mailbox based on the
typical I2C traffic generated by PSP. In order to limit the possibility
of timeouts, x86 should reduce the interval between retries as well as
increase overall time after which it gives up.

Signed-off-by: Jan Dabros <[email protected]>
---
drivers/i2c/busses/i2c-designware-amdpsp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-designware-amdpsp.c b/drivers/i2c/busses/i2c-designware-amdpsp.c
index 9b37f2b95abc..b624356c945f 100644
--- a/drivers/i2c/busses/i2c-designware-amdpsp.c
+++ b/drivers/i2c/busses/i2c-designware-amdpsp.c
@@ -16,8 +16,8 @@
#define PSP_CMD_TIMEOUT_US (500 * USEC_PER_MSEC)

#define PSP_I2C_REQ_BUS_CMD 0x64
-#define PSP_I2C_REQ_RETRY_CNT 10
-#define PSP_I2C_REQ_RETRY_DELAY_US (50 * USEC_PER_MSEC)
+#define PSP_I2C_REQ_RETRY_CNT 400
+#define PSP_I2C_REQ_RETRY_DELAY_US (25 * USEC_PER_MSEC)
#define PSP_I2C_REQ_STS_OK 0x0
#define PSP_I2C_REQ_STS_BUS_BUSY 0x1
#define PSP_I2C_REQ_STS_INV_PARAM 0x3
--
2.36.0.rc2.479.g8af0fa9b8e-goog


2022-04-29 22:46:03

by Jan Dąbroś

[permalink] [raw]
Subject: Re: [PATCH] i2c: designware: Modify timing parameters for amdpsp mailbox

czw., 28 kwi 2022 o 15:07 Jarkko Nikula
<[email protected]> napisał(a):
>
> On 4/28/22 15:26, Jan Dabros wrote:
> > Adjust retry period and timeout values for x86-PSP mailbox based on the
> > typical I2C traffic generated by PSP. In order to limit the possibility
> > of timeouts, x86 should reduce the interval between retries as well as
> > increase overall time after which it gives up.
> >
> > Signed-off-by: Jan Dabros <[email protected]>
> > ---
> > drivers/i2c/busses/i2c-designware-amdpsp.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/i2c/busses/i2c-designware-amdpsp.c b/drivers/i2c/busses/i2c-designware-amdpsp.c
> > index 9b37f2b95abc..b624356c945f 100644
> > --- a/drivers/i2c/busses/i2c-designware-amdpsp.c
> > +++ b/drivers/i2c/busses/i2c-designware-amdpsp.c
> > @@ -16,8 +16,8 @@
> > #define PSP_CMD_TIMEOUT_US (500 * USEC_PER_MSEC)
> >
> > #define PSP_I2C_REQ_BUS_CMD 0x64
> > -#define PSP_I2C_REQ_RETRY_CNT 10
> > -#define PSP_I2C_REQ_RETRY_DELAY_US (50 * USEC_PER_MSEC)
> > +#define PSP_I2C_REQ_RETRY_CNT 400
> > +#define PSP_I2C_REQ_RETRY_DELAY_US (25 * USEC_PER_MSEC)
> > #define PSP_I2C_REQ_STS_OK 0x0
> > #define PSP_I2C_REQ_STS_BUS_BUSY 0x1
> > #define PSP_I2C_REQ_STS_INV_PARAM 0x3
>
> Out of curiosity, can it be up to 400 * 25 ms = 10 s?

Right, worst case x86 is trying to take arbitration of the bus for
10s. But this is very unlikely (margin of safety).

> Acked-by: Jarkko Nikula <[email protected]>

Thanks!

Best Regards,
Jan

2022-04-30 16:21:22

by Jarkko Nikula

[permalink] [raw]
Subject: Re: [PATCH] i2c: designware: Modify timing parameters for amdpsp mailbox

On 4/28/22 15:26, Jan Dabros wrote:
> Adjust retry period and timeout values for x86-PSP mailbox based on the
> typical I2C traffic generated by PSP. In order to limit the possibility
> of timeouts, x86 should reduce the interval between retries as well as
> increase overall time after which it gives up.
>
> Signed-off-by: Jan Dabros <[email protected]>
> ---
> drivers/i2c/busses/i2c-designware-amdpsp.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-designware-amdpsp.c b/drivers/i2c/busses/i2c-designware-amdpsp.c
> index 9b37f2b95abc..b624356c945f 100644
> --- a/drivers/i2c/busses/i2c-designware-amdpsp.c
> +++ b/drivers/i2c/busses/i2c-designware-amdpsp.c
> @@ -16,8 +16,8 @@
> #define PSP_CMD_TIMEOUT_US (500 * USEC_PER_MSEC)
>
> #define PSP_I2C_REQ_BUS_CMD 0x64
> -#define PSP_I2C_REQ_RETRY_CNT 10
> -#define PSP_I2C_REQ_RETRY_DELAY_US (50 * USEC_PER_MSEC)
> +#define PSP_I2C_REQ_RETRY_CNT 400
> +#define PSP_I2C_REQ_RETRY_DELAY_US (25 * USEC_PER_MSEC)
> #define PSP_I2C_REQ_STS_OK 0x0
> #define PSP_I2C_REQ_STS_BUS_BUSY 0x1
> #define PSP_I2C_REQ_STS_INV_PARAM 0x3

Out of curiosity, can it be up to 400 * 25 ms = 10 s?

Acked-by: Jarkko Nikula <[email protected]>

2022-05-06 03:34:07

by Wolfram Sang

[permalink] [raw]
Subject: Re: [PATCH] i2c: designware: Modify timing parameters for amdpsp mailbox

On Thu, Apr 28, 2022 at 02:26:51PM +0200, Jan Dabros wrote:
> Adjust retry period and timeout values for x86-PSP mailbox based on the
> typical I2C traffic generated by PSP. In order to limit the possibility
> of timeouts, x86 should reduce the interval between retries as well as
> increase overall time after which it gives up.
>
> Signed-off-by: Jan Dabros <[email protected]>

Applied to for-next, thanks! Let me know if you think this is a bugfix
and should be in for-current.


Attachments:
(No filename) (494.00 B)
signature.asc (849.00 B)
Download all attachments

2022-05-16 20:08:57

by Jan Dąbroś

[permalink] [raw]
Subject: Re: [PATCH] i2c: designware: Modify timing parameters for amdpsp mailbox

śr., 4 maj 2022 o 21:55 Wolfram Sang <[email protected]> napisał(a):
>
> On Thu, Apr 28, 2022 at 02:26:51PM +0200, Jan Dabros wrote:
> > Adjust retry period and timeout values for x86-PSP mailbox based on the
> > typical I2C traffic generated by PSP. In order to limit the possibility
> > of timeouts, x86 should reduce the interval between retries as well as
> > increase overall time after which it gives up.
> >
> > Signed-off-by: Jan Dabros <[email protected]>
>
> Applied to for-next, thanks! Let me know if you think this is a bugfix
> and should be in for-current.

Sorry for the late response! I believe this is not necessary to
include this patch in for-current. Thanks.

Best Regards,
Jan