On Mon, Sep 8, 2014 at 4:39 AM, Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> wrote: > Hello Lee, > > On 09/04/2014 10:34 AM, Lee Jones wrote: >> On Mon, 25 Aug 2014, Javier Martinez Canillas wrote: >>> From: Andrew Bresticker <abrestic@xxxxxxxxxxxx> >>> >>> When an EC command returns EC_RES_IN_PROGRESS, we need to query >>> the state of the EC until it indicates that it is no longer busy. >>> Do this in cros_ec_cmd_xfer() under the EC's mutex so that other >>> commands (e.g. keyboard, I2C passtru) aren't issued to the EC while >>> it is working on the in-progress command. >>> >>> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> >>> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> >>> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> >>> --- >>> >>> Changes since v1: >>> - The *xfer() calls don't modify the passed cros_ec_command so there is >>> no need to populate it inside the for loop. Suggested by Lee Jones. >>> --- >>> drivers/mfd/cros_ec.c | 34 +++++++++++++++++++++++++++++++++- >>> 1 file changed, 33 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/mfd/cros_ec.c b/drivers/mfd/cros_ec.c >>> index c53804a..cd0c93c 100644 >>> --- a/drivers/mfd/cros_ec.c >>> +++ b/drivers/mfd/cros_ec.c >>> @@ -23,6 +23,10 @@ >>> #include <linux/mfd/core.h> >>> #include <linux/mfd/cros_ec.h> >>> #include <linux/mfd/cros_ec_commands.h> >>> +#include <linux/delay.h> >>> + >>> +#define EC_COMMAND_RETRIES 50 >>> +#define EC_RETRY_DELAY_MS 10 >> >> Where did these values come from? >> > > These patches were taken from the ChromeOS 3.8 kernel so I don't really know > why these values were chosen. I'll let Andrew or one of the ChromiumOS folks > to answer this question. These are the values flashrom used when retrying commands. -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html