[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87zfoxqhsj.fsf@gmail.com>
Date: Wed, 28 Aug 2024 12:02:12 +0530
From: Ritesh Harjani <ritesh.list@...il.com>
To: Seunghwan Baek <sh8267.baek@...sung.com>, linux-kernel@...r.kernel.org, linux-mmc@...r.kernel.org, ulf.hansson@...aro.org, quic_asutoshd@...cinc.com, adrian.hunter@...el.com
Cc: grant.jung@...sung.com, jt77.jang@...sung.com, junwoo80.lee@...sung.com, dh0421.hwang@...sung.com, jangsub.yi@...sung.com, sh043.lee@...sung.com, cw9316.lee@...sung.com, sh8267.baek@...sung.com, wkon.kim@...sung.com
Subject: Re: [PATCH 2/2] mmc : fix for check cqe halt.
Seunghwan Baek <sh8267.baek@...sung.com> writes:
> Code to check whether cqe is in halt state is modified to cqhci_halted,
> which has already been implemented.
>
> Fixes: a4080225f51d ("mmc: cqhci: support for command queue enabled host")
Few obsevations/corrections -
1. This is not a fix patch. So don't add "Fixes" tag
2. Commit subject needs correction... maybe- "cqhci-core: Make use cqhci_halted() routine"
3. This fix tag should be added to your previous patch which fixes a
bug. I later noticed that the tag mentioned in previous patch is incorrect.
4. The commit subject says [PATCH 2/2], but the mails were not linked properly, I guess.
> Signed-off-by: Seunghwan Baek <sh8267.baek@...sung.com>
> ---
> drivers/mmc/host/cqhci-core.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/mmc/host/cqhci-core.c b/drivers/mmc/host/cqhci-core.c
> index a02da26a1efd..178277d90c31 100644
> --- a/drivers/mmc/host/cqhci-core.c
> +++ b/drivers/mmc/host/cqhci-core.c
> @@ -33,6 +33,11 @@ struct cqhci_slot {
> #define CQHCI_HOST_OTHER BIT(4)
> };
>
> +static bool cqhci_halted(struct cqhci_host *cq_host)
> +{
> + return cqhci_readl(cq_host, CQHCI_CTL) & CQHCI_HALT;
> +}
> +
> static inline u8 *get_desc(struct cqhci_host *cq_host, u8 tag)
> {
> return cq_host->desc_base + (tag * cq_host->slot_sz);
> @@ -282,7 +287,7 @@ static void __cqhci_enable(struct cqhci_host *cq_host)
>
> cqhci_writel(cq_host, cqcfg, CQHCI_CFG);
>
> - if (cqhci_readl(cq_host, CQHCI_CTL) & CQHCI_HALT)
> + if (cqhci_halted(cq_host))
> cqhci_writel(cq_host, 0, CQHCI_CTL);
>
> mmc->cqe_on = true;
> @@ -617,7 +622,7 @@ static int cqhci_request(struct mmc_host *mmc, struct mmc_request *mrq)
> cqhci_writel(cq_host, 0, CQHCI_CTL);
> mmc->cqe_on = true;
> pr_debug("%s: cqhci: CQE on\n", mmc_hostname(mmc));
> - if (cqhci_readl(cq_host, CQHCI_CTL) & CQHCI_HALT) {
> + if (cqhci_halted(cq_host)) {
> pr_err("%s: cqhci: CQE failed to exit halt state\n",
> mmc_hostname(mmc));
> }
> @@ -953,11 +958,6 @@ static bool cqhci_clear_all_tasks(struct mmc_host *mmc, unsigned int timeout)
> return ret;
> }
>
> -static bool cqhci_halted(struct cqhci_host *cq_host)
> -{
> - return cqhci_readl(cq_host, CQHCI_CTL) & CQHCI_HALT;
> -}
> -
> static bool cqhci_halt(struct mmc_host *mmc, unsigned int timeout)
> {
> struct cqhci_host *cq_host = mmc->cqe_private;
> --
> 2.17.1
-ritesh
Powered by blists - more mailing lists