Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp8005817ybl; Thu, 16 Jan 2020 09:06:24 -0800 (PST) X-Google-Smtp-Source: APXvYqyPxEdLCD8/sWc+TchNpTeRA8+4LRNKDfKtNe7U3G5Drp2pmHopfCKxyg4+t9sTbpe0v0so X-Received: by 2002:aca:50cd:: with SMTP id e196mr36275oib.178.1579194384131; Thu, 16 Jan 2020 09:06:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579194384; cv=none; d=google.com; s=arc-20160816; b=O9PTR3KmML/BTkKHh+/S05ZLx/mHxZfaZIOagI9Pc02f6ZKtMPhm3dP5uxgOROZtwZ 7Ee9F0CDr9XML3R3+R9D2qo7Vm6QkybcD0TfXwueHHoTxXYiZ1uLB7OvJiRKDOV43//S frAEmsU6Shgl90JcFu22tFk1X8N8ikycIeprcQvXc63fHLrNal1FFORtB6z9CXeWA5DK 9qDcKJeITkoSqRGyaS4IayZaQDcGgPw+i91NyAkasfA+PP01gvtnvFkK9r219FqtZ3pW xHgrrcE1ZIWkZPGk3tBKno1nX/z/UdMOZh5pKKw70dh+aYAeNRS4OqF8pzZzS64Co2Pd fmig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dmarc-filter:dkim-signature; bh=UfFifIJGILW8fksowAx6Kk3INRhbwc4+MMjSyJxB8xw=; b=CmOM0fPJN6PK+cHmnw4K3k4Am7/hLm0syhL23xro5/aBbIeWN8BNsbh7zAYIq4qeNJ 8GyssM95exMhtZWnli0jJZsrQ9IvOb520kBWKowlvMRiGNwHHFSEIuqUOUSvbMmZVQ1/ ZUkwhFmVry2z+EtFCysS+QKnQ45YUEdJxszfsDfrYdCc6akZyGbaMloXVe5bIXJizNjT ujpBIVT6xuTIaCb6qDTlC090vUUKpIO8U5nwfiPsE3uHjbQ44ySOoeIcPYF1H1czxV0M yZggfU8VneAaObgX50nQpxQgus9IRs7SoUyt5x2TPkwrQb2W444lbhxCRHELWjLw6jBc EVDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b="vI7ntw2/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h8si11896829oib.104.2020.01.16.09.06.06; Thu, 16 Jan 2020 09:06:24 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b="vI7ntw2/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388441AbgAPREy (ORCPT + 99 others); Thu, 16 Jan 2020 12:04:54 -0500 Received: from mail25.static.mailgun.info ([104.130.122.25]:19036 "EHLO mail25.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388270AbgAPREv (ORCPT ); Thu, 16 Jan 2020 12:04:51 -0500 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1579194290; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=UfFifIJGILW8fksowAx6Kk3INRhbwc4+MMjSyJxB8xw=; b=vI7ntw2/WQr4RidiWTlyhtW6ThJYLBUH+wyO5g5htniy0Cs6JQLpIkELb8l5wmO6OXRc75IV Wnw4QuBz1Er6Jcl9OhU3o8qnRmCcl1qge0Zbzm0u1/RlRYF90cHef39QA7cmJUBjgh7mZv2Z 4tqyVTf5eyJdZ7kXYD03Fox9o8U= X-Mailgun-Sending-Ip: 104.130.122.25 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by mxa.mailgun.org with ESMTP id 5e2097b1.7fd1ec3b7ea0-smtp-out-n02; Thu, 16 Jan 2020 17:04:49 -0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 79440C447A9; Thu, 16 Jan 2020 17:04:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=2.0 tests=ALL_TRUSTED,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.0 Received: from vbadigan-linux.qualcomm.com (blr-c-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: vbadigan) by smtp.codeaurora.org (Postfix) with ESMTPSA id 3B4E0C447AE; Thu, 16 Jan 2020 17:04:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 3B4E0C447AE Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=none smtp.mailfrom=vbadigan@codeaurora.org From: Veerabhadrarao Badiganti To: ulf.hansson@linaro.org, adrian.hunter@intel.com Cc: asutoshd@codeaurora.org, stummala@codeaurora.org, sayalil@codeaurora.org, cang@codeaurora.org, rampraka@codeaurora.org, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Veerabhadrarao Badiganti Subject: [PATCH V2 1/2] mmc: sdhci: Let a vendor driver supply and update ADMA descriptor size Date: Thu, 16 Jan 2020 22:33:10 +0530 Message-Id: <1579194192-7942-2-git-send-email-vbadigan@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1579194192-7942-1-git-send-email-vbadigan@codeaurora.org> References: <1579194192-7942-1-git-send-email-vbadigan@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Let a vendor driver supply the maximum descriptor size that it can operate on. ADMA descriptor table would be allocated using this supplied size. If any SD Host controller is of version prior to v4.10 spec but supports 16byte descriptor, this change allows them to supply correct descriptor size for ADMA table allocation. Also let a vendor driver update the descriptor size by overriding sdhc_host->desc_size if it has to operates on a different descriptor sizes in different conditions. Suggested-by: Adrian Hunter Signed-off-by: Veerabhadrarao Badiganti --- drivers/mmc/host/sdhci.c | 7 +++++-- drivers/mmc/host/sdhci.h | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 3140fe2..19a5ad3 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -3822,9 +3822,12 @@ int sdhci_setup_host(struct sdhci_host *host) void *buf; if (host->flags & SDHCI_USE_64_BIT_DMA) { + if (!host->alloc_desc_sz) + host->alloc_desc_sz = + SDHCI_ADMA2_64_DESC_SZ(host); + host->desc_sz = host->alloc_desc_sz; host->adma_table_sz = host->adma_table_cnt * - SDHCI_ADMA2_64_DESC_SZ(host); - host->desc_sz = SDHCI_ADMA2_64_DESC_SZ(host); + host->desc_sz; } else { host->adma_table_sz = host->adma_table_cnt * SDHCI_ADMA2_32_DESC_SZ; diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h index 0ed3e0e..8e7c77d 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -555,6 +555,7 @@ struct sdhci_host { dma_addr_t align_addr; /* Mapped bounce buffer */ unsigned int desc_sz; /* ADMA descriptor size */ + unsigned int alloc_desc_sz; /* ADMA descr. max size host supports */ struct workqueue_struct *complete_wq; /* Request completion wq */ struct work_struct complete_work; /* Request completion work */ -- Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc., is a member of Code Aurora Forum, a Linux Foundation Collaborative Project