From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joakim Tjernlund Subject: Re: [PATCH] sdhci-of-esdhc: Support 8BIT bus width. Date: Tue, 5 May 2015 09:04:33 +0000 Message-ID: <1430816674.27859.71.camel@transmode.se> References: <1429564296-30396-1-git-send-email-joakim.tjernlund@transmode.se> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT Return-path: Received: from smtp.transmode.se ([31.15.61.139]:59193 "EHLO smtp.transmode.se" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031094AbbEEJEj convert rfc822-to-8bit (ORCPT ); Tue, 5 May 2015 05:04:39 -0400 In-Reply-To: Content-Language: en-US Content-ID: Sender: linux-mmc-owner@vger.kernel.org List-Id: linux-mmc@vger.kernel.org To: "ulf.hansson@linaro.org" Cc: "linux-mmc@vger.kernel.org" On Tue, 2015-05-05 at 10:34 +0200, Ulf Hansson wrote: > On 20 April 2015 at 23:11, Joakim Tjernlund > wrote: > > Signed-off-by: Joakim Tjernlund > > Thanks, applied. > > Kind regards > Uffe Argh, I just learned that this patch is buggy. Please "unapply" Jocke > > > > --- > > drivers/mmc/host/sdhci-of-esdhc.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c > > index 22e9111..7130130 100644 > > --- a/drivers/mmc/host/sdhci-of-esdhc.c > > +++ b/drivers/mmc/host/sdhci-of-esdhc.c > > @@ -82,6 +82,10 @@ static u8 esdhc_readb(struct sdhci_host *host, int reg) > > /* fixup the result */ > > ret &= ~SDHCI_CTRL_DMA_MASK; > > ret |= dma_bits; > > + > > + /* 8BIT is bit 29 in Control register */ > > + ret |= ((ret << 3) & SDHCI_CTRL_8BITBUS); > > + ret &= ~(SDHCI_CTRL_8BITBUS >> 3); > > } > > > > return ret; > > @@ -134,6 +138,10 @@ static void esdhc_writeb(struct sdhci_host *host, u8 val, int reg) > > dma_bits); > > val &= ~SDHCI_CTRL_DMA_MASK; > > val |= in_be32(host->ioaddr + reg) & SDHCI_CTRL_DMA_MASK; > > + > > + /* 8BIT is bit 29 in Control register */ > > + val |= ((val & SDHCI_CTRL_8BITBUS) >> 3); > > + val = (val & ~SDHCI_CTRL_8BITBUS); > > } > > > > /* Prevent SDHCI core from writing reserved bits (e.g. HISPD). */ > > @@ -252,6 +260,8 @@ static void esdhc_of_platform_init(struct sdhci_host *host) > > > > if (vvn > VENDOR_V_22) > > host->quirks &= ~SDHCI_QUIRK_NO_BUSY_IRQ; > > + > > + host->mmc->caps |= MMC_CAP_8_BIT_DATA; > > } > > > > static void esdhc_pltfm_set_bus_width(struct sdhci_host *host, int width)