Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752253AbcCAVeO (ORCPT ); Tue, 1 Mar 2016 16:34:14 -0500 Received: from mout.kundenserver.de ([217.72.192.74]:57954 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751069AbcCAVeM (ORCPT ); Tue, 1 Mar 2016 16:34:12 -0500 From: Arnd Bergmann To: Alexandre Courbot Cc: Ulf Hansson , Stephen Warren , Thierry Reding , linux-mmc@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, gnurou@gmail.com Subject: Re: [PATCH v2 2/2] mmc: sdhci-tegra: Specify valid DMA mask Date: Tue, 01 Mar 2016 22:34:02 +0100 Message-ID: <10092864.HLRl1VM3vC@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <1456806764-16467-3-git-send-email-acourbot@nvidia.com> References: <1456806764-16467-1-git-send-email-acourbot@nvidia.com> <1456806764-16467-3-git-send-email-acourbot@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:QIJ0T6M9Tv1GXL6y0VZ03gTHwosjR8rrytwyMWGeZISuSLqzdjl CTHV2Btrpg1Hf35irdPtTOHWQNsTV1Ch5VtShRcVpSC80I8XMeVT6uBGIGzzJlhtrOEbNRF 0Hhuj0wyRFItddJbts4OpyuC8/vAqLoLgbBkcLUhhD2+2cGOsYxxLx3+pBOy2/0YZ6NaNXE +r+FBsqmCrT5w9lNWkYDg== X-UI-Out-Filterresults: notjunk:1;V01:K0:w0BxMxBqtzU=:COOM6lPvzgKI/a8HiPyXMf Ej4IdoVe24zbk143vHKbnYTqESYtOqq8SrjssWKLY7HYCD07puV1VdgSVTkIebyE3sLS3bMqn OrhfsVN2JHTtsIbJxvnJvyvT7ERajUTuCc3vcaYYahIOZdgYmVIaeQWb56rNHUYP9g36WKh3W gEVtLA1kzdocppllsBHImjfdUi/gUrdOmEuFonhr4XfmY+gCxxLIKdUG5phJ4psaGd1avj6sw 4Ws5vaYooOCvKDwhK5S6eoaRIU8oTYCHqcbJjnGPJPimKh6Nb51jUAgxu6M4bJgiGl4LHB3zJ Kw4SEU2K60VG9aTaWjSEDnzfgZ0UZqzoSD7K4tK/OmVp/xahK3IrxYKR5MQLj63s9G6+xUefC hrkOK2wKBZtOgw3FfH7P6WwgHow2GVrFmblYt6M3YSMB6c3Slgz2ieIIDTwemEb+J/BsAaWNa gWwd6LSUrO4SZeE1ZVmUbenPakTReFRyYYPV1XZ3FU/FwVxWapnrExIoc7vJQ+M0gsBaBUE9E qEtdni2+OXyb+mOXVAPFgoPRal4+w3Bz+4hrjwiRU61HDbq/t4j2qcsNB3tlxG5XaLZOIdCyX OIsRhRiBhS9KKjxfF8wzSdjQZRVbpeYTi0jG9I+VwX98aVfRV76WUhPZbcHZK0koVz/PqJCd9 yZdEkoAT++cyndfLeXJGCfVEccTv4rwpRqLaeT46R2b2Yw1vZ0Wqw0mV5SWOkupEMhSYhqRRC O/Yq6K93i06bV/d0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1330 Lines: 36 On Tuesday 01 March 2016 13:32:44 Alexandre Courbot wrote: > On T210, the sdhci controller can address more than 32 bits of address > space. Failing to express this fact results in the use of bounce > buffers and affects performance. > > Signed-off-by: Alexandre Courbot I don't get this one. Why don't you just set the (SDHCI_USE_SDMA | SDHCI_USE_ADMA) flags that are checked in the first patch? > @@ -289,6 +291,7 @@ static const struct sdhci_tegra_soc_data soc_data_tegra20 = { > .pdata = &sdhci_tegra20_pdata, > .nvquirks = NVQUIRK_FORCE_SDHCI_SPEC_200 | > NVQUIRK_ENABLE_BLOCK_GAP_DET, > + .dma_mask = DMA_BIT_MASK(32), > }; Can you describe what the specific bug is in these controllers? Do you mean they support SDHCI_USE_SDMA or SDHCI_USE_ADMA in theory but you still have to prevent them from using high addresses? > @@ -353,6 +358,7 @@ static const struct sdhci_pltfm_data sdhci_tegra210_pdata = { > > static const struct sdhci_tegra_soc_data soc_data_tegra210 = { > .pdata = &sdhci_tegra210_pdata, > + .dma_mask = DMA_BIT_MASK(34), > }; > > static const struct of_device_id sdhci_tegra_dt_match[] = { This one still completely weirds me out. What kind of odd limitation does the controller have in Tegra 210? Are there actually any machines with more than 16GB? Arnd