Re: [PATCH] i2c: designware: use enable on resume instead initialization

From: Lucas De Marchi
Date: Tue Jun 09 2015 - 14:38:05 EST


Hi Mika,

On Tue, Jun 9, 2015 at 5:51 AM, Mika Westerberg
<mika.westerberg@xxxxxxxxxxxxxxx> wrote:
> On Mon, Jun 08, 2015 at 02:50:28PM -0300, lucas.de.marchi@xxxxxxxxx wrote:
>> From: Fabio Mello <fabio.mello@xxxxxxxxx>
>>
>> According to documentation and tests, initialization is not
>> necessary on module resume, since the controller keeps its state
>> between disable/enable. Change the target address is also allowed.
>>
>> So, this patch replaces the initialization on module resume with a
>> simple enable, and removes the (non required anymore) enables and
>> disables.
>>
>> Signed-off-by: Fabio Mello <fabio.mello@xxxxxxxxx>
>> Signed-off-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
>> ---
>>
>> These pictures explain a little more the consequence of letting the
>> enable+disable in the code:
>>
>> http://pub.politreco.com/paste/TEK0011-before.jpg
>> http://pub.politreco.com/paste/TEK0007-after.jpg
>>
>> The yellow line is a GPIO toggle in userspace to mark when we start and finish
>> the i2c transactions. The blue line is the SCL in that i2c bus. Take a look on
>> the huge pauses we have between any 2 transactions. These pauses are removed
>> with this patch and we are able to read our sensor's values in 950usec rather
>> than 5.24msec we had before. We are testing this using a Minnowboard Max that
>> has a designware i2c controller.
>
> Did you test this on any other platform than Intel Baytrail?

No. The only soc we have here with this controller is the Baytrail.

--
Lucas De Marchi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/