From patchwork Tue Jun 15 08:07:49 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: kishore kadiyala X-Patchwork-Id: 106163 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o5F87tke016279 for ; Tue, 15 Jun 2010 08:07:55 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753543Ab0FOIHx (ORCPT ); Tue, 15 Jun 2010 04:07:53 -0400 Received: from mail-vw0-f46.google.com ([209.85.212.46]:49011 "EHLO mail-vw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753142Ab0FOIHv (ORCPT ); Tue, 15 Jun 2010 04:07:51 -0400 Received: by vws13 with SMTP id 13so931652vws.19 for ; Tue, 15 Jun 2010 01:07:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=Qy+yi5svNY8/4SHncNRh+S9zurkqcKbYz6ZYaBh7TvM=; b=xcS/On0HpYZ9nFZLGMg/3Cp1lHWyRodq5iGbMhNLYAp7Ggg+zgW8xHBKAyZ+CzHHin bLgZr+9YjbNA2HJBoe9EQHkqgPQcaNlaGrJIcsVTmiuyNz5V62ymuJFQkaDiY+3kDNE/ TR1WRO9jWL1U3vqxPZipX37x5K8e5QN8Pqgyk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=YtOhCjuYlkCojDXAhonPHX3mwBYciUpBvoDHgEhCMxN+2sVN+luGA5sPpAjAse1WYR wWIu5/NNqCWkXwlSlTaKXqprcI9Kz+DO6R/ewy5ks77bUWKSnaH96m2dqFTzUWTivtiv 9dkF/iHQZxDcXKpfDp1XSngzKOSfMfRYJ9wQs= MIME-Version: 1.0 Received: by 10.220.122.13 with SMTP id j13mr3781429vcr.270.1276589270038; Tue, 15 Jun 2010 01:07:50 -0700 (PDT) Received: by 10.220.159.131 with HTTP; Tue, 15 Jun 2010 01:07:49 -0700 (PDT) In-Reply-To: References: <003b01cad0f0$6ea78040$544ff780@am.dhcp.ti.com> <20100406163211.GA29117@nokia.com> <4BBB6767.7010202@ti.com> <20100406165720.GA17916@nokia.com> <00b401cad5e0$1d1868d0$544ff780@am.dhcp.ti.com> <4BBBC628.9030207@ti.com> <00c901cad5e7$9de54350$544ff780@am.dhcp.ti.com> <4BBBD87C.1040307@ti.com> <003601cad73c$98c3aa50$544ff780@am.dhcp.ti.com> <008f01cae1b2$6262c970$544ff780@am.dhcp.ti.com> Date: Tue, 15 Jun 2010 13:37:49 +0530 Message-ID: Subject: [PATCH v5] OMAP: Fix for bus width which improves SD card's peformance. From: kishore kadiyala To: linux-mmc@vger.kernel.org, linux-omap@vger.kernel.org Cc: Madhusudhan , akpm@linux-foundation.org, tony@atomide.com, Nishanth Menon , felipe.balbi@nokia.com, Vimal Singh , "S, Venkatraman" , "Lavinen Jarkko (Nokia-D/Helsinki)" Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Tue, 15 Jun 2010 08:08:04 +0000 (UTC) diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index b032828..a0c8515 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -2096,10 +2096,23 @@ static int __init omap_hsmmc_probe(struct mmc->caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED | MMC_CAP_WAIT_WHILE_BUSY; - if (mmc_slot(host).wires >= 8) + switch (mmc_slot(host).wires) { + case 8: mmc->caps |= MMC_CAP_8_BIT_DATA; - else if (mmc_slot(host).wires >= 4) + /* Fall through */ + case 4: mmc->caps |= MMC_CAP_4_BIT_DATA; + break; + case 1: + /* Nothing to crib here */ + case 0: + /* Assuming nothing was given by board, Core use's 1-Bit */ + break; + default: + /* Completely unexpected.. Core goes with 1-Bit Width */ + dev_crit(mmc_dev(host->mmc), "Invalid width %d\n used!" + "using 1 instead\n", mmc_slot(host).wires); + } if (mmc_slot(host).nonremovable) mmc->caps |= MMC_CAP_NONREMOVABLE;