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

Jan Dabros posted 1 patch 4 years ago
drivers/i2c/busses/i2c-designware-amdpsp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] i2c: designware: Modify timing parameters for amdpsp mailbox
Posted by Jan Dabros 4 years ago
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 <jsd@semihalf.com>
---
 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
Re: [PATCH] i2c: designware: Modify timing parameters for amdpsp mailbox
Posted by Wolfram Sang 4 years ago
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 <jsd@semihalf.com>

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

Re: [PATCH] i2c: designware: Modify timing parameters for amdpsp mailbox
Posted by Jan Dąbroś 3 years, 11 months ago
śr., 4 maj 2022 o 21:55 Wolfram Sang <wsa@kernel.org> 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 <jsd@semihalf.com>
>
> 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
Re: [PATCH] i2c: designware: Modify timing parameters for amdpsp mailbox
Posted by Jarkko Nikula 4 years ago
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 <jsd@semihalf.com>
> ---
>   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 <jarkko.nikula@linux.intel.com>
Re: [PATCH] i2c: designware: Modify timing parameters for amdpsp mailbox
Posted by Jan Dąbroś 4 years ago
czw., 28 kwi 2022 o 15:07 Jarkko Nikula
<jarkko.nikula@linux.intel.com> 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 <jsd@semihalf.com>
> > ---
> >   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 <jarkko.nikula@linux.intel.com>

Thanks!

Best Regards,
Jan