Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752135AbbKJVzN (ORCPT ); Tue, 10 Nov 2015 16:55:13 -0500 Received: from mout.kundenserver.de ([212.227.126.131]:64638 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751031AbbKJVzL (ORCPT ); Tue, 10 Nov 2015 16:55:11 -0500 From: Arnd Bergmann To: Timur Tabi Cc: Sinan Kaya , linux-arm-kernel@lists.infradead.org, Abhijit Mahajan , Nagalakshmi Nandigama , linux-scsi@vger.kernel.org, jcm@redhat.com, "James E.J. Bottomley" , linux-kernel@vger.kernel.org, Sreekanth Reddy , Praveen Krishnamoorthy , cov@codeaurora.org, linux-arm-msm@vger.kernel.org, agross@codeaurora.org, MPT-FusionLinux.pdl@avagotech.com, Hannes Reinecke Subject: Re: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails Date: Tue, 10 Nov 2015 22:54:22 +0100 Message-ID: <4912471.TLsW7CIyYF@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <56425BBF.6000308@codeaurora.org> References: <1447034266-28003-1-git-send-email-okaya@codeaurora.org> <6333643.g8NiezT8gD@wuerfel> <56425BBF.6000308@codeaurora.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:z3MtUiAkAo41bSJNyZwnVTjzjdp2k610Sgx/zIuTfg6wStFuI+8 +VWqzfB3OBRqkeHNenRedoik9gTXUgy6Nh3ngSonlcuoQxs+Qltn2HfziX1knGxtUAriHKx nIhU4QscixDiyz0yuDmwqxuimaVmBrGIwHu4gdQZpgxdbbBRlKbeefKfnXgAGa6KSpjGI7o IFS68qrj04YAsqSlI/V8Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:/It/5HzDnSU=:lVSjuTdnAQ3GzS+uUEHpHf LRN1to0K2DsImdPP2OTVG2XnkBoxwuhhspS+V1mWOn3pKwH/y3x/OMjJIYMHv/LfIXjyJ+lPE PsCDTDLqM6Yb92vAL7z7RzLL1DPgfJtz5eNYVuYvpngRTX9mYp8Qa9KKKeSAN9/535IGZ9umI cTH6XcPS420reuTWrqgVrF8WYjL+JUl0WPcNSam/zwsv0jxpD57zKfQ3Ix+TNaYGvxU2PALB/ 200qhXBpPA+Qr3vbrhzc7blnn4UK+LA89sHLnGt3rnct/OMs8WnWYRyH3717RXEaqbYTQzp73 Qpj53mf0+51nOHicrl8hz1H7h//GG0G2jpZhefp5B/XoEldefUgnS52HbU2VUUveeBptjFzCR 8xgrwvPnI+w3Sws848XnAhsd/iScG9EYIyKihNyL92KvDULrYqVhWWuFHEo3Yc3lj+RFmoD/9 jEjVy9tW2LrWJInbejnQE92yXRlcAMOjqF9hrmmpQM8BbU7vpXx4XwqFh1ptwLRLayQvYxd2n ayDGMtvRi3aPIpt202NLXN/+HRmdgvO/Ypk/xnMf/zrIjj1aGOwgZyPcEqWnbRPG5322XNwzT hIlBvqc9ZAhW8YSraUS4M3Cu3ukdIFGIsjRu1EKmuBV7265cIRi+OGOpBobe7Ar0UAmd7l/ch nRoA0CqE0TUz2P7fKCDcFhcSUFT9uTYPCS5pzUnJMdasPO8qWE+6z9L5bSUgVH2xwiSkGuiKD nXF53CMoITi9ISVN Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1517 Lines: 41 On Tuesday 10 November 2015 15:03:59 Timur Tabi wrote: > On 11/10/2015 01:13 PM, Arnd Bergmann wrote: > > If the mask is 64-bit by default on ARM64, that is a bug that we need > > to fix urgently. Can you verify this? > > I think the mask is 0 by default, because there's no code in ARM64 that > actually sets the mask. > > Take a look at arch_setup_pdev_archdata() in > arch/powerpc/kernel/setup-common.c. > > void arch_setup_pdev_archdata(struct platform_device *pdev) > { > pdev->archdata.dma_mask = DMA_BIT_MASK(32); > pdev->dev.dma_mask = &pdev->archdata.dma_mask; > set_dma_ops(&pdev->dev, &dma_direct_ops); > } > > I don't see anything equivalent in arch/arm64 of_dma_configure() sets up an initial DMA mask for 32 bits. The same thing happens for pci_setup_device() in architecture-independent code? > > A lot of PCI devices can only do 32-bit DMA, and we have plenty > > of drivers that don't bother setting a mask at all because the 32-bit > > mask is the default on all other architectures. > > In our drivers for 32-bit devices, we have to explicitly set the DMA > mask to 32-bits in order to get any DMA working. Do you mean PCI devices or platform devices? Maybe the parent bus is lacking a dma-ranges property? Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/