1. 25 1月, 2017 8 次提交
    • B
      IB/core: Remove ib_dma_*map_single_attrs() · 6532c380
      Bart Van Assche 提交于
      Remove these functions because these are not used. Additionally, the
      implementation of these functions is not correct for the hfi1, qib and
      rxe drivers because dma_device is used instead of dma_ops.
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      6532c380
    • B
      lib/dma-virt: Add dma_virt_ops · 551199ac
      Bart Van Assche 提交于
      Several RDMA drivers (hfi1, qib and rxe) expect that ib_sge.addr
      is a virtual address. Provide DMA mapping operations that are
      suitable for these drivers.
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Joerg Roedel <jroedel@suse.de>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      551199ac
    • B
      lib/dma-noop: Only build dma_noop_ops for s390 and m32r · 7844572c
      Bart Van Assche 提交于
      Reduce the kernel size by only building dma_noop_ops for those
      architectures that actually use it. This was suggested by
      Christoph Hellwig.
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Joerg Roedel <jroedel@suse.de>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      7844572c
    • B
      lib/dma-noop: Clarify a comment · 1eec9e2b
      Bart Van Assche 提交于
      The next patch in this series will introduce another set of DMA
      operations that map 1:1 with memory. Clarify that dma-noop maps
      to physical addresses.
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Joerg Roedel <jroedel@suse.de>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      1eec9e2b
    • B
      treewide: Consolidate get_dma_ops() implementations · 815dd187
      Bart Van Assche 提交于
      Introduce a new architecture-specific get_arch_dma_ops() function
      that takes a struct bus_type * argument. Add get_dma_ops() in
      <linux/dma-mapping.h>.
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: linux-arch@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: x86@kernel.org
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      815dd187
    • B
      treewide: Consolidate set_dma_ops() implementations · ca6e8e10
      Bart Van Assche 提交于
      Now that all set_dma_ops() implementations are identical (ignoring
      BUG_ON() statements), remove the architecture specific definitions
      and add a definition in <linux/dma-mapping.h>.
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Chris Metcalf <cmetcalf@mellanox.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: linux-arch@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-kernel@vger.kernel.org
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      ca6e8e10
    • B
      treewide: Move dma_ops from struct dev_archdata into struct device · 5657933d
      Bart Van Assche 提交于
      Some but not all architectures provide set_dma_ops(). Move dma_ops
      from struct dev_archdata into struct device such that it becomes
      possible on all architectures to configure dma_ops per device.
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: linux-arch@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: x86@kernel.org
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      5657933d
    • B
      treewide: Constify most dma_map_ops structures · 5299709d
      Bart Van Assche 提交于
      Most dma_map_ops structures are never modified. Constify these
      structures such that these can be write-protected. This patch
      has been generated as follows:
      
      git grep -l 'struct dma_map_ops' |
        xargs -d\\n sed -i \
          -e 's/struct dma_map_ops/const struct dma_map_ops/g' \
          -e 's/const struct dma_map_ops {/struct dma_map_ops {/g' \
          -e 's/^const struct dma_map_ops;$/struct dma_map_ops;/' \
          -e 's/const const struct dma_map_ops /const struct dma_map_ops /g';
      sed -i -e 's/const \(struct dma_map_ops intel_dma_ops\)/\1/' \
        $(git grep -l 'struct dma_map_ops intel_dma_ops');
      sed -i -e 's/const \(struct dma_map_ops dma_iommu_ops\)/\1/' \
        $(git grep -l 'struct dma_map_ops' | grep ^arch/powerpc);
      sed -i -e '/^struct vmd_dev {$/,/^};$/ s/const \(struct dma_map_ops[[:blank:]]dma_ops;\)/\1/' \
             -e '/^static void vmd_setup_dma_ops/,/^}$/ s/const \(struct dma_map_ops \*dest\)/\1/' \
             -e 's/const \(struct dma_map_ops \*dest = \&vmd->dma_ops\)/\1/' \
          drivers/pci/host/*.c
      sed -i -e '/^void __init pci_iommu_alloc(void)$/,/^}$/ s/dma_ops->/intel_dma_ops./' arch/ia64/kernel/pci-dma.c
      sed -i -e 's/static const struct dma_map_ops sn_dma_ops/static struct dma_map_ops sn_dma_ops/' arch/ia64/sn/pci/pci_dma.c
      sed -i -e 's/(const struct dma_map_ops \*)//' drivers/misc/mic/bus/vop_bus.c
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: linux-arch@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: x86@kernel.org
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      5299709d
  2. 13 1月, 2017 22 次提交
  3. 11 1月, 2017 10 次提交