From: Arnd Bergmann <arnd@arndb.de> To: Timur Tabi <timur@codeaurora.org> Cc: Sinan Kaya <okaya@codeaurora.org>, linux-arm-kernel@lists.infradead.org, Abhijit Mahajan <abhijit.mahajan@avagotech.com>, Nagalakshmi Nandigama <nagalakshmi.nandigama@avagotech.com>, linux-scsi@vger.kernel.org, jcm@redhat.com, "James E.J. Bottomley" <JBottomley@odin.com>, linux-kernel@vger.kernel.org, Sreekanth Reddy <sreekanth.reddy@avagotech.com>, Praveen Krishnamoorthy <praveen.krishnamoorthy@avagotech.com>, cov@codeaurora.org, linux-arm-msm@vger.kernel.org, agross@codeaurora.org, MPT-FusionLinux.pdl@avagotech.com, Hannes Reinecke <hare@suse.de> 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 [thread overview] Message-ID: <4912471.TLsW7CIyYF@wuerfel> (raw) In-Reply-To: <56425BBF.6000308@codeaurora.org> 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
WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails Date: Tue, 10 Nov 2015 22:54:22 +0100 [thread overview] Message-ID: <4912471.TLsW7CIyYF@wuerfel> (raw) In-Reply-To: <56425BBF.6000308@codeaurora.org> 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
next prev parent reply other threads:[~2015-11-10 21:55 UTC|newest] Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-11-09 1:57 [PATCH V2 0/3] scsi: mptxsas: updates for ARM64 Sinan Kaya 2015-11-09 1:57 ` Sinan Kaya 2015-11-09 1:57 ` [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails Sinan Kaya 2015-11-09 1:57 ` Sinan Kaya 2015-11-09 7:09 ` Hannes Reinecke 2015-11-09 7:09 ` Hannes Reinecke 2015-11-09 8:59 ` Arnd Bergmann 2015-11-09 8:59 ` Arnd Bergmann 2015-11-09 14:07 ` Sinan Kaya 2015-11-09 14:07 ` Sinan Kaya 2015-11-09 14:33 ` Arnd Bergmann 2015-11-09 14:33 ` Arnd Bergmann 2015-11-09 23:22 ` Sinan Kaya 2015-11-09 23:22 ` Sinan Kaya 2015-11-09 23:29 ` Timur Tabi 2015-11-09 23:29 ` Timur Tabi 2015-11-10 8:38 ` Arnd Bergmann 2015-11-10 8:38 ` Arnd Bergmann 2015-11-10 16:06 ` Sinan Kaya 2015-11-10 16:06 ` Sinan Kaya 2015-11-10 16:47 ` Arnd Bergmann 2015-11-10 16:47 ` Arnd Bergmann 2015-11-10 17:00 ` Timur Tabi 2015-11-10 17:00 ` Timur Tabi 2015-11-10 19:13 ` Arnd Bergmann 2015-11-10 19:13 ` Arnd Bergmann 2015-11-10 21:03 ` Timur Tabi 2015-11-10 21:03 ` Timur Tabi 2015-11-10 21:54 ` Arnd Bergmann [this message] 2015-11-10 21:54 ` Arnd Bergmann 2015-11-10 21:59 ` Timur Tabi 2015-11-10 21:59 ` Timur Tabi 2015-11-10 22:08 ` Arnd Bergmann 2015-11-10 22:08 ` Arnd Bergmann 2015-11-10 17:19 ` Sinan Kaya 2015-11-10 17:19 ` Sinan Kaya 2015-11-10 18:27 ` James Bottomley 2015-11-10 18:27 ` James Bottomley 2015-11-10 19:14 ` Sinan Kaya 2015-11-10 19:14 ` Sinan Kaya 2015-11-10 19:43 ` James Bottomley 2015-11-10 19:43 ` James Bottomley 2015-11-10 19:56 ` Sinan Kaya 2015-11-10 19:56 ` Sinan Kaya 2015-11-10 20:05 ` James Bottomley 2015-11-10 20:05 ` James Bottomley 2015-11-10 20:26 ` Sinan Kaya 2015-11-10 20:26 ` Sinan Kaya 2015-11-10 20:35 ` James Bottomley 2015-11-10 20:35 ` James Bottomley 2015-11-10 19:56 ` Arnd Bergmann 2015-11-10 19:56 ` Arnd Bergmann 2015-11-10 20:58 ` Sinan Kaya 2015-11-10 20:58 ` Sinan Kaya 2015-11-10 22:06 ` Arnd Bergmann 2015-11-10 22:06 ` Arnd Bergmann 2015-11-09 14:00 ` Sinan Kaya 2015-11-09 14:00 ` Sinan Kaya 2015-11-09 1:57 ` [PATCH V2 2/3] scsi: fix compiler warning for sg Sinan Kaya 2015-11-09 1:57 ` Sinan Kaya 2015-11-09 14:14 ` Andy Shevchenko 2015-11-09 14:14 ` Andy Shevchenko 2015-11-10 3:21 ` Sinan Kaya 2015-11-10 3:21 ` Sinan Kaya 2015-11-10 3:21 ` Sinan Kaya 2015-11-10 3:26 ` Timur Tabi 2015-11-10 3:26 ` Timur Tabi 2015-11-10 4:51 ` Sinan Kaya 2015-11-10 4:51 ` Sinan Kaya 2015-11-10 4:53 ` Timur Tabi 2015-11-10 4:53 ` Timur Tabi 2015-11-10 9:23 ` Andy Shevchenko 2015-11-10 9:23 ` Andy Shevchenko 2015-11-10 10:09 ` Arnd Bergmann 2015-11-10 10:09 ` Arnd Bergmann 2015-11-09 1:57 ` [PATCH V2 3/3] scsi: mptxsas: offload IRQ execution Sinan Kaya 2015-11-09 1:57 ` Sinan Kaya 2015-11-09 7:15 ` Hannes Reinecke 2015-11-09 7:15 ` Hannes Reinecke 2015-11-09 14:01 ` Sinan Kaya 2015-11-09 14:01 ` Sinan Kaya 2015-11-10 5:59 ` Sinan Kaya 2015-11-10 5:59 ` Sinan Kaya 2015-11-10 5:59 ` Sinan Kaya 2016-03-16 15:31 ` Christopher Covington 2016-03-16 15:31 ` Christopher Covington
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=4912471.TLsW7CIyYF@wuerfel \ --to=arnd@arndb.de \ --cc=JBottomley@odin.com \ --cc=MPT-FusionLinux.pdl@avagotech.com \ --cc=abhijit.mahajan@avagotech.com \ --cc=agross@codeaurora.org \ --cc=cov@codeaurora.org \ --cc=hare@suse.de \ --cc=jcm@redhat.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-scsi@vger.kernel.org \ --cc=nagalakshmi.nandigama@avagotech.com \ --cc=okaya@codeaurora.org \ --cc=praveen.krishnamoorthy@avagotech.com \ --cc=sreekanth.reddy@avagotech.com \ --cc=timur@codeaurora.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.