From: "Michał Mirosław" <mirq-linux@rere.qmqm.pl> To: Suneel Garapati <suneel.garapati@xilinx.com>, Kevin Liu <kliu5@marvell.com>, Ulf Hansson <ulf.hansson@linaro.org> Cc: Adrian Hunter <adrian.hunter@intel.com>, Chris Ball <cjb@laptop.org>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org, Michal Simek <michal.simek@xilinx.com> Subject: [PATCH v3 3/5] mmc: sdhci: fix SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN Date: Sun, 25 Jul 2021 06:25:16 +0200 [thread overview] Message-ID: <198e2af8eb70212cdd6d85d7fb8ff547e295fa77.1627186831.git.mirq-linux@rere.qmqm.pl> (raw) In-Reply-To: <cover.1627186831.git.mirq-linux@rere.qmqm.pl> Fix returned clock rate for SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN case. This fixes real_div value that was calculated as 1 (meaning no division) instead of 2 with the quirk enabled. Cc: stable@kernel.vger.org Fixes: d1955c3a9a1d ("mmc: sdhci: add quirk SDHCI_QUIRK_CLOCK_DIV_ZERO_BROKEN") Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- v3: updated commit message v2: no changes --- drivers/mmc/host/sdhci.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 3ab60e7f936b..0993f7d0ce8e 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -1903,9 +1903,12 @@ u16 sdhci_calc_clk(struct sdhci_host *host, unsigned int clock, if (!host->clk_mul || switch_base_clk) { /* Version 3.00 divisors must be a multiple of 2. */ - if (host->max_clk <= clock) + if (host->max_clk <= clock) { div = 1; - else { + if ((host->quirks2 & SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN) + && host->max_clk <= 25000000) + div = 2; + } else { for (div = 2; div < SDHCI_MAX_DIV_SPEC_300; div += 2) { if ((host->max_clk / div) <= clock) @@ -1914,9 +1917,6 @@ u16 sdhci_calc_clk(struct sdhci_host *host, unsigned int clock, } real_div = div; div >>= 1; - if ((host->quirks2 & SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN) - && !div && host->max_clk <= 25000000) - div = 1; } } else { /* Version 2.00 divisors must be a power of 2. */ -- 2.30.2
WARNING: multiple messages have this Message-ID (diff)
From: "Michał Mirosław" <mirq-linux@rere.qmqm.pl> To: Suneel Garapati <suneel.garapati@xilinx.com>, Kevin Liu <kliu5@marvell.com>, Ulf Hansson <ulf.hansson@linaro.org> Cc: Adrian Hunter <adrian.hunter@intel.com>, Chris Ball <cjb@laptop.org>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org, Michal Simek <michal.simek@xilinx.com> Subject: [PATCH v3 3/5] mmc: sdhci: fix SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN Date: Sun, 25 Jul 2021 06:25:16 +0200 [thread overview] Message-ID: <198e2af8eb70212cdd6d85d7fb8ff547e295fa77.1627186831.git.mirq-linux@rere.qmqm.pl> (raw) In-Reply-To: <cover.1627186831.git.mirq-linux@rere.qmqm.pl> Fix returned clock rate for SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN case. This fixes real_div value that was calculated as 1 (meaning no division) instead of 2 with the quirk enabled. Cc: stable@kernel.vger.org Fixes: d1955c3a9a1d ("mmc: sdhci: add quirk SDHCI_QUIRK_CLOCK_DIV_ZERO_BROKEN") Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- v3: updated commit message v2: no changes --- drivers/mmc/host/sdhci.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 3ab60e7f936b..0993f7d0ce8e 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -1903,9 +1903,12 @@ u16 sdhci_calc_clk(struct sdhci_host *host, unsigned int clock, if (!host->clk_mul || switch_base_clk) { /* Version 3.00 divisors must be a multiple of 2. */ - if (host->max_clk <= clock) + if (host->max_clk <= clock) { div = 1; - else { + if ((host->quirks2 & SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN) + && host->max_clk <= 25000000) + div = 2; + } else { for (div = 2; div < SDHCI_MAX_DIV_SPEC_300; div += 2) { if ((host->max_clk / div) <= clock) @@ -1914,9 +1917,6 @@ u16 sdhci_calc_clk(struct sdhci_host *host, unsigned int clock, } real_div = div; div >>= 1; - if ((host->quirks2 & SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN) - && !div && host->max_clk <= 25000000) - div = 1; } } else { /* Version 2.00 divisors must be a power of 2. */ -- 2.30.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-07-25 4:25 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-25 4:25 [PATCH v3 0/5] SDHCI clock handling fixes and cleanups Michał Mirosław 2021-07-25 4:25 ` Michał Mirosław [this message] 2021-07-25 4:25 ` [PATCH v3 3/5] mmc: sdhci: fix SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN Michał Mirosław 2021-07-25 4:25 ` [PATCH v3 2/5] mmc: sdhci: always obey programmable clock config in preset value Michał Mirosław 2021-07-25 4:25 ` Michał Mirosław 2021-07-25 4:25 ` [PATCH v3 1/5] mmc: sdhci: fix base clock usage " Michał Mirosław 2021-07-25 4:25 ` Michał Mirosław 2021-07-25 4:25 ` [PATCH v3 4/5] mmc: sdhci: move SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN frequency limit Michał Mirosław 2021-07-25 4:25 ` Michał Mirosław 2021-07-25 9:05 ` kernel test robot 2021-07-25 9:05 ` kernel test robot 2021-07-25 9:05 ` kernel test robot 2021-07-25 19:16 ` kernel test robot 2021-07-25 19:16 ` kernel test robot 2021-07-25 19:16 ` kernel test robot 2021-07-25 4:25 ` [PATCH v3 5/5] mmc: sdhci: simplify v2/v3+ clock calculation Michał Mirosław 2021-07-25 4:25 ` Michał Mirosław
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=198e2af8eb70212cdd6d85d7fb8ff547e295fa77.1627186831.git.mirq-linux@rere.qmqm.pl \ --to=mirq-linux@rere.qmqm.pl \ --cc=adrian.hunter@intel.com \ --cc=cjb@laptop.org \ --cc=kliu5@marvell.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mmc@vger.kernel.org \ --cc=michal.simek@xilinx.com \ --cc=suneel.garapati@xilinx.com \ --cc=ulf.hansson@linaro.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.