Merge tag 'mips_5.2_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
Pull a few more MIPS updates from Paul Burton: "Some SGI IP27 specific PCI rework and a batch of fixes: - A build fix for BMIPS5000 configurations with CONFIG_HW_PERF_EVENTS=y, which also neatly removes some #ifdefery. - A fix to report supported ISAs correctly on older Ingenic SoCs which incorrectly indicate MIPSr2 support in their cop0 Config register. - Some PCI modernization for SGI IP27 systems as part of ongoing work to support some other SGI systems. - A fix allowing use of appended DTB files with generic kernels. - DMA mask fixes for SGI IP22 & Alchemy systems" * tag 'mips_5.2_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: MIPS: Alchemy: add DMA masks for on-chip ethernet MIPS: SGI-IP22: provide missing dma_mask/coherent_dma_mask generic: fix appended dtb support MIPS: SGI-IP27: abstract chipset irq from bridge MIPS: SGI-IP27: use generic PCI driver MIPS: Fix Ingenic SoCs sometimes reporting wrong ISA MIPS: perf: Fix build with CONFIG_CPU_BMIPS5000 enabled
This commit is contained in:
@@ -7,18 +7,9 @@
|
||||
#include <asm/mmzone.h>
|
||||
|
||||
struct cpuinfo_ip27 {
|
||||
// cpuid_t p_cpuid; /* PROM assigned cpuid */
|
||||
cnodeid_t p_nodeid; /* my node ID in compact-id-space */
|
||||
nasid_t p_nasid; /* my node ID in numa-as-id-space */
|
||||
unsigned char p_slice; /* Physical position on node board */
|
||||
#if 0
|
||||
unsigned long loops_per_sec;
|
||||
unsigned long ipi_count;
|
||||
unsigned long irq_attempt[NR_IRQS];
|
||||
unsigned long smp_local_irq_count;
|
||||
unsigned long prof_multiplier;
|
||||
unsigned long prof_counter;
|
||||
#endif
|
||||
};
|
||||
|
||||
extern struct cpuinfo_ip27 sn_cpu_info[NR_CPUS];
|
||||
@@ -30,7 +21,7 @@ extern struct cpuinfo_ip27 sn_cpu_info[NR_CPUS];
|
||||
struct pci_bus;
|
||||
extern int pcibus_to_node(struct pci_bus *);
|
||||
|
||||
#define cpumask_of_pcibus(bus) (cpu_online_mask)
|
||||
#define cpumask_of_pcibus(bus) (cpumask_of_node(pcibus_to_node(bus)))
|
||||
|
||||
extern unsigned char __node_distances[MAX_COMPACT_NODES][MAX_COMPACT_NODES];
|
||||
|
||||
|
@@ -801,15 +801,13 @@ struct bridge_err_cmdword {
|
||||
#define PCI64_ATTR_RMF_SHFT 48
|
||||
|
||||
struct bridge_controller {
|
||||
struct pci_controller pc;
|
||||
struct resource mem;
|
||||
struct resource io;
|
||||
struct resource busn;
|
||||
struct bridge_regs *base;
|
||||
nasid_t nasid;
|
||||
unsigned int widget_id;
|
||||
u64 baddr;
|
||||
unsigned long baddr;
|
||||
unsigned long intr_addr;
|
||||
struct irq_domain *domain;
|
||||
unsigned int pci_int[8];
|
||||
nasid_t nasid;
|
||||
};
|
||||
|
||||
#define BRIDGE_CONTROLLER(bus) \
|
||||
@@ -822,8 +820,4 @@ struct bridge_controller {
|
||||
#define bridge_clr(bc, reg, val) \
|
||||
__raw_writel(__raw_readl(&bc->base->reg) & ~(val), &bc->base->reg)
|
||||
|
||||
extern int request_bridge_irq(struct bridge_controller *bc, int pin);
|
||||
|
||||
extern struct pci_ops bridge_pci_ops;
|
||||
|
||||
#endif /* _ASM_PCI_BRIDGE_H */
|
||||
|
11
arch/mips/include/asm/sn/irq_alloc.h
Normal file
11
arch/mips/include/asm/sn/irq_alloc.h
Normal file
@@ -0,0 +1,11 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef __ASM_SN_IRQ_ALLOC_H
|
||||
#define __ASM_SN_IRQ_ALLOC_H
|
||||
|
||||
struct irq_alloc_info {
|
||||
void *ctrl;
|
||||
nasid_t nasid;
|
||||
int pin;
|
||||
};
|
||||
|
||||
#endif /* __ASM_SN_IRQ_ALLOC_H */
|
@@ -47,15 +47,6 @@ typedef struct xtalk_piomap_s *xtalk_piomap_t;
|
||||
#define XIO_PORT(x) ((xwidgetnum_t)(((x)&XIO_PORT_BITS) >> XIO_PORT_SHIFT))
|
||||
#define XIO_PACK(p, o) ((((uint64_t)(p))<<XIO_PORT_SHIFT) | ((o)&XIO_ADDR_BITS))
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
extern int bridge_probe(nasid_t nasid, int widget, int masterwid);
|
||||
#else
|
||||
static inline int bridge_probe(nasid_t nasid, int widget, int masterwid)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#endif /* _ASM_XTALK_XTALK_H */
|
||||
|
Reference in New Issue
Block a user