From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jaehoon Chung Date: Wed, 27 Nov 2013 22:07:24 +0900 Subject: [U-Boot] [PATCH v2] mmc/dwmmc: modify FIFO threshold only if value explicitly set In-Reply-To: <1385557252-31527-1-git-send-email-abrodkin@synopsys.com> References: <1385557252-31527-1-git-send-email-abrodkin@synopsys.com> Message-ID: <5295EE8C.4020100@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Acked-by: Jaehoon Chung On 11/27/2013 10:00 PM, Alexey Brodkin wrote: > If platform provides "host->fifoth_val" it will be used for > initialization of DWMCI_FIFOTH register. Otherwise default value will be > used. > > This implementation allows: > * escape unclear and recursive calculations that are currently in use > * use whatever custom value for DWMCI_FIFOTH initialization if any > particular SoC requires it > > Signed-off-by: Alexey Brodkin > > Cc: Mischa Jonker > Cc: Alim Akhtar > Cc: Rajeshwari Shinde > Cc: Jaehoon Chung > Cc: Amar > Cc: Kyungmin Park > Cc: Minkyu Kang > Cc: Simon Glass > Cc: Pantelis Antoniou > Cc: Andy Fleming > --- > drivers/mmc/dw_mmc.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c > index 1e0f72b..a47e02c 100644 > --- a/drivers/mmc/dw_mmc.c > +++ b/drivers/mmc/dw_mmc.c > @@ -300,7 +300,6 @@ static void dwmci_set_ios(struct mmc *mmc) > static int dwmci_init(struct mmc *mmc) > { > struct dwmci_host *host = (struct dwmci_host *)mmc->priv; > - u32 fifo_size; > > if (host->quirks & DWMCI_QUIRK_DISABLE_SMU) { > dwmci_writel(host, EMMCP_MPSBEGIN0, 0); > @@ -330,13 +329,9 @@ static int dwmci_init(struct mmc *mmc) > dwmci_writel(host, DWMCI_IDINTEN, 0); > dwmci_writel(host, DWMCI_BMOD, 1); > > - if (!host->fifoth_val) { > - fifo_size = dwmci_readl(host, DWMCI_FIFOTH); > - fifo_size = ((fifo_size & RX_WMARK_MASK) >> RX_WMARK_SHIFT) + 1; > - host->fifoth_val = MSIZE(0x2) | RX_WMARK(fifo_size / 2 - 1) | > - TX_WMARK(fifo_size / 2); > + if (host->fifoth_val) { > + dwmci_writel(host, DWMCI_FIFOTH, host->fifoth_val); > } > - dwmci_writel(host, DWMCI_FIFOTH, host->fifoth_val); > > dwmci_writel(host, DWMCI_CLKENA, 0); > dwmci_writel(host, DWMCI_CLKSRC, 0); >