Message ID | 20181217115143.18373-2-anup@brainfault.org |
---|---|
State | Superseded |
Delegated to: | Andes |
Headers | show |
Series | Ethernet support for QEMU sifive_u machine | expand |
On Mon, Dec 17, 2018 at 7:52 PM Anup Patel <anup@brainfault.org> wrote: > > From: Anup Patel <anup.patel@wdc.com> > > This patch adds asm/dma-mapping.h for Linux-like DMA mappings > APIs required by some of the drivers (such as, Cadance MACB > Ethernet driver). > > Signed-off-by: Anup Patel <anup.patel@wdc.com> > --- > arch/riscv/include/asm/dma-mapping.h | 37 ++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > create mode 100644 arch/riscv/include/asm/dma-mapping.h > Reviewed-by: Bin Meng <bmeng.cn@gmail.com> But please see nits below: > diff --git a/arch/riscv/include/asm/dma-mapping.h b/arch/riscv/include/asm/dma-mapping.h > new file mode 100644 > index 0000000000..9782b6f168 > --- /dev/null > +++ b/arch/riscv/include/asm/dma-mapping.h > @@ -0,0 +1,37 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * Copyright (c) 2018 Western Digital Corporation or its affiliates. > + * > + * Authors: > + * Anup Patel <anup.patel@wdc.com> > + */ nits: should have one blank line here > +#ifndef __ASM_RISCV_DMA_MAPPING_H > +#define __ASM_RISCV_DMA_MAPPING_H > + > +#include <linux/dma-direction.h> > + > +#define dma_mapping_error(x, y) 0 nits: no <tab> between #define and dma_ > + > +static inline void *dma_alloc_coherent(size_t len, unsigned long *handle) > +{ > + *handle = (unsigned long)memalign(ARCH_DMA_MINALIGN, len); > + return (void *)*handle; > +} > + > +static inline void dma_free_coherent(void *addr) > +{ > + free(addr); > +} > + > +static inline unsigned long dma_map_single(volatile void *vaddr, size_t len, > + enum dma_data_direction dir) > +{ > + return (unsigned long)vaddr; > +} > + > +static inline void dma_unmap_single(volatile void *vaddr, size_t len, > + unsigned long paddr) > +{ > +} > + > +#endif /* __ASM_RISCV_DMA_MAPPING_H */ > -- Regards, Bin
On Tue, Dec 18, 2018 at 3:15 PM Bin Meng <bmeng.cn@gmail.com> wrote: > > On Mon, Dec 17, 2018 at 7:52 PM Anup Patel <anup@brainfault.org> wrote: > > > > From: Anup Patel <anup.patel@wdc.com> > > > > This patch adds asm/dma-mapping.h for Linux-like DMA mappings > > APIs required by some of the drivers (such as, Cadance MACB > > Ethernet driver). > > > > Signed-off-by: Anup Patel <anup.patel@wdc.com> > > --- > > arch/riscv/include/asm/dma-mapping.h | 37 ++++++++++++++++++++++++++++ > > 1 file changed, 37 insertions(+) > > create mode 100644 arch/riscv/include/asm/dma-mapping.h > > > > Reviewed-by: Bin Meng <bmeng.cn@gmail.com> > > But please see nits below: > > > diff --git a/arch/riscv/include/asm/dma-mapping.h b/arch/riscv/include/asm/dma-mapping.h > > new file mode 100644 > > index 0000000000..9782b6f168 > > --- /dev/null > > +++ b/arch/riscv/include/asm/dma-mapping.h > > @@ -0,0 +1,37 @@ > > +/* SPDX-License-Identifier: GPL-2.0+ */ > > +/* > > + * Copyright (c) 2018 Western Digital Corporation or its affiliates. > > + * > > + * Authors: > > + * Anup Patel <anup.patel@wdc.com> > > + */ > > nits: should have one blank line here OK, will update. > > > +#ifndef __ASM_RISCV_DMA_MAPPING_H > > +#define __ASM_RISCV_DMA_MAPPING_H > > + > > +#include <linux/dma-direction.h> > > + > > +#define dma_mapping_error(x, y) 0 > > nits: no <tab> between #define and dma_ OK, will update. > > > + > > +static inline void *dma_alloc_coherent(size_t len, unsigned long *handle) > > +{ > > + *handle = (unsigned long)memalign(ARCH_DMA_MINALIGN, len); > > + return (void *)*handle; > > +} > > + > > +static inline void dma_free_coherent(void *addr) > > +{ > > + free(addr); > > +} > > + > > +static inline unsigned long dma_map_single(volatile void *vaddr, size_t len, > > + enum dma_data_direction dir) > > +{ > > + return (unsigned long)vaddr; > > +} > > + > > +static inline void dma_unmap_single(volatile void *vaddr, size_t len, > > + unsigned long paddr) > > +{ > > +} > > + > > +#endif /* __ASM_RISCV_DMA_MAPPING_H */ > > -- > > Regards, > Bin Regards, Anup
+Michal On Mon, Dec 17, 2018 at 5:21 PM Anup Patel <anup@brainfault.org> wrote: > > From: Anup Patel <anup.patel@wdc.com> > > This patch adds asm/dma-mapping.h for Linux-like DMA mappings > APIs required by some of the drivers (such as, Cadance MACB > Ethernet driver). > > Signed-off-by: Anup Patel <anup.patel@wdc.com> > --- > arch/riscv/include/asm/dma-mapping.h | 37 ++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > create mode 100644 arch/riscv/include/asm/dma-mapping.h > > diff --git a/arch/riscv/include/asm/dma-mapping.h b/arch/riscv/include/asm/dma-mapping.h > new file mode 100644 > index 0000000000..9782b6f168 > --- /dev/null > +++ b/arch/riscv/include/asm/dma-mapping.h > @@ -0,0 +1,37 @@ > +/* SPDX-License-Identifier: GPL-2.0+ */ > +/* > + * Copyright (c) 2018 Western Digital Corporation or its affiliates. > + * > + * Authors: > + * Anup Patel <anup.patel@wdc.com> > + */ > +#ifndef __ASM_RISCV_DMA_MAPPING_H > +#define __ASM_RISCV_DMA_MAPPING_H > + > +#include <linux/dma-direction.h> > + > +#define dma_mapping_error(x, y) 0 > + > +static inline void *dma_alloc_coherent(size_t len, unsigned long *handle) > +{ > + *handle = (unsigned long)memalign(ARCH_DMA_MINALIGN, len); > + return (void *)*handle; > +} > + > +static inline void dma_free_coherent(void *addr) > +{ > + free(addr); > +} > + > +static inline unsigned long dma_map_single(volatile void *vaddr, size_t len, > + enum dma_data_direction dir) > +{ > + return (unsigned long)vaddr; > +} > + > +static inline void dma_unmap_single(volatile void *vaddr, size_t len, > + unsigned long paddr) > +{ > +} > + > +#endif /* __ASM_RISCV_DMA_MAPPING_H */ > -- > 2.17.1 >
diff --git a/arch/riscv/include/asm/dma-mapping.h b/arch/riscv/include/asm/dma-mapping.h new file mode 100644 index 0000000000..9782b6f168 --- /dev/null +++ b/arch/riscv/include/asm/dma-mapping.h @@ -0,0 +1,37 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (c) 2018 Western Digital Corporation or its affiliates. + * + * Authors: + * Anup Patel <anup.patel@wdc.com> + */ +#ifndef __ASM_RISCV_DMA_MAPPING_H +#define __ASM_RISCV_DMA_MAPPING_H + +#include <linux/dma-direction.h> + +#define dma_mapping_error(x, y) 0 + +static inline void *dma_alloc_coherent(size_t len, unsigned long *handle) +{ + *handle = (unsigned long)memalign(ARCH_DMA_MINALIGN, len); + return (void *)*handle; +} + +static inline void dma_free_coherent(void *addr) +{ + free(addr); +} + +static inline unsigned long dma_map_single(volatile void *vaddr, size_t len, + enum dma_data_direction dir) +{ + return (unsigned long)vaddr; +} + +static inline void dma_unmap_single(volatile void *vaddr, size_t len, + unsigned long paddr) +{ +} + +#endif /* __ASM_RISCV_DMA_MAPPING_H */