linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: Christoph Hellwig <hch@lst.de>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	linuxppc-dev@lists.ozlabs.org, iommu@lists.linux-foundation.org,
	linux-mm@kvack.org, linux-arch@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 12/34] powerpc/cell: move dma direct window setup out of dma_configure
Date: Wed, 12 Dec 2018 15:36:04 +0100	[thread overview]
Message-ID: <20181212143604.GA5137@lst.de> (raw)
In-Reply-To: <871s6r3sno.fsf@concordia.ellerman.id.au>

On Sun, Dec 09, 2018 at 09:23:39PM +1100, Michael Ellerman wrote:
> Christoph Hellwig <hch@lst.de> writes:
> 
> > Configure the dma settings at device setup time, and stop playing games
> > with get_pci_dma_ops.  This prepares for using the common dma_configure
> > code later on.
> >
> > Signed-off-by: Christoph Hellwig <hch@lst.de>
> > ---
> >  arch/powerpc/platforms/cell/iommu.c | 20 +++++++++++---------
> >  1 file changed, 11 insertions(+), 9 deletions(-)
> 
> This one's crashing, haven't dug into why yet:

Can you provide a gdb assembly of the exact crash site?  This looks
like for some odd reason the DT structures aren't fully setup by the
time we are probing the device, which seems odd.

Either way, something like the patch below would ensure we call
cell_iommu_get_fixed_address from a similar context as before, can you
check if that fixes the issue?

diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c
index 93c7e4aef571..4891b338bf9f 100644
--- a/arch/powerpc/platforms/cell/iommu.c
+++ b/arch/powerpc/platforms/cell/iommu.c
@@ -569,19 +569,12 @@ static struct iommu_table *cell_get_iommu_table(struct device *dev)
 	return &window->table;
 }
 
-static u64 cell_iommu_get_fixed_address(struct device *dev);
-
 static void cell_dma_dev_setup(struct device *dev)
 {
-	if (cell_iommu_enabled) {
-		u64 addr = cell_iommu_get_fixed_address(dev);
-
-		if (addr != OF_BAD_ADDR)
-			set_dma_offset(dev, addr + dma_iommu_fixed_base);
+	if (cell_iommu_enabled)
 		set_iommu_table_base(dev, cell_get_iommu_table(dev));
-	} else {
+	else
 		set_dma_offset(dev, cell_dma_nommu_offset);
-	}
 }
 
 static void cell_pci_dma_dev_setup(struct pci_dev *dev)
@@ -865,8 +858,16 @@ static u64 cell_iommu_get_fixed_address(struct device *dev)
 
 static bool cell_pci_iommu_bypass_supported(struct pci_dev *pdev, u64 mask)
 {
-	return mask == DMA_BIT_MASK(64) &&
-		cell_iommu_get_fixed_address(&pdev->dev) != OF_BAD_ADDR;
+	if (mask == DMA_BIT_MASK(64)) {
+		u64 addr = cell_iommu_get_fixed_address(&pdev->dev);
+
+		if (addr != OF_BAD_ADDR) {
+			set_dma_offset(&pdev->dev, dma_iommu_fixed_base + addr);
+			return true;
+		}
+	}
+
+	return true;
 }
 
 static void insert_16M_pte(unsigned long addr, unsigned long *ptab,

  reply	other threads:[~2018-12-12 14:36 UTC|newest]

Thread overview: 178+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-14  8:22 use generic DMA mapping code in powerpc V4 Christoph Hellwig
2018-11-14  8:22 ` [PATCH 01/34] powerpc: use mm zones more sensibly Christoph Hellwig
2018-12-06 14:09   ` Christoph Hellwig
2018-12-07 12:18     ` Michael Ellerman
2018-12-07 14:09       ` Christoph Hellwig
2018-12-07 15:04         ` Christian Zigotzky
2018-11-14  8:22 ` [PATCH 02/34] powerpc: allow NOT_COHERENT_CACHE for amigaone Christoph Hellwig
2018-12-06 14:09   ` Christoph Hellwig
2018-11-14  8:22 ` [PATCH 03/34] powerpc/dma: remove the unused ARCH_HAS_DMA_MMAP_COHERENT define Christoph Hellwig
2018-12-06 14:09   ` Christoph Hellwig
2018-11-14  8:22 ` [PATCH 04/34] powerpc/dma: remove the unused ISA_DMA_THRESHOLD export Christoph Hellwig
2018-12-06 14:10   ` Christoph Hellwig
2018-11-14  8:22 ` [PATCH 05/34] powerpc/dma: remove the unused dma_iommu_ops export Christoph Hellwig
2018-12-06 14:10   ` Christoph Hellwig
2018-11-14  8:22 ` [PATCH 06/34] powerpc/dma: split the two __dma_alloc_coherent implementations Christoph Hellwig
2018-12-06 14:10   ` Christoph Hellwig
2018-11-14  8:22 ` [PATCH 07/34] powerpc/dma: remove the no-op dma_nommu_unmap_{page,sg} routines Christoph Hellwig
2018-12-06 14:10   ` [PATCH 07/34] powerpc/dma: remove the no-op dma_nommu_unmap_{page, sg} routines Christoph Hellwig
2018-11-14  8:22 ` [PATCH 08/34] powerpc/dma: untangle vio_dma_mapping_ops from dma_iommu_ops Christoph Hellwig
2018-12-06 14:10   ` Christoph Hellwig
2018-11-14  8:22 ` [PATCH 09/34] powerpc/dma: handle iommu bypass in dma_iommu_ops Christoph Hellwig
2018-11-14  8:22 ` [PATCH 10/34] powerpc/pseries: unwind dma_get_required_mask_pSeriesLP a bit Christoph Hellwig
2018-11-14  8:22 ` [PATCH 11/34] powerpc/pseries: use the generic iommu bypass code Christoph Hellwig
2018-11-14  8:22 ` [PATCH 12/34] powerpc/cell: move dma direct window setup out of dma_configure Christoph Hellwig
2018-12-09 10:23   ` Michael Ellerman
2018-12-12 14:36     ` Christoph Hellwig [this message]
2018-12-14 13:29       ` Michael Ellerman
2018-12-14 16:42         ` Christoph Hellwig
2018-11-14  8:22 ` [PATCH 13/34] powerpc/cell: use the generic iommu bypass code Christoph Hellwig
2018-11-14  8:22 ` [PATCH 14/34] powerpc/dart: remove dead cleanup code in iommu_init_early_dart Christoph Hellwig
2018-12-06 14:11   ` Christoph Hellwig
2018-11-14  8:22 ` [PATCH 15/34] powerpc/dart: use the generic iommu bypass code Christoph Hellwig
2018-11-14  8:22 ` [PATCH 16/34] powerpc/powernv: remove pnv_pci_ioda_pe_single_vendor Christoph Hellwig
2018-11-14  8:22 ` [PATCH 17/34] powerpc/powernv: remove pnv_npu_dma_set_mask Christoph Hellwig
2018-11-14  8:22 ` [PATCH 18/34] powerpc/powernv: use the generic iommu bypass code Christoph Hellwig
2018-11-14  8:22 ` [PATCH 19/34] cxl: drop the dma_set_mask callback from vphb Christoph Hellwig
2018-12-06 14:10   ` Christoph Hellwig
2018-11-14  8:23 ` [PATCH 20/34] powerpc/dma: stop overriding dma_get_required_mask Christoph Hellwig
2018-11-14  8:23 ` [PATCH 21/34] powerpc/pci: remove the dma_set_mask pci_controller ops methods Christoph Hellwig
2018-11-14  8:23 ` [PATCH 22/34] powerpc/dma: remove the iommu fallback for coherent allocations Christoph Hellwig
2018-11-14  8:23 ` [PATCH 23/34] powerpc/dma: remove get_pci_dma_ops Christoph Hellwig
2018-11-14  8:23 ` [PATCH 24/34] powerpc/dma: move pci_dma_dev_setup_swiotlb to fsl_pci.c Christoph Hellwig
2018-11-14  8:23 ` [PATCH 25/34] powerpc/dma: remove max_direct_dma_addr Christoph Hellwig
2018-11-14  8:23 ` [PATCH 26/34] powerpc/dma: fix an off-by-one in dma_capable Christoph Hellwig
2018-11-14  8:23 ` [PATCH 27/34] powerpc/fsl_pci: simplify fsl_pci_dma_set_mask Christoph Hellwig
2018-11-14  8:23 ` [PATCH 28/34] dma-mapping, powerpc: simplify the arch dma_set_mask override Christoph Hellwig
2018-11-14  8:23 ` [PATCH 29/34] powerpc/dma: use phys_to_dma instead of get_dma_offset Christoph Hellwig
2018-11-14  8:23 ` [PATCH 30/34] powerpc/dma: remove dma_nommu_mmap_coherent Christoph Hellwig
2018-11-14  8:23 ` [PATCH 31/34] powerpc/dma: use generic direct and swiotlb ops Christoph Hellwig
2018-11-14  8:23 ` [PATCH 32/34] powerpc/dma: remove get_dma_offset Christoph Hellwig
2018-11-14  8:23 ` [PATCH 33/34] powerpc/dma: remove set_dma_offset Christoph Hellwig
2018-11-14  8:23 ` [PATCH 34/34] powerpc/dma: trim the fat from <asm/dma-mapping.h> Christoph Hellwig
2018-11-27  7:42 ` use generic DMA mapping code in powerpc V4 Christoph Hellwig
2018-11-27 22:05   ` Benjamin Herrenschmidt
2018-11-28 11:05   ` Michael Ellerman
2018-11-28 15:55     ` Christian Zigotzky
2018-11-28 20:02       ` Christian Zigotzky
2018-11-28 20:35       ` Michal Suchánek
2018-11-29 17:03         ` Christoph Hellwig
2019-12-19 13:54       ` Christian Zigotzky
2018-11-29 12:05     ` Christian Zigotzky
2018-11-29 15:30       ` Christian Zigotzky
2018-11-29 17:03       ` Christoph Hellwig
2018-11-29 23:07         ` Christian Zigotzky
2018-11-30 10:53           ` Christoph Hellwig
2018-11-30 12:23             ` Christian Zigotzky
2018-11-30 13:10               ` Christoph Hellwig
2018-11-30 15:29                 ` Christian Zigotzky
2018-12-04  7:31                   ` Christian Zigotzky
2018-12-04  9:53                     ` Christian Zigotzky
2018-12-04 14:24                       ` Christoph Hellwig
2018-12-05  9:44                         ` Christian Zigotzky
2018-12-05 14:05                           ` Christoph Hellwig
2018-12-06 10:55                             ` Christian Zigotzky
2018-12-06 17:10                               ` Christian Zigotzky
2018-12-06 19:36                                 ` Christoph Hellwig
2018-12-07  7:48                                   ` Christian Zigotzky
2018-12-07 13:45                               ` Christian Zigotzky
2018-12-07 18:33                                 ` Christian Zigotzky
2018-12-08 10:29                                   ` Christian Zigotzky
2018-12-08 13:47                                     ` Christian Zigotzky
2018-12-09 14:20                                       ` Christian Zigotzky
2018-12-09 18:26                                         ` Christian Zigotzky
2018-12-10 15:54                                           ` Christian Zigotzky
2018-12-11 14:28                                             ` Christian Zigotzky
2018-12-11 18:17                                               ` Christian Zigotzky
2018-12-12  0:47                                                 ` Benjamin Herrenschmidt
2018-12-12  7:03                                                   ` Christian Zigotzky
2018-12-12 14:15                                                 ` Christoph Hellwig
2018-12-12 14:39                                                   ` Christian Zigotzky
2018-12-13  8:41                                                     ` Christian Zigotzky
2018-12-13  9:10                                                       ` Christoph Hellwig
2018-12-13  9:47                                                         ` Christian Zigotzky
2018-12-13 11:19                                                           ` Christian Zigotzky
2018-12-13 11:25                                                             ` Christoph Hellwig
2018-12-13 13:34                                                               ` Christian Zigotzky
2018-12-13 17:48                                                                 ` Christian Zigotzky
2018-12-13 21:53                                                                   ` Christian Zigotzky
2018-12-14 12:00                                                                     ` Christian Zigotzky
2018-12-14 16:45                                                                       ` Christoph Hellwig
2019-01-03  7:36                                                                       ` Christoph Hellwig
2019-01-03 19:26                                                                         ` Christian Zigotzky
2019-01-05 16:03                                                                           ` Christian Zigotzky
2019-01-09  9:31                                                                             ` Christian Zigotzky
2019-01-11  2:10                                                                               ` Christian Zigotzky
2019-01-12 18:14                                                                                 ` Christian Zigotzky
2019-01-15  8:07                                                                                   ` Christian Zigotzky
2019-01-15  8:49                                                                                     ` Christian Zigotzky
2019-01-15 10:55                                                                                       ` Christian Zigotzky
2019-01-15 13:35                                                                                         ` Christoph Hellwig
2019-01-15 13:56                                                                                           ` Christian Zigotzky
2019-01-15 15:17                                                                                             ` Christoph Hellwig
2019-01-17  9:21                                                                                               ` Christian Zigotzky
2019-01-17  9:31                                                                                                 ` Christoph Hellwig
2019-01-17  9:44                                                                                                   ` Christian Zigotzky
2019-01-18  8:35                                                                                                 ` Christoph Hellwig
2019-01-18 11:10                                                                                                   ` Christian Zigotzky
2019-01-18 11:28                                                                                                     ` Christoph Hellwig
2019-01-18 12:07                                                                                                       ` Christian Zigotzky
2019-01-18 12:18                                                                                                         ` Christoph Hellwig
2019-01-18 12:46                                                                                                           ` Christian Zigotzky
2019-01-18 12:55                                                                                                             ` Christoph Hellwig
2019-01-18 15:06                                                                                                               ` Christian Zigotzky
2019-01-19 11:40                                                                                                                 ` Christian Zigotzky
2019-01-19 11:52                                                                                                                   ` Christian Zigotzky
2019-01-19 13:02                                                                                                                     ` Christoph Hellwig
2019-01-19 14:04                                                                                                                       ` Christoph Hellwig
2019-01-21 14:38                                                                                                                         ` Christian Zigotzky
2019-01-23 14:34                                                                                                                           ` Christian Zigotzky
2019-01-25 13:37                                                                                                                             ` Christian Zigotzky
2019-01-27 13:13                                                                                                                               ` Christian Zigotzky
2019-01-28  7:04                                                                                                                                 ` Christoph Hellwig
2019-01-28 16:22                                                                                                                                   ` Christoph Hellwig
2019-01-28 16:52                                                                                                                                     ` Christian Zigotzky
2019-01-29 15:03                                                                                                                                       ` Christian Zigotzky
2019-01-29 16:14                                                                                                                                         ` Christoph Hellwig
2019-01-29 16:34                                                                                                                                           ` Christoph Hellwig
2019-01-30  4:40                                                                                                                                             ` Christian Zigotzky
2019-01-31 12:48                                                                                                                                               ` Christian Zigotzky
2019-02-01  8:04                                                                                                                                                 ` Christoph Hellwig
2019-02-01 16:54                                                                                                                                                   ` Christian Zigotzky
2019-02-03 16:49                                                                                                                                                     ` Christian Zigotzky
2019-02-04  7:56                                                                                                                                                       ` Christoph Hellwig
2019-02-04 12:13                                                                                                                                                         ` Christian Zigotzky
2019-02-04 12:38                                                                                                                                                           ` Christoph Hellwig
2019-02-06 13:45                                                                                                                                                             ` Christian Zigotzky
2019-02-06 15:15                                                                                                                                                               ` Christoph Hellwig
2019-02-06 15:16                                                                                                                                                                 ` Christoph Hellwig
2019-02-07  4:34                                                                                                                                                                   ` Christian Zigotzky
2019-02-08  9:01                                                                                                                                                                     ` Christian Zigotzky
2019-02-08  9:18                                                                                                                                                                       ` Christoph Hellwig
2019-02-08 10:59                                                                                                                                                                         ` Christian Zigotzky
2019-02-10 12:00                                                                                                                                                                         ` Christian Zigotzky
     [not found]                                                                                                                                                                           ` <0042290A-2939-4EBA-A638-D404FA2055ED@xenosoft.de>
2019-02-11  7:21                                                                                                                                                                             ` Christian Zigotzky
2019-02-11  7:38                                                                                                                                                                           ` Christoph Hellwig
2019-02-12 12:42                                                                                                                                                                             ` Christian Zigotzky
2019-02-12 15:25                                                                                                                                                                               ` Christoph Hellwig
2019-02-12 19:31                                                                                                                                                                                 ` Christian Zigotzky
2019-02-12 19:50                                                                                                                                                                                   ` Christian Zigotzky
2019-02-12 19:52                                                                                                                                                                                     ` Christoph Hellwig
2019-11-05  7:56                                                                               ` Bug 205201 - overflow of DMA mask and bus mask Christian Zigotzky
2019-11-05 16:28                                                                                 ` Christoph Hellwig
2019-11-06 14:09                                                                                   ` Robin Murphy
2019-11-21 17:26                                                                                     ` Christoph Hellwig
2019-11-07  9:53                                                                                   ` Christian Zigotzky
2019-11-10  7:27                                                                                     ` Christian Zigotzky
2019-11-11  8:12                                                                                       ` Christian Zigotzky
2019-11-11  8:16                                                                                         ` Christian Zigotzky
2019-11-11 12:22                                                                                           ` Christian Zigotzky
2019-11-12 14:41                                                                                             ` Christoph Hellwig
2019-11-12 22:58                                                                                               ` Christian Zigotzky
2019-11-13 10:14                                                                                               ` Christian Zigotzky
2019-11-13 11:02                                                                                                 ` Christoph Hellwig
2018-11-29 17:02     ` use generic DMA mapping code in powerpc V4 Christoph Hellwig
2018-11-30  3:17   ` Benjamin Herrenschmidt
2018-12-08 17:03 ` Christoph Hellwig
2018-12-16 16:51 ` Christoph Hellwig
2018-12-17  1:14   ` Michael Ellerman

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=20181212143604.GA5137@lst.de \
    --to=hch@lst.de \
    --cc=benh@kernel.crashing.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).