kernel: bump 4.14 to 4.14.44
[openwrt/staging/mkresin.git] / target / linux / mediatek / patches-4.14 / 0154-mmc-mediatek-add-async-fifo-and-data-tune-support.patch
index 0bd5ca13bcad941a1314bd41b4f2b7f6c02294a0..abb263b7129f54ec4fa7a59201137687f80807eb 100644 (file)
@@ -13,8 +13,6 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
  drivers/mmc/host/mtk-sd.c | 52 +++++++++++++++++++++++++++++++++++++++++++++--
  1 file changed, 50 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
-index bcd83d6f2b86..8113bacc1540 100644
 --- a/drivers/mmc/host/mtk-sd.c
 +++ b/drivers/mmc/host/mtk-sd.c
 @@ -74,6 +74,7 @@
@@ -63,7 +61,7 @@ index bcd83d6f2b86..8113bacc1540 100644
  };
  
  struct msdc_tune_para {
-@@ -365,24 +378,32 @@ static const struct mtk_mmc_compatible mt8135_compat = {
+@@ -365,24 +378,32 @@ static const struct mtk_mmc_compatible m
        .clk_div_bits = 8,
        .hs400_tune = false,
        .pad_tune_reg = MSDC_PAD_TUNE,
@@ -96,7 +94,7 @@ index bcd83d6f2b86..8113bacc1540 100644
  };
  
  static const struct of_device_id msdc_of_ids[] = {
-@@ -1252,8 +1273,29 @@ static void msdc_init_hw(struct msdc_host *host)
+@@ -1252,8 +1273,29 @@ static void msdc_init_hw(struct msdc_hos
        sdr_set_field(host->base + MSDC_IOCON, MSDC_IOCON_DDLSEL, 0);
        writel(0x403c0046, host->base + MSDC_PATCH_BIT);
        sdr_set_field(host->base + MSDC_PATCH_BIT, MSDC_CKGEN_MSDC_DLY_SEL, 1);
@@ -127,7 +125,7 @@ index bcd83d6f2b86..8113bacc1540 100644
  
        /* Configure to enable SDIO mode.
         * it's must otherwise sdio cmd5 failed
-@@ -1268,6 +1310,8 @@ static void msdc_init_hw(struct msdc_host *host)
+@@ -1268,6 +1310,8 @@ static void msdc_init_hw(struct msdc_hos
  
        host->def_tune_para.iocon = readl(host->base + MSDC_IOCON);
        host->def_tune_para.pad_tune = readl(host->base + tune_reg);
@@ -136,7 +134,7 @@ index bcd83d6f2b86..8113bacc1540 100644
        dev_dbg(host->dev, "init hardware done!");
  }
  
-@@ -1480,7 +1524,7 @@ static int msdc_tune_response(struct mmc_host *mmc, u32 opcode)
+@@ -1480,7 +1524,7 @@ skip_fall:
                              final_fall_delay.final_phase);
                final_delay = final_fall_delay.final_phase;
        }
@@ -145,7 +143,7 @@ index bcd83d6f2b86..8113bacc1540 100644
                goto skip_internal;
  
        for (i = 0; i < PAD_DELAY_MAX; i++) {
-@@ -1638,6 +1682,8 @@ static int msdc_prepare_hs400_tuning(struct mmc_host *mmc, struct mmc_ios *ios)
+@@ -1638,6 +1682,8 @@ static int msdc_prepare_hs400_tuning(str
        host->hs400_mode = true;
  
        writel(host->hs400_ds_delay, host->base + PAD_DS_TUNE);
@@ -154,7 +152,7 @@ index bcd83d6f2b86..8113bacc1540 100644
        return 0;
  }
  
-@@ -1876,6 +1922,7 @@ static void msdc_save_reg(struct msdc_host *host)
+@@ -1876,6 +1922,7 @@ static void msdc_save_reg(struct msdc_ho
        host->save_para.pad_tune = readl(host->base + tune_reg);
        host->save_para.patch_bit0 = readl(host->base + MSDC_PATCH_BIT);
        host->save_para.patch_bit1 = readl(host->base + MSDC_PATCH_BIT1);
@@ -162,7 +160,7 @@ index bcd83d6f2b86..8113bacc1540 100644
        host->save_para.pad_ds_tune = readl(host->base + PAD_DS_TUNE);
        host->save_para.pad_cmd_tune = readl(host->base + PAD_CMD_TUNE);
        host->save_para.emmc50_cfg0 = readl(host->base + EMMC50_CFG0);
-@@ -1891,6 +1938,7 @@ static void msdc_restore_reg(struct msdc_host *host)
+@@ -1891,6 +1938,7 @@ static void msdc_restore_reg(struct msdc
        writel(host->save_para.pad_tune, host->base + tune_reg);
        writel(host->save_para.patch_bit0, host->base + MSDC_PATCH_BIT);
        writel(host->save_para.patch_bit1, host->base + MSDC_PATCH_BIT1);
@@ -170,6 +168,3 @@ index bcd83d6f2b86..8113bacc1540 100644
        writel(host->save_para.pad_ds_tune, host->base + PAD_DS_TUNE);
        writel(host->save_para.pad_cmd_tune, host->base + PAD_CMD_TUNE);
        writel(host->save_para.emmc50_cfg0, host->base + EMMC50_CFG0);
--- 
-2.11.0
-