Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751451AbdIBFJ0 (ORCPT ); Sat, 2 Sep 2017 01:09:26 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:54328 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750936AbdIBFJZ (ORCPT ); Sat, 2 Sep 2017 01:09:25 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 263D56087C Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=riteshh@codeaurora.org Subject: Re: [RFC 1/4] mmc: cqhci: Move CQHCI_ENABLE before setting TDLBA/TDLBAU To: Adrian Hunter , ulf.hansson@linaro.org Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, stummala@codeaurora.org, asutoshd@codeaurora.org References: <1504098251-27739-1-git-send-email-riteshh@codeaurora.org> <1504098251-27739-2-git-send-email-riteshh@codeaurora.org> <82b52d84-6eb1-9f97-5e0a-bea6d25ddbda@intel.com> From: Ritesh Harjani Message-ID: <3e4520c3-dcf5-fadf-6a58-94964055a4f3@codeaurora.org> Date: Sat, 2 Sep 2017 10:39:16 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <82b52d84-6eb1-9f97-5e0a-bea6d25ddbda@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1635 Lines: 54 On 8/31/2017 11:31 AM, Adrian Hunter wrote: > On 30/08/17 16:04, Ritesh Harjani wrote: >> Without this patch the CQHCI registers are getting reset >> again. >> >> Signed-off-by: Ritesh Harjani >> --- >> drivers/mmc/host/cqhci.c | 7 +++---- >> 1 file changed, 3 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/mmc/host/cqhci.c b/drivers/mmc/host/cqhci.c >> index 8650a13..2a7351c 100644 >> --- a/drivers/mmc/host/cqhci.c >> +++ b/drivers/mmc/host/cqhci.c >> @@ -262,6 +262,9 @@ static void __cqhci_enable(struct cqhci_host *cq_host) >> >> cqhci_writel(cq_host, cqcfg, CQHCI_CFG); >> >> + cqcfg |= CQHCI_ENABLE; >> + cqhci_writel(cq_host, cqcfg, CQHCI_CFG); > That doesn't follow the flow in the specification B.6.1. Command Queuing > Initialization Sequence. Also in B.3.5 Task List, the spec. says "Changing > the value of TDLBA is not allowed when command queue mode is enabled." > > So you will need to add a quirk for this. Sure. thanks. > >> + >> cqhci_writel(cq_host, lower_32_bits(cq_host->desc_dma_base), >> CQHCI_TDLBA); >> cqhci_writel(cq_host, upper_32_bits(cq_host->desc_dma_base), >> @@ -271,10 +274,6 @@ static void __cqhci_enable(struct cqhci_host *cq_host) >> >> cqhci_set_irqs(cq_host, 0); >> >> - cqcfg |= CQHCI_ENABLE; >> - >> - cqhci_writel(cq_host, cqcfg, CQHCI_CFG); >> - >> mmc->cqe_on = true; >> >> if (cq_host->ops->enable) >> > -- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.