Commit 0757060a authored by Stafford Horne's avatar Stafford Horne

Merge branch 'pci/header-cleanup-immutable' of...

Merge branch 'pci/header-cleanup-immutable' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git

The OpenRISC PCI support depends on the fixups done in the
pci/header-cleanup-immutable branch.  Also, there are OpenRISC
irqchip fixups in v5.19-rc6 that are needed to test the virt platform.

This merge creates a base for the OpenRISC PCI changes.
parents 32346491 933c5a4f
...@@ -365,13 +365,4 @@ extern void free_dma(unsigned int dmanr); /* release it again */ ...@@ -365,13 +365,4 @@ extern void free_dma(unsigned int dmanr); /* release it again */
#define KERNEL_HAVE_CHECK_DMA #define KERNEL_HAVE_CHECK_DMA
extern int check_dma(unsigned int dmanr); extern int check_dma(unsigned int dmanr);
/* From PCI */
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif /* _ASM_DMA_H */ #endif /* _ASM_DMA_H */
...@@ -56,12 +56,6 @@ struct pci_controller { ...@@ -56,12 +56,6 @@ struct pci_controller {
/* IOMMU controls. */ /* IOMMU controls. */
/* TODO: integrate with include/asm-generic/pci.h ? */
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
return channel ? 15 : 14;
}
#define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index #define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index
static inline int pci_proc_domain(struct pci_bus *bus) static inline int pci_proc_domain(struct pci_bus *bus)
......
...@@ -7,10 +7,5 @@ ...@@ -7,10 +7,5 @@
#define ASM_ARC_DMA_H #define ASM_ARC_DMA_H
#define MAX_DMA_ADDRESS 0xC0000000 #define MAX_DMA_ADDRESS 0xC0000000
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy 0
#endif
#endif #endif
...@@ -143,10 +143,4 @@ extern int get_dma_residue(unsigned int chan); ...@@ -143,10 +143,4 @@ extern int get_dma_residue(unsigned int chan);
#endif /* CONFIG_ISA_DMA_API */ #endif /* CONFIG_ISA_DMA_API */
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif /* __ASM_ARM_DMA_H */ #endif /* __ASM_ARM_DMA_H */
...@@ -22,11 +22,6 @@ static inline int pci_proc_domain(struct pci_bus *bus) ...@@ -22,11 +22,6 @@ static inline int pci_proc_domain(struct pci_bus *bus)
#define HAVE_PCI_MMAP #define HAVE_PCI_MMAP
#define ARCH_GENERIC_PCI_MMAP_RESOURCE #define ARCH_GENERIC_PCI_MMAP_RESOURCE
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
return channel ? 15 : 14;
}
extern void pcibios_report_status(unsigned int status_mask, int warn); extern void pcibios_report_status(unsigned int status_mask, int warn);
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#include <asm/io.h> #include <asm/io.h>
#define PCIBIOS_MIN_IO 0x1000 #define PCIBIOS_MIN_IO 0x1000
#define PCIBIOS_MIN_MEM 0
/* /*
* Set to 1 if the kernel should re-assign all PCI bus numbers * Set to 1 if the kernel should re-assign all PCI bus numbers
...@@ -18,21 +17,8 @@ ...@@ -18,21 +17,8 @@
(pci_has_flag(PCI_REASSIGN_ALL_BUS)) (pci_has_flag(PCI_REASSIGN_ALL_BUS))
#define arch_can_pci_mmap_wc() 1 #define arch_can_pci_mmap_wc() 1
#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1
extern int isa_dma_bridge_buggy; /* Generic PCI */
#include <asm-generic/pci.h>
#ifdef CONFIG_PCI
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
/* no legacy IRQ on arm64 */
return -ENODEV;
}
static inline int pci_proc_domain(struct pci_bus *bus)
{
return 1;
}
#endif /* CONFIG_PCI */
#endif /* __ASM_PCI_H */ #endif /* __ASM_PCI_H */
...@@ -9,26 +9,7 @@ ...@@ -9,26 +9,7 @@
#include <asm/io.h> #include <asm/io.h>
#define PCIBIOS_MIN_IO 0 /* Generic PCI */
#define PCIBIOS_MIN_MEM 0 #include <asm-generic/pci.h>
/* C-SKY shim does not initialize PCI bus */
#define pcibios_assign_all_busses() 1
extern int isa_dma_bridge_buggy;
#ifdef CONFIG_PCI
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
/* no legacy IRQ on csky */
return -ENODEV;
}
static inline int pci_proc_domain(struct pci_bus *bus)
{
/* always show the domain in /proc */
return 1;
}
#endif /* CONFIG_PCI */
#endif /* __ASM_CSKY_PCI_H */ #endif /* __ASM_CSKY_PCI_H */
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
extern unsigned long MAX_DMA_ADDRESS; extern unsigned long MAX_DMA_ADDRESS;
extern int isa_dma_bridge_buggy;
#define free_dma(x) #define free_dma(x)
#endif /* _ASM_IA64_DMA_H */ #endif /* _ASM_IA64_DMA_H */
...@@ -63,10 +63,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) ...@@ -63,10 +63,4 @@ static inline int pci_proc_domain(struct pci_bus *bus)
return (pci_domain_nr(bus) != 0); return (pci_domain_nr(bus) != 0);
} }
#define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
return channel ? isa_irq_to_vector(15) : isa_irq_to_vector(14);
}
#endif /* _ASM_IA64_PCI_H */ #endif /* _ASM_IA64_PCI_H */
...@@ -6,10 +6,4 @@ ...@@ -6,10 +6,4 @@
bootmem allocator (but this should do it for this) */ bootmem allocator (but this should do it for this) */
#define MAX_DMA_ADDRESS PAGE_OFFSET #define MAX_DMA_ADDRESS PAGE_OFFSET
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif /* _M68K_DMA_H */ #endif /* _M68K_DMA_H */
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
#ifndef _ASM_M68K_PCI_H #ifndef _ASM_M68K_PCI_H
#define _ASM_M68K_PCI_H #define _ASM_M68K_PCI_H
#include <asm-generic/pci.h>
#define pcibios_assign_all_busses() 1 #define pcibios_assign_all_busses() 1
#define PCIBIOS_MIN_IO 0x00000100 #define PCIBIOS_MIN_IO 0x00000100
......
...@@ -9,10 +9,4 @@ ...@@ -9,10 +9,4 @@
/* Virtual address corresponding to last available physical memory address. */ /* Virtual address corresponding to last available physical memory address. */
#define MAX_DMA_ADDRESS (CONFIG_KERNEL_START + memory_size - 1) #define MAX_DMA_ADDRESS (CONFIG_KERNEL_START + memory_size - 1)
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif /* _ASM_MICROBLAZE_DMA_H */ #endif /* _ASM_MICROBLAZE_DMA_H */
...@@ -307,12 +307,4 @@ static __inline__ int get_dma_residue(unsigned int dmanr) ...@@ -307,12 +307,4 @@ static __inline__ int get_dma_residue(unsigned int dmanr)
extern int request_dma(unsigned int dmanr, const char * device_id); /* reserve a DMA channel */ extern int request_dma(unsigned int dmanr, const char * device_id); /* reserve a DMA channel */
extern void free_dma(unsigned int dmanr); /* release it again */ extern void free_dma(unsigned int dmanr); /* release it again */
/* From PCI */
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif /* _ASM_DMA_H */ #endif /* _ASM_DMA_H */
...@@ -139,10 +139,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) ...@@ -139,10 +139,4 @@ static inline int pci_proc_domain(struct pci_bus *bus)
/* Do platform specific device initialization at pci_enable_device() time */ /* Do platform specific device initialization at pci_enable_device() time */
extern int pcibios_plat_dev_init(struct pci_dev *dev); extern int pcibios_plat_dev_init(struct pci_dev *dev);
/* Chances are this interrupt is wired PC-style ... */
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
return channel ? 15 : 14;
}
#endif /* _ASM_PCI_H */ #endif /* _ASM_PCI_H */
...@@ -176,10 +176,4 @@ static __inline__ void set_dma_count(unsigned int dmanr, unsigned int count) ...@@ -176,10 +176,4 @@ static __inline__ void set_dma_count(unsigned int dmanr, unsigned int count)
#define free_dma(dmanr) #define free_dma(dmanr)
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif /* _ASM_DMA_H */ #endif /* _ASM_DMA_H */
...@@ -162,11 +162,6 @@ extern void pcibios_init_bridge(struct pci_dev *); ...@@ -162,11 +162,6 @@ extern void pcibios_init_bridge(struct pci_dev *);
#define PCIBIOS_MIN_IO 0x10 #define PCIBIOS_MIN_IO 0x10
#define PCIBIOS_MIN_MEM 0x1000 /* NBPG - but pci/setup-res.c dies */ #define PCIBIOS_MIN_MEM 0x1000 /* NBPG - but pci/setup-res.c dies */
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
return channel ? 15 : 14;
}
#define HAVE_PCI_MMAP #define HAVE_PCI_MMAP
#define ARCH_GENERIC_PCI_MMAP_RESOURCE #define ARCH_GENERIC_PCI_MMAP_RESOURCE
......
...@@ -340,11 +340,5 @@ extern int request_dma(unsigned int dmanr, const char *device_id); ...@@ -340,11 +340,5 @@ extern int request_dma(unsigned int dmanr, const char *device_id);
/* release it again */ /* release it again */
extern void free_dma(unsigned int dmanr); extern void free_dma(unsigned int dmanr);
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* _ASM_POWERPC_DMA_H */ #endif /* _ASM_POWERPC_DMA_H */
...@@ -39,7 +39,6 @@ ...@@ -39,7 +39,6 @@
#define pcibios_assign_all_busses() \ #define pcibios_assign_all_busses() \
(pci_has_flag(PCI_REASSIGN_ALL_BUS)) (pci_has_flag(PCI_REASSIGN_ALL_BUS))
#define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{ {
if (ppc_md.pci_get_legacy_ide_irq) if (ppc_md.pci_get_legacy_ide_irq)
......
...@@ -12,31 +12,7 @@ ...@@ -12,31 +12,7 @@
#include <asm/io.h> #include <asm/io.h>
#define PCIBIOS_MIN_IO 0 #if defined(CONFIG_PCI) && defined(CONFIG_NUMA)
#define PCIBIOS_MIN_MEM 0
/* RISC-V shim does not initialize PCI bus */
#define pcibios_assign_all_busses() 1
#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1
extern int isa_dma_bridge_buggy;
#ifdef CONFIG_PCI
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
/* no legacy IRQ on risc-v */
return -ENODEV;
}
static inline int pci_proc_domain(struct pci_bus *bus)
{
/* always show the domain in /proc */
return 1;
}
#ifdef CONFIG_NUMA
static inline int pcibus_to_node(struct pci_bus *bus) static inline int pcibus_to_node(struct pci_bus *bus)
{ {
return dev_to_node(&bus->dev); return dev_to_node(&bus->dev);
...@@ -46,8 +22,9 @@ static inline int pcibus_to_node(struct pci_bus *bus) ...@@ -46,8 +22,9 @@ static inline int pcibus_to_node(struct pci_bus *bus)
cpu_all_mask : \ cpu_all_mask : \
cpumask_of_node(pcibus_to_node(bus))) cpumask_of_node(pcibus_to_node(bus)))
#endif #endif
#endif /* CONFIG_NUMA */ #endif /* defined(CONFIG_PCI) && defined(CONFIG_NUMA) */
#endif /* CONFIG_PCI */ /* Generic PCI */
#include <asm-generic/pci.h>
#endif /* _ASM_RISCV_PCI_H */ #endif /* _ASM_RISCV_PCI_H */
...@@ -11,10 +11,4 @@ ...@@ -11,10 +11,4 @@
*/ */
#define MAX_DMA_ADDRESS 0x80000000 #define MAX_DMA_ADDRESS 0x80000000
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif /* _ASM_S390_DMA_H */ #endif /* _ASM_S390_DMA_H */
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/iommu.h> #include <linux/iommu.h>
#include <linux/pci_hotplug.h> #include <linux/pci_hotplug.h>
#include <asm-generic/pci.h>
#include <asm/pci_clp.h> #include <asm/pci_clp.h>
#include <asm/pci_debug.h> #include <asm/pci_debug.h>
#include <asm/sclp.h> #include <asm/sclp.h>
......
...@@ -137,10 +137,4 @@ extern int register_chan_caps(const char *dmac, struct dma_chan_caps *capslist); ...@@ -137,10 +137,4 @@ extern int register_chan_caps(const char *dmac, struct dma_chan_caps *capslist);
extern int dma_create_sysfs_files(struct dma_channel *, struct dma_info *); extern int dma_create_sysfs_files(struct dma_channel *, struct dma_info *);
extern void dma_remove_sysfs_files(struct dma_channel *, struct dma_info *); extern void dma_remove_sysfs_files(struct dma_channel *, struct dma_info *);
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif /* __ASM_SH_DMA_H */ #endif /* __ASM_SH_DMA_H */
...@@ -88,10 +88,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) ...@@ -88,10 +88,4 @@ static inline int pci_proc_domain(struct pci_bus *bus)
return hose->need_domain_info; return hose->need_domain_info;
} }
/* Chances are this interrupt is wired PC-style ... */
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
return channel ? 15 : 14;
}
#endif /* __ASM_SH_PCI_H */ #endif /* __ASM_SH_PCI_H */
...@@ -82,14 +82,6 @@ ...@@ -82,14 +82,6 @@
#define DMA_BURST64 0x40 #define DMA_BURST64 0x40
#define DMA_BURSTBITS 0x7f #define DMA_BURSTBITS 0x7f
/* From PCI */
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#ifdef CONFIG_SPARC32 #ifdef CONFIG_SPARC32
struct device; struct device;
......
...@@ -40,13 +40,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) ...@@ -40,13 +40,4 @@ static inline int pci_proc_domain(struct pci_bus *bus)
#define get_pci_unmapped_area get_fb_unmapped_area #define get_pci_unmapped_area get_fb_unmapped_area
#endif /* CONFIG_SPARC64 */ #endif /* CONFIG_SPARC64 */
#if defined(CONFIG_SPARC64) || defined(CONFIG_LEON_PCI)
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
return PCI_IRQ_NONE;
}
#else
#include <asm-generic/pci.h>
#endif
#endif /* ___ASM_SPARC_PCI_H */ #endif /* ___ASM_SPARC_PCI_H */
...@@ -4,28 +4,8 @@ ...@@ -4,28 +4,8 @@
#include <linux/types.h> #include <linux/types.h>
#include <asm/io.h> #include <asm/io.h>
#define PCIBIOS_MIN_IO 0 /* Generic PCI */
#define PCIBIOS_MIN_MEM 0 #include <asm-generic/pci.h>
#define pcibios_assign_all_busses() 1
extern int isa_dma_bridge_buggy;
#ifdef CONFIG_PCI
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
/* no legacy IRQs */
return -ENODEV;
}
#endif
#ifdef CONFIG_PCI_DOMAINS
static inline int pci_proc_domain(struct pci_bus *bus)
{
/* always show the domain in /proc */
return 1;
}
#endif /* CONFIG_PCI */
#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN #ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
/* /*
......
...@@ -307,12 +307,4 @@ extern int request_dma(unsigned int dmanr, const char *device_id); ...@@ -307,12 +307,4 @@ extern int request_dma(unsigned int dmanr, const char *device_id);
extern void free_dma(unsigned int dmanr); extern void free_dma(unsigned int dmanr);
#endif #endif
/* From PCI */
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif /* _ASM_X86_DMA_H */ #endif /* _ASM_X86_DMA_H */
...@@ -105,9 +105,6 @@ static inline void early_quirks(void) { } ...@@ -105,9 +105,6 @@ static inline void early_quirks(void) { }
extern void pci_iommu_alloc(void); extern void pci_iommu_alloc(void);
/* generic pci stuff */
#include <asm-generic/pci.h>
#ifdef CONFIG_NUMA #ifdef CONFIG_NUMA
/* Returns the node based on pci bus */ /* Returns the node based on pci bus */
static inline int __pcibus_to_node(const struct pci_bus *bus) static inline int __pcibus_to_node(const struct pci_bus *bus)
......
// SPDX-License-Identifier: GPL-2.0 // SPDX-License-Identifier: GPL-2.0
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/isa-dma.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <asm/dma.h> #include <asm/dma.h>
#include <linux/io.h> #include <linux/io.h>
......
...@@ -52,11 +52,4 @@ ...@@ -52,11 +52,4 @@
extern int request_dma(unsigned int dmanr, const char * device_id); extern int request_dma(unsigned int dmanr, const char * device_id);
extern void free_dma(unsigned int dmanr); extern void free_dma(unsigned int dmanr);
#ifdef CONFIG_PCI
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif #endif
...@@ -43,7 +43,4 @@ ...@@ -43,7 +43,4 @@
#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1 #define ARCH_GENERIC_PCI_MMAP_RESOURCE 1
#define arch_can_pci_mmap_io() 1 #define arch_can_pci_mmap_io() 1
/* Generic PCI */
#include <asm-generic/pci.h>
#endif /* _XTENSA_PCI_H */ #endif /* _XTENSA_PCI_H */
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
#include <asm/dma.h> #include <linux/isa-dma.h>
#include <linux/comedi/comedidev.h> #include <linux/comedi/comedidev.h>
#include <linux/comedi/comedi_isadma.h> #include <linux/comedi/comedi_isadma.h>
......
...@@ -41,8 +41,10 @@ const char *pci_power_names[] = { ...@@ -41,8 +41,10 @@ const char *pci_power_names[] = {
}; };
EXPORT_SYMBOL_GPL(pci_power_names); EXPORT_SYMBOL_GPL(pci_power_names);
#ifdef CONFIG_X86_32
int isa_dma_bridge_buggy; int isa_dma_bridge_buggy;
EXPORT_SYMBOL(isa_dma_bridge_buggy); EXPORT_SYMBOL(isa_dma_bridge_buggy);
#endif
int pci_pci_problems; int pci_pci_problems;
EXPORT_SYMBOL(pci_pci_problems); EXPORT_SYMBOL(pci_pci_problems);
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/export.h> #include <linux/export.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/isa-dma.h> /* isa_dma_bridge_buggy */
#include <linux/init.h> #include <linux/init.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/acpi.h> #include <linux/acpi.h>
...@@ -30,7 +31,6 @@ ...@@ -30,7 +31,6 @@
#include <linux/pm_runtime.h> #include <linux/pm_runtime.h>
#include <linux/suspend.h> #include <linux/suspend.h>
#include <linux/switchtec.h> #include <linux/switchtec.h>
#include <asm/dma.h> /* isa_dma_bridge_buggy */
#include "pci.h" #include "pci.h"
static ktime_t fixup_debug_start(struct pci_dev *dev, static ktime_t fixup_debug_start(struct pci_dev *dev,
...@@ -239,6 +239,7 @@ static void quirk_passive_release(struct pci_dev *dev) ...@@ -239,6 +239,7 @@ static void quirk_passive_release(struct pci_dev *dev)
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release);
DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release); DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release);
#ifdef CONFIG_X86_32
/* /*
* The VIA VP2/VP3/MVP3 seem to have some 'features'. There may be a * The VIA VP2/VP3/MVP3 seem to have some 'features'. There may be a
* workaround but VIA don't answer queries. If you happen to have good * workaround but VIA don't answer queries. If you happen to have good
...@@ -265,6 +266,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, quirk_isa_dma ...@@ -265,6 +266,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, quirk_isa_dma
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_1, quirk_isa_dma_hangs); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_1, quirk_isa_dma_hangs);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_2, quirk_isa_dma_hangs); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_2, quirk_isa_dma_hangs);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_dma_hangs); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_dma_hangs);
#endif
/* /*
* Intel NM10 "TigerPoint" LPC PM1a_STS.BM_STS must be clear * Intel NM10 "TigerPoint" LPC PM1a_STS.BM_STS must be clear
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <asm/dma.h> #include <asm/dma.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/libata.h>
#include <linux/ioport.h> #include <linux/ioport.h>
#include <linux/init.h> #include <linux/init.h>
...@@ -322,8 +323,8 @@ static int pci_dev_uses_irq(struct pnp_dev *pnp, struct pci_dev *pci, ...@@ -322,8 +323,8 @@ static int pci_dev_uses_irq(struct pnp_dev *pnp, struct pci_dev *pci,
* treat the compatibility IRQs as busy. * treat the compatibility IRQs as busy.
*/ */
if ((progif & 0x5) != 0x5) if ((progif & 0x5) != 0x5)
if (pci_get_legacy_ide_irq(pci, 0) == irq || if (ATA_PRIMARY_IRQ(pci) == irq ||
pci_get_legacy_ide_irq(pci, 1) == irq) { ATA_SECONDARY_IRQ(pci) == irq) {
pnp_dbg(&pnp->dev, " legacy IDE device %s " pnp_dbg(&pnp->dev, " legacy IDE device %s "
"using irq %d\n", pci_name(pci), irq); "using irq %d\n", pci_name(pci), irq);
return 1; return 1;
......
/* SPDX-License-Identifier: GPL-2.0 */ /* SPDX-License-Identifier: GPL-2.0-only */
/*
* linux/include/asm-generic/pci.h
*
* Copyright (C) 2003 Russell King
*/
#ifndef _ASM_GENERIC_PCI_H
#define _ASM_GENERIC_PCI_H
#ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ #ifndef __ASM_GENERIC_PCI_H
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) #define __ASM_GENERIC_PCI_H
#ifndef PCIBIOS_MIN_IO
#define PCIBIOS_MIN_IO 0
#endif
#ifndef PCIBIOS_MIN_MEM
#define PCIBIOS_MIN_MEM 0
#endif
#ifndef pcibios_assign_all_busses
/* For bootloaders that do not initialize the PCI bus */
#define pcibios_assign_all_busses() 1
#endif
/* Enable generic resource mapping code in drivers/pci/ */
#define ARCH_GENERIC_PCI_MMAP_RESOURCE
#ifdef CONFIG_PCI_DOMAINS
static inline int pci_proc_domain(struct pci_bus *bus)
{ {
return channel ? 15 : 14; /* always show the domain in /proc */
return 1;
} }
#endif /* HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ */ #endif /* CONFIG_PCI_DOMAINS */
#endif /* _ASM_GENERIC_PCI_H */ #endif /* __ASM_GENERIC_PCI_H */
...@@ -25,6 +25,8 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *); ...@@ -25,6 +25,8 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
#ifdef CONFIG_NO_GENERIC_PCI_IOPORT_MAP #ifdef CONFIG_NO_GENERIC_PCI_IOPORT_MAP
extern void __iomem *__pci_ioport_map(struct pci_dev *dev, unsigned long port, extern void __iomem *__pci_ioport_map(struct pci_dev *dev, unsigned long port,
unsigned int nr); unsigned int nr);
#elif !defined(CONFIG_HAS_IOPORT_MAP)
#define __pci_ioport_map(dev, port, nr) NULL
#else #else
#define __pci_ioport_map(dev, port, nr) ioport_map((port), (nr)) #define __pci_ioport_map(dev, port, nr) ioport_map((port), (nr))
#endif #endif
......
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __LINUX_ISA_DMA_H
#define __LINUX_ISA_DMA_H
#include <asm/dma.h>
#if defined(CONFIG_PCI) && defined(CONFIG_X86_32)
extern int isa_dma_bridge_buggy;
#else
#define isa_dma_bridge_buggy (0)
#endif
#endif /* __LINUX_ISA_DMA_H */
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
#undef HAVE_REALLY_SLOW_DMA_CONTROLLER #undef HAVE_REALLY_SLOW_DMA_CONTROLLER
#include <linux/export.h> #include <linux/export.h>
#include <linux/isa-dma.h>
#include <sound/core.h> #include <sound/core.h>
#include <asm/dma.h>
/** /**
* snd_dma_program - program an ISA DMA transfer * snd_dma_program - program an ISA DMA transfer
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment