diff options
author | Skylar Chang <chiaweic@codeaurora.org> | 2016-10-17 10:01:36 -0700 |
---|---|---|
committer | Skylar Chang <chiaweic@codeaurora.org> | 2016-10-19 13:02:26 -0700 |
commit | 22ec2af43cb34b6e9ab05f42b9d077ebee3f7901 (patch) | |
tree | 57c1fdd88eab5290c6eb4057c525ddfa6ae1eecf | |
parent | c6b7d9674c413431a6622844bdcbfc8a7f2942df (diff) |
msm: gsi: add 1ms delay before reset
As part of GSI reset workaround, a 1ms sleep needs to be added
between the first reset command and the second one.
Change-Id: I6131aa646edfd6192e4f0895a7cc97728d6f7536
CRs-Fixed: 1079245
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
-rw-r--r-- | drivers/platform/msm/gsi/gsi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/platform/msm/gsi/gsi.c b/drivers/platform/msm/gsi/gsi.c index 352defe6204b..bd2132d77360 100644 --- a/drivers/platform/msm/gsi/gsi.c +++ b/drivers/platform/msm/gsi/gsi.c @@ -17,6 +17,7 @@ #include <linux/module.h> #include <linux/msm_gsi.h> #include <linux/platform_device.h> +#include <linux/delay.h> #include "gsi.h" #include "gsi_reg.h" @@ -26,6 +27,8 @@ #define GSI_MHI_ER_START 10 #define GSI_MHI_ER_END 16 +#define GSI_RESET_WA_MIN_SLEEP 1000 +#define GSI_RESET_WA_MAX_SLEEP 2000 static const struct of_device_id msm_gsi_match[] = { { .compatible = "qcom,msm_gsi", }, { }, @@ -1982,6 +1985,7 @@ reset: /* workaround: reset GSI producers again */ if (ctx->props.dir == GSI_CHAN_DIR_FROM_GSI && !reset_done) { + usleep_range(GSI_RESET_WA_MIN_SLEEP, GSI_RESET_WA_MAX_SLEEP); reset_done = true; goto reset; } |