From patchwork Tue Aug 19 11:14:07 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 35581 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ig0-f199.google.com (mail-ig0-f199.google.com [209.85.213.199]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 6B43520523 for ; Tue, 19 Aug 2014 11:15:18 +0000 (UTC) Received: by mail-ig0-f199.google.com with SMTP id l13sf28965963iga.2 for ; Tue, 19 Aug 2014 04:15:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:cc:subject :date:message-id:in-reply-to:references:sender:precedence:list-id :x-original-sender:x-original-authentication-results:mailing-list :list-post:list-help:list-archive:list-unsubscribe; bh=ODjK8ELbMqqld35R4FzBAigHdoZy6cmv6X6bw5xZlzA=; b=TjgDds8XYxK/LEJ0Y/rxKGubsss9d1D3CauBp+2WQJZq4+owXlyTgX43E7DFJs83wK DHJiHqcmvYoJPHNqU1pjfa4tsOJiY2k0gqEa/VKb9RiSj4HXvZfzrqBdPRVBaKF4ngge bnyP9aY/3hIITSMQgcjcl73ThxVJzHQVcv/RMDc4kfZEyZrPpiOL3Tkntgwup7RqU2A6 MXhfgLnqzHzffvxXwMdYNhBK8x60O+mHAbzb+km8qBWs1bBPsNLzVjchRAhY/XNkeuD5 c1dzpdB+nS0xZxmpPfON0r2j0Uq1ia+zbyiCI3CyhTWQeP0gAdRvDcWPOLyyF4zoEuV8 dtlA== X-Gm-Message-State: ALoCoQl5UQKXiq4xfsDnWzrfpihxn9uFmnbFuscxhbVRwo9s0ClWrSTQUtN8sNRlFewQQPzGl27H X-Received: by 10.182.18.8 with SMTP id s8mr20111481obd.21.1408446917967; Tue, 19 Aug 2014 04:15:17 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.85.240 with SMTP id n103ls2707412qgd.13.gmail; Tue, 19 Aug 2014 04:15:17 -0700 (PDT) X-Received: by 10.220.97.5 with SMTP id j5mr29733465vcn.16.1408446917845; Tue, 19 Aug 2014 04:15:17 -0700 (PDT) Received: from mail-vc0-f174.google.com (mail-vc0-f174.google.com [209.85.220.174]) by mx.google.com with ESMTPS id n15si8461199vci.50.2014.08.19.04.15.17 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 19 Aug 2014 04:15:17 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.174 as permitted sender) client-ip=209.85.220.174; Received: by mail-vc0-f174.google.com with SMTP id la4so7184510vcb.19 for ; Tue, 19 Aug 2014 04:15:17 -0700 (PDT) X-Received: by 10.52.30.2 with SMTP id o2mr602490vdh.12.1408446917718; Tue, 19 Aug 2014 04:15:17 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.221.37.5 with SMTP id tc5csp229625vcb; Tue, 19 Aug 2014 04:15:17 -0700 (PDT) X-Received: by 10.68.195.228 with SMTP id ih4mr12463267pbc.167.1408446916613; Tue, 19 Aug 2014 04:15:16 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id ua4si26380721pac.100.2014.08.19.04.15.07 for ; Tue, 19 Aug 2014 04:15:07 -0700 (PDT) Received-SPF: none (google.com: linux-mmc-owner@vger.kernel.org does not designate permitted sender hosts) client-ip=209.132.180.67; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751563AbaHSLOY (ORCPT + 4 others); Tue, 19 Aug 2014 07:14:24 -0400 Received: from mail-pa0-f44.google.com ([209.85.220.44]:35781 "EHLO mail-pa0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751976AbaHSLOW (ORCPT ); Tue, 19 Aug 2014 07:14:22 -0400 Received: by mail-pa0-f44.google.com with SMTP id eu11so9881233pac.17 for ; Tue, 19 Aug 2014 04:14:21 -0700 (PDT) X-Received: by 10.70.40.227 with SMTP id a3mr49337273pdl.36.1408446860230; Tue, 19 Aug 2014 04:14:20 -0700 (PDT) Received: from localhost.localdomain ([117.203.126.32]) by mx.google.com with ESMTPSA id f12sm68345516pat.23.2014.08.19.04.14.14 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 19 Aug 2014 04:14:18 -0700 (PDT) From: Srinivas Kandagatla To: linux-mmc@vger.kernel.org Cc: Linus Walleij , Chris Ball , Ulf Hansson , Russell King , linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 1/4] mmc: mmci: Support any block sizes for ux500v2 and qcom variant Date: Tue, 19 Aug 2014 12:14:07 +0100 Message-Id: <1408446847-1604-1-git-send-email-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1408446785-1399-1-git-send-email-srinivas.kandagatla@linaro.org> References: <1408446785-1399-1-git-send-email-srinivas.kandagatla@linaro.org> Sender: linux-mmc-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: srinivas.kandagatla@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.220.174 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , From: Ulf Hansson For the ux500v2 variant of the PL18x block, any block sizes are supported. This will make it possible to decrease data overhead for SDIO transfers. This patch is based on Ulf Hansson patch http://www.spinics.net/lists/linux-mmc/msg12160.html Signed-off-by: Srinivas Kandagatla enabled this support on qcom variant. Signed-off-by: Ulf Hansson Signed-off-by: Linus Walleij --- drivers/mmc/host/mmci.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index c11cb05..3089fba 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c @@ -77,6 +77,7 @@ static unsigned int fmax = 515633; * @qcom_fifo: enables qcom specific fifo pio read logic. * @reversed_irq_handling: handle data irq before cmd irq. * @qcom_dml: enables qcom specific dma glue for dma transfers. + * @any_blksize: true if block any sizes are supported */ struct variant_data { unsigned int clkreg; @@ -102,6 +103,7 @@ struct variant_data { bool qcom_fifo; bool reversed_irq_handling; bool qcom_dml; + bool any_blksize; }; static struct variant_data variant_arm = { @@ -194,6 +196,7 @@ static struct variant_data variant_ux500v2 = { .pwrreg_clkgate = true, .busy_detect = true, .pwrreg_nopower = true, + .any_blksize = true, }; static struct variant_data variant_qcom = { @@ -212,6 +215,7 @@ static struct variant_data variant_qcom = { .explicit_mclk_control = true, .qcom_fifo = true, .qcom_dml = true, + .any_blksize = true, }; static int mmci_card_busy(struct mmc_host *mmc) @@ -239,10 +243,11 @@ static int mmci_card_busy(struct mmc_host *mmc) static int mmci_validate_data(struct mmci_host *host, struct mmc_data *data) { + struct variant_data *variant = host->variant; + if (!data) return 0; - - if (!is_power_of_2(data->blksz)) { + if (!is_power_of_2(data->blksz) && !variant->any_blksize) { dev_err(mmc_dev(host->mmc), "unsupported block size (%d bytes)\n", data->blksz); return -EINVAL;