i2c-designware: increase timeout of semaphore transfer

Submitted by Oliver Neukum on March 16, 2017, 4:24 p.m.

Details

Message ID 20170316162455.22876-1-oneukum@suse.com
State Superseded
Headers show

Commit Message

Oliver Neukum March 16, 2017, 4:24 p.m.
Our testing shows the semaphore failing to be transferred on CherryTrail
in about 0.5% of all cases. The existing timeout needs to be lengthened
to accomodate the worst cases.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
---
 drivers/i2c/busses/i2c-designware-baytrail.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andy Shevchenko March 16, 2017, 4:35 p.m.
On Thu, 2017-03-16 at 17:24 +0100, Oliver Neukum wrote:
> Our testing shows the semaphore failing to be transferred on
> CherryTrail
> in about 0.5% of all cases. The existing timeout needs to be
> lengthened
> to accomodate the worst cases.

I think it's just a semi-hiding of real issue.

Hans?

> 
> Signed-off-by: Oliver Neukum <oneukum@suse.com>
> ---
>  drivers/i2c/busses/i2c-designware-baytrail.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-designware-baytrail.c
> b/drivers/i2c/busses/i2c-designware-baytrail.c
> index 1590ad0..2d238e3 100644
> --- a/drivers/i2c/busses/i2c-designware-baytrail.c
> +++ b/drivers/i2c/busses/i2c-designware-baytrail.c
> @@ -21,7 +21,7 @@
>  
>  #include "i2c-designware-core.h"
>  
> -#define SEMAPHORE_TIMEOUT	100
> +#define SEMAPHORE_TIMEOUT	500
>  #define PUNIT_SEMAPHORE		0x7
>  #define PUNIT_SEMAPHORE_BIT	BIT(0)
>  #define PUNIT_SEMAPHORE_ACQUIRE	BIT(1)
Hans de Goede March 17, 2017, 7:35 a.m.
Hi,

On 16-03-17 17:35, Andy Shevchenko wrote:
> On Thu, 2017-03-16 at 17:24 +0100, Oliver Neukum wrote:
>> Our testing shows the semaphore failing to be transferred on
>> CherryTrail
>> in about 0.5% of all cases. The existing timeout needs to be
>> lengthened
>> to accomodate the worst cases.
>
> I think it's just a semi-hiding of real issue.

I would not know what real issue, I've seen the timeout being
hit sometimes too, it seems that sometimes the punit just is
busy with other stuff for a while before acking the semaphore
request, so I think this patch is fine:

Reviewed-by: Hans de Goede <hdegoede@redhat.com>

Oliver, can you rebase this on top of:


https://cgit.freedesktop.org/drm-intel/commit/?h=topic/designware-baytrail

Which is in -next now, please ? I'm sorta surprised you didn't
use this is a base since your commit msg mentions cherrytrail
and with that series the semaphore code is broken on
cherrytrail.

Regards,

Hans



>
> Hans?
>
>>
>> Signed-off-by: Oliver Neukum <oneukum@suse.com>
>> ---
>>  drivers/i2c/busses/i2c-designware-baytrail.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/i2c/busses/i2c-designware-baytrail.c
>> b/drivers/i2c/busses/i2c-designware-baytrail.c
>> index 1590ad0..2d238e3 100644
>> --- a/drivers/i2c/busses/i2c-designware-baytrail.c
>> +++ b/drivers/i2c/busses/i2c-designware-baytrail.c
>> @@ -21,7 +21,7 @@
>>
>>  #include "i2c-designware-core.h"
>>
>> -#define SEMAPHORE_TIMEOUT	100
>> +#define SEMAPHORE_TIMEOUT	500
>>  #define PUNIT_SEMAPHORE		0x7
>>  #define PUNIT_SEMAPHORE_BIT	BIT(0)
>>  #define PUNIT_SEMAPHORE_ACQUIRE	BIT(1)
>
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Oliver Neukum March 20, 2017, 1:39 p.m.
Am Freitag, den 17.03.2017, 08:35 +0100 schrieb Hans de Goede:
> 
> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
> 
> Oliver, can you rebase this on top of:
> 
> 
> https://cgit.freedesktop.org/drm-intel/commit/?h=topic/designware-baytrail
> 
> Which is in -next now, please ? I'm sorta surprised you didn't
> use this is a base since your commit msg mentions cherrytrail
> and with that series the semaphore code is broken on
> cherrytrail.

Done. I used Linus' tree specifically because it is kind of canonical.
The patch is taken from an internal tree which had your patches.

	Regards
		Oliver

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch hide | download patch | download mbox

diff --git a/drivers/i2c/busses/i2c-designware-baytrail.c b/drivers/i2c/busses/i2c-designware-baytrail.c
index 1590ad0..2d238e3 100644
--- a/drivers/i2c/busses/i2c-designware-baytrail.c
+++ b/drivers/i2c/busses/i2c-designware-baytrail.c
@@ -21,7 +21,7 @@ 
 
 #include "i2c-designware-core.h"
 
-#define SEMAPHORE_TIMEOUT	100
+#define SEMAPHORE_TIMEOUT	500
 #define PUNIT_SEMAPHORE		0x7
 #define PUNIT_SEMAPHORE_BIT	BIT(0)
 #define PUNIT_SEMAPHORE_ACQUIRE	BIT(1)