LinuxPPC-Dev Archive on lore.kernel.org
 help / color / Atom feed
From: Christian Zigotzky <chzigotzky@xenosoft.de>
To: Christoph Hellwig <hch@lst.de>
Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, iommu@lists.linux-foundation.org,
	Paul Mackerras <paulus@samba.org>,
	Olof Johansson <olof@lixom.net>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: use generic DMA mapping code in powerpc V4
Date: Fri, 30 Nov 2018 13:23:20 +0100
Message-ID: <8694431d-c669-b7b9-99fa-e99db5d45a7d@xenosoft.de> (raw)
In-Reply-To: <20181130105346.GB26765@lst.de>

Hi Christoph,

Thanks a lot for your fast reply.

On 30 November 2018 at 11:53AM, Christoph Hellwig wrote:
> Hi Christian,
>
> for such a diverse architecture like powerpc we'll have to rely on
> users / non core developers like you to help with testing.
I see. I will help as good as I can.
>
> Can you try the patch below for he cyrus config?
Yes, of course. I patched your Git kernel and after that I compiled it 
again. U-Boot loads the kernel and the dtb file. Then the kernel starts 
but it doesn't find any hard disks (partitions).

@All
Could you please also test Christoph's kernel on your PASEMI and NXP 
boards? Download: 'git clone git://git.infradead.org/users/hch/misc.git 
-b powerpc-dma.4 a'
*PLEASE*
>
> For the nemo one I have no idea yet,
We had some problems with the PASEMI ethernet and DMA two years ago. I 
had to deactivate the option PASEMI_IOMMU_DMA_FORCE.

commit 416f37d0816b powerpc/pasemi: Fix coherent_dma_mask for dma engine:

Commit 817820b0 ("powerpc/iommu: Support "hybrid" iommu/direct DMA
ops for coherent_mask < dma_mask) adds a check of coherent_dma_mask for
dma allocations.

Unfortunately current PASemi code does not set this value for the DMA
engine, which ends up with the default value of 0xffffffff, the result
is on a PASemi system with >2Gb ram and iommu enabled the onboard
ethernet stops working due to an inability to allocate memory. Add an
initialisation to pci_dma_dev_setup_pasemi().
Signed-off-by: Darren Stevens <darren@stevens-zone.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>

Links:
https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-July/146701.html
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=416f37d0816b9720b8227953e55954d81456f991

FYI: DMA handling has been rewritten in 2015. We had some problems with 
the new DMA code in 2015. I had to revert the commit ' [RFC/PATCH,v2] 
powerpc/iommu: Support "hybrid" iommu/direct DMA ops for coherent_mask < 
dma_mask' in 2015.

Link: https://patchwork.ozlabs.org/patch/472535/

I had to create a patch in 2015:

     diff -rupN linux-4.4/arch/powerpc/Kconfig 
linux-4.4-nemo/arch/powerpc/Kconfig
     --- linux-4.4/arch/powerpc/Kconfig    2015-12-07 00:43:12.000000000 
+0100
     +++ linux-4.4-nemo/arch/powerpc/Kconfig    2015-12-07 
14:48:23.371987988 +0100
     @@ -158,8 +155,6 @@ config PPC
          select HAVE_PERF_EVENTS_NMI if PPC64
          select EDAC_SUPPORT
          select EDAC_ATOMIC_SCRUB
     -    select ARCH_HAS_DMA_SET_COHERENT_MASK
     -    select HAVE_ARCH_SECCOMP_FILTER

      config GENERIC_CSUM
          def_bool CPU_LITTLE_ENDIAN
     @@ -419,8 +414,7 @@ config PPC64_SUPPORTS_MEMORY_FAILURE

      config KEXEC
          bool "kexec system call"
     -    depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP)) || 
PPC_BOOK3E
     -    select KEXEC_CORE
     +    depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP))
          help
            kexec is a system call that implements the ability to 
shutdown your
            current kernel, and to start another kernel.  It is like a 
reboot

     diff -rupN linux-4.4/arch/powerpc/kernel/dma.c 
linux-4.4-nemo/arch/powerpc/kernel/dma.c
     --- linux-4.4/arch/powerpc/kernel/dma.c    2015-12-07 
00:43:12.000000000 +0100
     +++ linux-4.4-nemo/arch/powerpc/kernel/dma.c    2015-12-07 
14:49:38.098286892 +0100
     @@ -40,31 +39,9 @@ static u64 __maybe_unused get_pfn_limit(
          return pfn;
      }

     -static int dma_direct_dma_supported(struct device *dev, u64 mask)
     -{
     -#ifdef CONFIG_PPC64
     -    u64 limit = get_dma_offset(dev) + (memblock_end_of_DRAM() - 1);
     -
     -    /* Limit fits in the mask, we are good */
     -    if (mask >= limit)
     -        return 1;
     -
     -#ifdef CONFIG_FSL_SOC
     -    /* Freescale gets another chance via ZONE_DMA/ZONE_DMA32, however
     -     * that will have to be refined if/when they support iommus
     -     */
     -    return 1;
     -#endif
     -    /* Sorry ... */
     -    return 0;
     -#else
     -    return 1;
     -#endif
     -}
     -
     -void *__dma_direct_alloc_coherent(struct device *dev, size_t size,
     -                  dma_addr_t *dma_handle, gfp_t flag,
     -                  struct dma_attrs *attrs)
     +void *dma_direct_alloc_coherent(struct device *dev, size_t size,
     +                dma_addr_t *dma_handle, gfp_t flag,
     +                struct dma_attrs *attrs)
      {
          void *ret;
      #ifdef CONFIG_NOT_COHERENT_CACHE
     @@ -119,9 +96,9 @@ void *__dma_direct_alloc_coherent(struct
      #endif
      }

     -void __dma_direct_free_coherent(struct device *dev, size_t size,
     -                void *vaddr, dma_addr_t dma_handle,
     -                struct dma_attrs *attrs)
     +void dma_direct_free_coherent(struct device *dev, size_t size,
     +                  void *vaddr, dma_addr_t dma_handle,
     +                  struct dma_attrs *attrs)
      {
      #ifdef CONFIG_NOT_COHERENT_CACHE
          __dma_free_coherent(size, vaddr);
     @@ -130,51 +107,6 @@ void __dma_direct_free_coherent(struct d
      #endif
      }

     -static void *dma_direct_alloc_coherent(struct device *dev, size_t 
size,
     -                       dma_addr_t *dma_handle, gfp_t flag,
     -                       struct dma_attrs *attrs)
     -{
     -    struct iommu_table *iommu;
     -
     -    /* The coherent mask may be smaller than the real mask, check if
     -     * we can really use the direct ops
     -     */
     -    if (dma_direct_dma_supported(dev, dev->coherent_dma_mask))
     -        return __dma_direct_alloc_coherent(dev, size, dma_handle,
     -                           flag, attrs);
     -
     -    /* Ok we can't ... do we have an iommu ? If not, fail */
     -    iommu = get_iommu_table_base(dev);
     -    if (!iommu)
     -        return NULL;
     -
     -    /* Try to use the iommu */
     -    return iommu_alloc_coherent(dev, iommu, size, dma_handle,
     -                    dev->coherent_dma_mask, flag,
     -                    dev_to_node(dev));
     -}
     -
     -static void dma_direct_free_coherent(struct device *dev, size_t size,
     -                     void *vaddr, dma_addr_t dma_handle,
     -                     struct dma_attrs *attrs)
     -{
     -    struct iommu_table *iommu;
     -
     -    /* See comments in dma_direct_alloc_coherent() */
     -    if (dma_direct_dma_supported(dev, dev->coherent_dma_mask))
     -        return __dma_direct_free_coherent(dev, size, vaddr, 
dma_handle,
     -                          attrs);
     -    /* Maybe we used an iommu ... */
     -    iommu = get_iommu_table_base(dev);
     -
     -    /* If we hit that we should have never allocated in the first
     -     * place so how come we are freeing ?
     -     */
     -    if (WARN_ON(!iommu))
     -        return;
     -    iommu_free_coherent(iommu, size, vaddr, dma_handle);
     -}
     -
      int dma_direct_mmap_coherent(struct device *dev, struct 
vm_area_struct *vma,
                       void *cpu_addr, dma_addr_t handle, size_t size,
                       struct dma_attrs *attrs)
     @@ -215,6 +147,18 @@ static void dma_direct_unmap_sg(struct d
      {
      }

     +static int dma_direct_dma_supported(struct device *dev, u64 mask)
     +{
     +#ifdef CONFIG_PPC64
     +    /* Could be improved so platforms can set the limit in case
     +     * they have limited DMA windows
     +     */
     +    return mask >= get_dma_offset(dev) + (memblock_end_of_DRAM() - 1);
     +#else
     +    return 1;
     +#endif
     +}
     +
      static u64 dma_direct_get_required_mask(struct device *dev)
      {
          u64 end, mask;
     @@ -286,25 +230,6 @@ struct dma_map_ops dma_direct_ops = {
      };
      EXPORT_SYMBOL(dma_direct_ops);

     -int dma_set_coherent_mask(struct device *dev, u64 mask)
     -{
     -    if (!dma_supported(dev, mask)) {
     -        /*
     -         * We need to special case the direct DMA ops which can
     -         * support a fallback for coherent allocations. There
     -         * is no dma_op->set_coherent_mask() so we have to do
     -         * things the hard way:
     -         */
     -        if (get_dma_ops(dev) != &dma_direct_ops ||
     -            get_iommu_table_base(dev) == NULL ||
     -            !dma_iommu_dma_supported(dev, mask))
     -            return -EIO;
     -    }
     -    dev->coherent_dma_mask = mask;
     -    return 0;
     -}
     -EXPORT_SYMBOL(dma_set_coherent_mask);
     -
      #define PREALLOC_DMA_DEBUG_ENTRIES (1 << 16)

      int __dma_set_mask(struct device *dev, u64 dma_mask)

Interesting PASEMI ethernet files:

arch/powerpc/platforms/pasemi/iommu.c
drivers/net/ethernet/pasemi/pasemi_mac.c
drivers/net/ethernet/pasemi/pasemi_mac.h
drivers/net/ethernet/pasemi/pasemi_mac_ethtool.c
drivers/net/ethernet/pasemi/Makefile
drivers/net/ethernet/pasemi/Kconfig

I know this is a lot of information but I hope it helps.

Thanks,
Christian

  reply index

Thread overview: 186+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-14  8:22 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   ` 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
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
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 [this message]
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-09 19:26                                                                                                                                                                         ` Darren Stevens
2019-02-09 21:10                                                                                                                                                                         ` Darren Stevens
2019-02-11  7:41                                                                                                                                                                           ` Christoph Hellwig
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
     [not found]                                                                               ` <46025f1b-db20-ac23-7dcd-10bc43bbb6ee@xenosoft.de>
     [not found]                                                                                 ` <20191105162856.GA15402@lst.de>
2019-11-07  9:53                                                                                   ` Bug 205201 - overflow of DMA mask and bus mask 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-12-08 17:03 ` Christoph Hellwig
2018-12-16 16:51 ` Christoph Hellwig
2018-12-17  1:14   ` Michael Ellerman
2018-11-29 19:45 Rui Salvaterra
2018-11-30 10:32 ` Christoph Hellwig
2018-11-30 11:44   ` Rui Salvaterra
2018-11-30 16:41     ` Rui Salvaterra
2018-12-02  6:11     ` Benjamin Herrenschmidt
2018-12-08 17:17       ` Christoph Hellwig
2018-12-10 17:04         ` Rui Salvaterra
2018-12-10 19:33           ` Christoph Hellwig
2018-12-10 20:03             ` Rui Salvaterra
2018-12-10 20:49             ` Benjamin Herrenschmidt
2018-12-11  9:37               ` Rui Salvaterra

Reply instructions:

You may reply publically 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=8694431d-c669-b7b9-99fa-e99db5d45a7d@xenosoft.de \
    --to=chzigotzky@xenosoft.de \
    --cc=hch@lst.de \
    --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=olof@lixom.net \
    --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

LinuxPPC-Dev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linuxppc-dev/0 linuxppc-dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linuxppc-dev linuxppc-dev/ https://lore.kernel.org/linuxppc-dev \
		linuxppc-dev@lists.ozlabs.org linuxppc-dev@ozlabs.org
	public-inbox-index linuxppc-dev

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.ozlabs.lists.linuxppc-dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git