Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fbfe07d4 authored by Sebastian Ott's avatar Sebastian Ott Committed by Martin Schwidefsky
Browse files

s390/pci: add parameter to force floating irqs



Provide a kernel parameter to force the usage of floating interrupts.

Signed-off-by: default avatarSebastian Ott <sebott@linux.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 07e3ec3a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3394,6 +3394,7 @@
				bridges without forcing it upstream. Note:
				this removes isolation between devices and
				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
			Management.
+1 −0
Original line number Diff line number Diff line
@@ -163,6 +163,7 @@ static inline bool zdev_enabled(struct zpci_dev *zdev)
}

extern const struct attribute_group *zpci_attr_groups[];
extern unsigned int s390_pci_force_floating __initdata;

/* -----------------------------------------------------------------------------
  Prototypes
+5 −0
Original line number Diff line number Diff line
@@ -741,6 +741,7 @@ static void zpci_mem_exit(void)
}

static unsigned int s390_pci_probe __initdata = 1;
unsigned int s390_pci_force_floating __initdata;
static unsigned int s390_pci_initialized;

char * __init pcibios_setup(char *str)
@@ -749,6 +750,10 @@ char * __init pcibios_setup(char *str)
		s390_pci_probe = 0;
		return NULL;
	}
	if (!strcmp(str, "force_floating")) {
		s390_pci_force_floating = 1;
		return NULL;
	}
	return str;
}

+3 −0
Original line number Diff line number Diff line
@@ -433,6 +433,9 @@ int __init zpci_irq_init(void)
	int rc;

	irq_delivery = sclp.has_dirq ? DIRECTED : FLOATING;
	if (s390_pci_force_floating)
		irq_delivery = FLOATING;

	if (irq_delivery == DIRECTED)
		zpci_airq.handler = zpci_directed_irq_handler;