public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Fix issues with phy configurations in am65x MMC driver
@ 2019-05-28  9:59 Faiz Abbas
  2019-05-28  9:59 ` [PATCH v3 1/3] mmc: sdhci_am654: Fix SLOTTYPE write Faiz Abbas
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Faiz Abbas @ 2019-05-28  9:59 UTC (permalink / raw)
  To: linux-kernel, linux-mmc; +Cc: ulf.hansson, adrian.hunter, faiz_abbas

The following patches fix issues with phy configurations for
sdhci_am654 driver.

v3:
Changed order of patches so that the first one can be applied easily to
stable tree.

v2:
1. Split patch 1 into 2 separate patches.
2. Improved patch descriptions.

Faiz Abbas (3):
  mmc: sdhci_am654: Fix SLOTTYPE write
  mmc: sdhci_am654: Improve whitespace utilisation with regmap_*() calls
  mmc: sdhci_am654: Print error message if the DLL fails to lock

 drivers/mmc/host/sdhci_am654.c | 37 ++++++++++++++++------------------
 1 file changed, 17 insertions(+), 20 deletions(-)

-- 
2.19.2

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3 1/3] mmc: sdhci_am654: Fix SLOTTYPE write
  2019-05-28  9:59 [PATCH v3 0/3] Fix issues with phy configurations in am65x MMC driver Faiz Abbas
@ 2019-05-28  9:59 ` Faiz Abbas
       [not found]   ` <20190604125043.C8D40249A2@mail.kernel.org>
  2019-05-28  9:59 ` [PATCH v3 2/3] mmc: sdhci_am654: Improve whitespace utilisation with regmap_*() calls Faiz Abbas
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Faiz Abbas @ 2019-05-28  9:59 UTC (permalink / raw)
  To: linux-kernel, linux-mmc; +Cc: ulf.hansson, adrian.hunter, faiz_abbas

In the call to regmap_update_bits() for SLOTTYPE, the mask and value
fields are exchanged. Fix this.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Cc: stable <stable@vger.kernel.org>
---
 drivers/mmc/host/sdhci_am654.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c
index a91c0b45c48d..3222ea4d584d 100644
--- a/drivers/mmc/host/sdhci_am654.c
+++ b/drivers/mmc/host/sdhci_am654.c
@@ -231,7 +231,7 @@ static int sdhci_am654_init(struct sdhci_host *host)
 		ctl_cfg_2 = SLOTTYPE_EMBEDDED;
 
 	regmap_update_bits(sdhci_am654->base, CTL_CFG_2,
-			   ctl_cfg_2, SLOTTYPE_MASK);
+			   SLOTTYPE_MASK, ctl_cfg_2);
 
 	return sdhci_add_host(host);
 }
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 2/3] mmc: sdhci_am654: Improve whitespace utilisation with regmap_*() calls
  2019-05-28  9:59 [PATCH v3 0/3] Fix issues with phy configurations in am65x MMC driver Faiz Abbas
  2019-05-28  9:59 ` [PATCH v3 1/3] mmc: sdhci_am654: Fix SLOTTYPE write Faiz Abbas
@ 2019-05-28  9:59 ` Faiz Abbas
  2019-05-28  9:59 ` [PATCH v3 3/3] mmc: sdhci_am654: Print error message if the DLL fails to lock Faiz Abbas
  2019-06-03 13:48 ` [PATCH v3 0/3] Fix issues with phy configurations in am65x MMC driver Ulf Hansson
  3 siblings, 0 replies; 6+ messages in thread
From: Faiz Abbas @ 2019-05-28  9:59 UTC (permalink / raw)
  To: linux-kernel, linux-mmc; +Cc: ulf.hansson, adrian.hunter, faiz_abbas

Line wrapping with the regmap_*() functions is way more conservative
than required by the 80 character rule. Expand the function calls out to
use less number of lines.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
---
 drivers/mmc/host/sdhci_am654.c | 34 +++++++++++++---------------------
 1 file changed, 13 insertions(+), 21 deletions(-)

diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c
index 3222ea4d584d..3c32d9fb6e1e 100644
--- a/drivers/mmc/host/sdhci_am654.c
+++ b/drivers/mmc/host/sdhci_am654.c
@@ -88,8 +88,7 @@ static void sdhci_am654_set_clock(struct sdhci_host *host, unsigned int clock)
 	int ret;
 
 	if (sdhci_am654->dll_on) {
-		regmap_update_bits(sdhci_am654->base, PHY_CTRL1,
-				   ENDLL_MASK, 0);
+		regmap_update_bits(sdhci_am654->base, PHY_CTRL1, ENDLL_MASK, 0);
 
 		sdhci_am654->dll_on = false;
 	}
@@ -101,8 +100,7 @@ static void sdhci_am654_set_clock(struct sdhci_host *host, unsigned int clock)
 		mask = OTAPDLYENA_MASK | OTAPDLYSEL_MASK;
 		val = (1 << OTAPDLYENA_SHIFT) |
 		      (sdhci_am654->otap_del_sel << OTAPDLYSEL_SHIFT);
-		regmap_update_bits(sdhci_am654->base, PHY_CTRL4,
-				   mask, val);
+		regmap_update_bits(sdhci_am654->base, PHY_CTRL4, mask, val);
 		switch (clock) {
 		case 200000000:
 			sel50 = 0;
@@ -120,8 +118,7 @@ static void sdhci_am654_set_clock(struct sdhci_host *host, unsigned int clock)
 		/* Configure PHY DLL frequency */
 		mask = SEL50_MASK | SEL100_MASK;
 		val = (sel50 << SEL50_SHIFT) | (sel100 << SEL100_SHIFT);
-		regmap_update_bits(sdhci_am654->base, PHY_CTRL5,
-				   mask, val);
+		regmap_update_bits(sdhci_am654->base, PHY_CTRL5, mask, val);
 		/* Configure DLL TRIM */
 		mask = DLL_TRIM_ICP_MASK;
 		val = sdhci_am654->trm_icp << DLL_TRIM_ICP_SHIFT;
@@ -129,20 +126,17 @@ static void sdhci_am654_set_clock(struct sdhci_host *host, unsigned int clock)
 		/* Configure DLL driver strength */
 		mask |= DR_TY_MASK;
 		val |= sdhci_am654->drv_strength << DR_TY_SHIFT;
-		regmap_update_bits(sdhci_am654->base, PHY_CTRL1,
-				   mask, val);
+		regmap_update_bits(sdhci_am654->base, PHY_CTRL1, mask, val);
 		/* Enable DLL */
-		regmap_update_bits(sdhci_am654->base, PHY_CTRL1,
-				   ENDLL_MASK, 0x1 << ENDLL_SHIFT);
+		regmap_update_bits(sdhci_am654->base, PHY_CTRL1, ENDLL_MASK,
+				   0x1 << ENDLL_SHIFT);
 		/*
 		 * Poll for DLL ready. Use a one second timeout.
 		 * Works in all experiments done so far
 		 */
-		ret = regmap_read_poll_timeout(sdhci_am654->base,
-					 PHY_STAT1, val,
-					 val & DLLRDY_MASK,
-					 1000, 1000000);
-
+		ret = regmap_read_poll_timeout(sdhci_am654->base, PHY_STAT1,
+					       val, val & DLLRDY_MASK, 1000,
+					       1000000);
 		sdhci_am654->dll_on = true;
 	}
 }
@@ -208,8 +202,7 @@ static int sdhci_am654_init(struct sdhci_host *host)
 
 	/* Reset OTAP to default value */
 	mask = OTAPDLYENA_MASK | OTAPDLYSEL_MASK;
-	regmap_update_bits(sdhci_am654->base, PHY_CTRL4,
-				   mask, 0x0);
+	regmap_update_bits(sdhci_am654->base, PHY_CTRL4, mask, 0x0);
 
 	regmap_read(sdhci_am654->base, PHY_STAT1, &val);
 	if (~val & CALDONE_MASK) {
@@ -223,15 +216,14 @@ static int sdhci_am654_init(struct sdhci_host *host)
 	}
 
 	/* Enable pins by setting IO mux to 0 */
-	regmap_update_bits(sdhci_am654->base, PHY_CTRL1,
-			   IOMUX_ENABLE_MASK, 0);
+	regmap_update_bits(sdhci_am654->base, PHY_CTRL1, IOMUX_ENABLE_MASK, 0);
 
 	/* Set slot type based on SD or eMMC */
 	if (host->mmc->caps & MMC_CAP_NONREMOVABLE)
 		ctl_cfg_2 = SLOTTYPE_EMBEDDED;
 
-	regmap_update_bits(sdhci_am654->base, CTL_CFG_2,
-			   SLOTTYPE_MASK, ctl_cfg_2);
+	regmap_update_bits(sdhci_am654->base, CTL_CFG_2, SLOTTYPE_MASK,
+			   ctl_cfg_2);
 
 	return sdhci_add_host(host);
 }
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 3/3] mmc: sdhci_am654: Print error message if the DLL fails to lock
  2019-05-28  9:59 [PATCH v3 0/3] Fix issues with phy configurations in am65x MMC driver Faiz Abbas
  2019-05-28  9:59 ` [PATCH v3 1/3] mmc: sdhci_am654: Fix SLOTTYPE write Faiz Abbas
  2019-05-28  9:59 ` [PATCH v3 2/3] mmc: sdhci_am654: Improve whitespace utilisation with regmap_*() calls Faiz Abbas
@ 2019-05-28  9:59 ` Faiz Abbas
  2019-06-03 13:48 ` [PATCH v3 0/3] Fix issues with phy configurations in am65x MMC driver Ulf Hansson
  3 siblings, 0 replies; 6+ messages in thread
From: Faiz Abbas @ 2019-05-28  9:59 UTC (permalink / raw)
  To: linux-kernel, linux-mmc; +Cc: ulf.hansson, adrian.hunter, faiz_abbas

Print an error message and return if DLL fails to lock.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
---
 drivers/mmc/host/sdhci_am654.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c
index 3c32d9fb6e1e..d0b20780dd0f 100644
--- a/drivers/mmc/host/sdhci_am654.c
+++ b/drivers/mmc/host/sdhci_am654.c
@@ -137,6 +137,11 @@ static void sdhci_am654_set_clock(struct sdhci_host *host, unsigned int clock)
 		ret = regmap_read_poll_timeout(sdhci_am654->base, PHY_STAT1,
 					       val, val & DLLRDY_MASK, 1000,
 					       1000000);
+		if (ret) {
+			dev_err(mmc_dev(host->mmc), "DLL failed to relock\n");
+			return;
+		}
+
 		sdhci_am654->dll_on = true;
 	}
 }
-- 
2.19.2

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 0/3] Fix issues with phy configurations in am65x MMC driver
  2019-05-28  9:59 [PATCH v3 0/3] Fix issues with phy configurations in am65x MMC driver Faiz Abbas
                   ` (2 preceding siblings ...)
  2019-05-28  9:59 ` [PATCH v3 3/3] mmc: sdhci_am654: Print error message if the DLL fails to lock Faiz Abbas
@ 2019-06-03 13:48 ` Ulf Hansson
  3 siblings, 0 replies; 6+ messages in thread
From: Ulf Hansson @ 2019-06-03 13:48 UTC (permalink / raw)
  To: Faiz Abbas
  Cc: Linux Kernel Mailing List, linux-mmc@vger.kernel.org,
	Adrian Hunter

On Tue, 28 May 2019 at 11:59, Faiz Abbas <faiz_abbas@ti.com> wrote:
>
> The following patches fix issues with phy configurations for
> sdhci_am654 driver.
>
> v3:
> Changed order of patches so that the first one can be applied easily to
> stable tree.
>
> v2:
> 1. Split patch 1 into 2 separate patches.
> 2. Improved patch descriptions.
>
> Faiz Abbas (3):
>   mmc: sdhci_am654: Fix SLOTTYPE write
>   mmc: sdhci_am654: Improve whitespace utilisation with regmap_*() calls
>   mmc: sdhci_am654: Print error message if the DLL fails to lock
>
>  drivers/mmc/host/sdhci_am654.c | 37 ++++++++++++++++------------------
>  1 file changed, 17 insertions(+), 20 deletions(-)
>

Patch 1 applied for fixes and by adding a fixes tag. Patch 2+3 applied
for next, thanks!

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 1/3] mmc: sdhci_am654: Fix SLOTTYPE write
       [not found]   ` <20190604125043.C8D40249A2@mail.kernel.org>
@ 2019-06-04 13:01     ` Faiz Abbas
  0 siblings, 0 replies; 6+ messages in thread
From: Faiz Abbas @ 2019-06-04 13:01 UTC (permalink / raw)
  To: Sasha Levin, linux-kernel, linux-mmc; +Cc: ulf.hansson, adrian.hunter, stable

Hi Sasha,

On 04/06/19 6:20 PM, Sasha Levin wrote:
> Hi,
> 
> [This is an automated email]
> 
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: all
> 
> The bot has tested the following trees: v5.1.6, v5.0.20, v4.19.47, v4.14.123, v4.9.180, v4.4.180.
> 
> v5.1.6: Build OK!
> v5.0.20: Build OK!

Please apply it only to the above two releases. I guess this script
could detect that the file was not even present before this and not try
to apply to those.

> v4.19.47: Failed to apply! Possible dependencies:
>     06b23ca021c4 ("mmc: sdhci-of-arasan: Add a single data structure to incorporate pdata and soc_ctl_map")
>     41fd4caeb00b ("mmc: sdhci_am654: Add Initial Support for AM654 SDHCI driver")
>     f0061fed1f8a ("mmc: sdhci-of-arasan: Add Support for AM654 MMC and PHY")
> 
> v4.14.123: Failed to apply! Possible dependencies:
>     06b23ca021c4 ("mmc: sdhci-of-arasan: Add a single data structure to incorporate pdata and soc_ctl_map")
>     41fd4caeb00b ("mmc: sdhci_am654: Add Initial Support for AM654 SDHCI driver")
>     7d326930d352 ("mmc: sdhci-omap: Add OMAP SDHCI driver")
>     84362d79f436 ("mmc: sdhci-of-arasan: Add CQHCI support for arasan,sdhci-5.1")
>     f0061fed1f8a ("mmc: sdhci-of-arasan: Add Support for AM654 MMC and PHY")
> 
> v4.9.180: Failed to apply! Possible dependencies:
>     06b23ca021c4 ("mmc: sdhci-of-arasan: Add a single data structure to incorporate pdata and soc_ctl_map")
>     3a3748dba881 ("mmc: sdhci-xenon: Add Marvell Xenon SDHC core functionality")
>     41fd4caeb00b ("mmc: sdhci_am654: Add Initial Support for AM654 SDHCI driver")
>     7d326930d352 ("mmc: sdhci-omap: Add OMAP SDHCI driver")
>     84362d79f436 ("mmc: sdhci-of-arasan: Add CQHCI support for arasan,sdhci-5.1")
>     d38dcad4e7b4 ("mmc: sdhci: Let drivers decide whether to use mmc_retune_needed() with pm")
>     f0061fed1f8a ("mmc: sdhci-of-arasan: Add Support for AM654 MMC and PHY")
> 
> v4.4.180: Failed to apply! Possible dependencies:
>     06b23ca021c4 ("mmc: sdhci-of-arasan: Add a single data structure to incorporate pdata and soc_ctl_map")
>     0c7fe32e847f ("mmc: sdhci-of-arasan: fix clk issue in sdhci_arasan_remove()")
>     278d09624eda ("mmc: sdhci-of-arasan: fix missing sdhci_pltfm_free for err handling")
>     3a3748dba881 ("mmc: sdhci-xenon: Add Marvell Xenon SDHC core functionality")
>     3ea4666e8d42 ("mmc: sdhci-of-arasan: Properly set corecfg_baseclkfreq on rk3399")
>     41fd4caeb00b ("mmc: sdhci_am654: Add Initial Support for AM654 SDHCI driver")
>     476bf3d62d5c ("mmc: sdhci-brcmstb: Add driver for Broadcom BRCMSTB SoCs")
>     5d9460d74ce5 ("mmc: sdhci-pic32: Add PIC32 SDHCI host controller driver")
>     7d326930d352 ("mmc: sdhci-omap: Add OMAP SDHCI driver")
>     802ac39a5566 ("mmc: sdhci-of-arasan: fix set_clock when a phy is supported")
>     84362d79f436 ("mmc: sdhci-of-arasan: Add CQHCI support for arasan,sdhci-5.1")
>     89211418cb71 ("mmc: sdhci-of-arasan: use sdhci_pltfm_init for private allocation")
>     91aa366109e8 ("mmc: sdhci-of-arasan: add phy support for sdhci-of-arasan")
>     a05c84651145 ("mmc: sdhci-of-arasan: implement enhanced strobe callback")
>     c390f2110adf ("mmc: sdhci-of-arasan: Add ability to export card clock")
>     ca572f4636aa ("mmc: sdhci-of-arasan: Always power the PHY off/on when clock changes")
>     f0061fed1f8a ("mmc: sdhci-of-arasan: Add Support for AM654 MMC and PHY")
> 
> 
> How should we proceed with this patch?
> 

Thanks,
Faiz

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-06-04 13:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-28  9:59 [PATCH v3 0/3] Fix issues with phy configurations in am65x MMC driver Faiz Abbas
2019-05-28  9:59 ` [PATCH v3 1/3] mmc: sdhci_am654: Fix SLOTTYPE write Faiz Abbas
     [not found]   ` <20190604125043.C8D40249A2@mail.kernel.org>
2019-06-04 13:01     ` Faiz Abbas
2019-05-28  9:59 ` [PATCH v3 2/3] mmc: sdhci_am654: Improve whitespace utilisation with regmap_*() calls Faiz Abbas
2019-05-28  9:59 ` [PATCH v3 3/3] mmc: sdhci_am654: Print error message if the DLL fails to lock Faiz Abbas
2019-06-03 13:48 ` [PATCH v3 0/3] Fix issues with phy configurations in am65x MMC driver Ulf Hansson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox