ia64: remove the zx1 swiotlb machvec
The aim of this machvec is to support devices with < 32-bit dma masks. But given that ia64 only has a ZONE_DMA32 and not a ZONE_DMA that isn't supported by swiotlb either. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lkml.kernel.org/r/20190813072514.23299-21-hch@lst.de Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:

committed by
Tony Luck

parent
2e0f2b1659
commit
df43acac8e
@@ -39,8 +39,6 @@ static inline const char *acpi_get_sysname (void)
|
||||
{
|
||||
# if defined (CONFIG_IA64_HP_ZX1)
|
||||
return "hpzx1";
|
||||
# elif defined (CONFIG_IA64_HP_ZX1_SWIOTLB)
|
||||
return "hpzx1_swiotlb";
|
||||
# elif defined (CONFIG_IA64_SGI_UV)
|
||||
return "uv";
|
||||
# elif defined (CONFIG_IA64_DIG)
|
||||
|
@@ -6,17 +6,11 @@
|
||||
* Copyright (C) 2003-2004 Hewlett-Packard Co
|
||||
* David Mosberger-Tang <davidm@hpl.hp.com>
|
||||
*/
|
||||
#include <asm/machvec.h>
|
||||
#include <linux/scatterlist.h>
|
||||
#include <linux/dma-debug.h>
|
||||
|
||||
extern const struct dma_map_ops *dma_ops;
|
||||
extern struct ia64_machine_vector ia64_mv;
|
||||
extern void set_iommu_machvec(void);
|
||||
|
||||
static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus)
|
||||
{
|
||||
return platform_dma_get_ops(NULL);
|
||||
return dma_ops;
|
||||
}
|
||||
|
||||
#endif /* _ASM_IA64_DMA_MAPPING_H */
|
||||
|
@@ -17,12 +17,6 @@ struct device;
|
||||
|
||||
typedef void ia64_mv_setup_t (char **);
|
||||
typedef void ia64_mv_dma_init (void);
|
||||
typedef const struct dma_map_ops *ia64_mv_dma_get_ops(struct device *);
|
||||
|
||||
static inline void
|
||||
machvec_noop (void)
|
||||
{
|
||||
}
|
||||
|
||||
extern void machvec_setup (char **);
|
||||
|
||||
@@ -32,8 +26,6 @@ extern void machvec_setup (char **);
|
||||
# include <asm/machvec_dig_vtd.h>
|
||||
# elif defined (CONFIG_IA64_HP_ZX1)
|
||||
# include <asm/machvec_hpzx1.h>
|
||||
# elif defined (CONFIG_IA64_HP_ZX1_SWIOTLB)
|
||||
# include <asm/machvec_hpzx1_swiotlb.h>
|
||||
# elif defined (CONFIG_IA64_SGI_UV)
|
||||
# include <asm/machvec_uv.h>
|
||||
# elif defined (CONFIG_IA64_GENERIC)
|
||||
@@ -44,7 +36,6 @@ extern void machvec_setup (char **);
|
||||
# define ia64_platform_name ia64_mv.name
|
||||
# define platform_setup ia64_mv.setup
|
||||
# define platform_dma_init ia64_mv.dma_init
|
||||
# define platform_dma_get_ops ia64_mv.dma_get_ops
|
||||
# endif
|
||||
|
||||
/* __attribute__((__aligned__(16))) is required to make size of the
|
||||
@@ -56,7 +47,6 @@ struct ia64_machine_vector {
|
||||
const char *name;
|
||||
ia64_mv_setup_t *setup;
|
||||
ia64_mv_dma_init *dma_init;
|
||||
ia64_mv_dma_get_ops *dma_get_ops;
|
||||
} __attribute__((__aligned__(16))); /* align attrib? see above comment */
|
||||
|
||||
#define MACHVEC_INIT(name) \
|
||||
@@ -64,7 +54,6 @@ struct ia64_machine_vector {
|
||||
#name, \
|
||||
platform_setup, \
|
||||
platform_dma_init, \
|
||||
platform_dma_get_ops, \
|
||||
}
|
||||
|
||||
extern struct ia64_machine_vector ia64_mv;
|
||||
@@ -76,7 +65,6 @@ extern void machvec_init_from_cmdline(const char *cmdline);
|
||||
# endif /* CONFIG_IA64_GENERIC */
|
||||
|
||||
extern void swiotlb_dma_init(void);
|
||||
extern const struct dma_map_ops *dma_get_ops(struct device *);
|
||||
|
||||
/*
|
||||
* Define default versions so we can extend machvec for new platforms without having
|
||||
@@ -88,8 +76,5 @@ extern const struct dma_map_ops *dma_get_ops(struct device *);
|
||||
#ifndef platform_dma_init
|
||||
# define platform_dma_init swiotlb_dma_init
|
||||
#endif
|
||||
#ifndef platform_dma_get_ops
|
||||
# define platform_dma_get_ops dma_get_ops
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_IA64_MACHVEC_H */
|
||||
|
@@ -1,20 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _ASM_IA64_MACHVEC_HPZX1_SWIOTLB_h
|
||||
#define _ASM_IA64_MACHVEC_HPZX1_SWIOTLB_h
|
||||
|
||||
extern ia64_mv_setup_t dig_setup;
|
||||
extern ia64_mv_dma_get_ops hwsw_dma_get_ops;
|
||||
|
||||
/*
|
||||
* This stuff has dual use!
|
||||
*
|
||||
* For a generic kernel, the macros are used to initialize the
|
||||
* platform's machvec structure. When compiling a non-generic kernel,
|
||||
* the macros are used directly.
|
||||
*/
|
||||
#define ia64_platform_name "hpzx1_swiotlb"
|
||||
#define platform_setup dig_setup
|
||||
#define platform_dma_init machvec_noop
|
||||
#define platform_dma_get_ops hwsw_dma_get_ops
|
||||
|
||||
#endif /* _ASM_IA64_MACHVEC_HPZX1_SWIOTLB_h */
|
Reference in New Issue
Block a user