s390/pci: add parameter to force floating irqs
Provide a kernel parameter to force the usage of floating interrupts. Signed-off-by: Sebastian Ott <sebott@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
07e3ec3acb
commit
fbfe07d440
|
@ -3394,6 +3394,7 @@
|
||||||
bridges without forcing it upstream. Note:
|
bridges without forcing it upstream. Note:
|
||||||
this removes isolation between devices and
|
this removes isolation between devices and
|
||||||
may put more devices in an IOMMU group.
|
may put more devices in an IOMMU group.
|
||||||
|
force_floating [S390] Force usage of floating interrupts.
|
||||||
|
|
||||||
pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power
|
pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power
|
||||||
Management.
|
Management.
|
||||||
|
|
|
@ -163,6 +163,7 @@ static inline bool zdev_enabled(struct zpci_dev *zdev)
|
||||||
}
|
}
|
||||||
|
|
||||||
extern const struct attribute_group *zpci_attr_groups[];
|
extern const struct attribute_group *zpci_attr_groups[];
|
||||||
|
extern unsigned int s390_pci_force_floating __initdata;
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
Prototypes
|
Prototypes
|
||||||
|
|
|
@ -741,6 +741,7 @@ static void zpci_mem_exit(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int s390_pci_probe __initdata = 1;
|
static unsigned int s390_pci_probe __initdata = 1;
|
||||||
|
unsigned int s390_pci_force_floating __initdata;
|
||||||
static unsigned int s390_pci_initialized;
|
static unsigned int s390_pci_initialized;
|
||||||
|
|
||||||
char * __init pcibios_setup(char *str)
|
char * __init pcibios_setup(char *str)
|
||||||
|
@ -749,6 +750,10 @@ char * __init pcibios_setup(char *str)
|
||||||
s390_pci_probe = 0;
|
s390_pci_probe = 0;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
if (!strcmp(str, "force_floating")) {
|
||||||
|
s390_pci_force_floating = 1;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -433,6 +433,9 @@ int __init zpci_irq_init(void)
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
irq_delivery = sclp.has_dirq ? DIRECTED : FLOATING;
|
irq_delivery = sclp.has_dirq ? DIRECTED : FLOATING;
|
||||||
|
if (s390_pci_force_floating)
|
||||||
|
irq_delivery = FLOATING;
|
||||||
|
|
||||||
if (irq_delivery == DIRECTED)
|
if (irq_delivery == DIRECTED)
|
||||||
zpci_airq.handler = zpci_directed_irq_handler;
|
zpci_airq.handler = zpci_directed_irq_handler;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue