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

Commit 8b47004a authored by Robert Elliott's avatar Robert Elliott Committed by James Bottomley
Browse files

hpsa: add interrupt number to /proc/interrupts interrupt name



Add the interrupt number to the interrupt names that
appear in /proc/interrupts, so they are unique

Also, delete the IRQ and DAC prints.  Other parts of the kernel
already print the IRQ assignments, and dual-address-cycle support
has not been interesting since the parallel PCI bus went from
32 to 64 bits wide.

Reviewed-by: default avatarScott Teel <scott.teel@pmcs.com>
Reviewed-by: default avatarKevin Barnett <kevin.barnett@pmcs.com>
Reviewed-by: default avatarTomas Henzl <thenzl@redhat.com>
Reviewed-by: default avatarHannes Reinecke <hare@Suse.de>
Signed-off-by: default avatarRobert Elliott <elliott@hp.com>
Signed-off-by: default avatarDon Brace <don.brace@pmcs.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJames Bottomley <JBottomley@Odin.com>
parent 2efa5929
Loading
Loading
Loading
Loading
+14 −6
Original line number Diff line number Diff line
@@ -7291,8 +7291,9 @@ static int hpsa_request_irqs(struct ctlr_info *h,
	if (h->intr_mode == PERF_MODE_INT && h->msix_vector > 0) {
		/* If performant mode and MSI-X, use multiple reply queues */
		for (i = 0; i < h->msix_vector; i++) {
			sprintf(h->intrname[i], "%s-msix%d", h->devname, i);
			rc = request_irq(h->intr[i], msixhandler,
					0, h->devname,
					0, h->intrname[i],
					&h->q[i]);
			if (rc) {
				int j;
@@ -7313,12 +7314,22 @@ static int hpsa_request_irqs(struct ctlr_info *h,
	} else {
		/* Use single reply pool */
		if (h->msix_vector > 0 || h->msi_vector) {
			if (h->msix_vector)
				sprintf(h->intrname[h->intr_mode],
					"%s-msix", h->devname);
			else
				sprintf(h->intrname[h->intr_mode],
					"%s-msi", h->devname);
			rc = request_irq(h->intr[h->intr_mode],
				msixhandler, 0, h->devname,
				msixhandler, 0,
				h->intrname[h->intr_mode],
				&h->q[h->intr_mode]);
		} else {
			sprintf(h->intrname[h->intr_mode],
				"%s-intx", h->devname);
			rc = request_irq(h->intr[h->intr_mode],
				intxhandler, IRQF_SHARED, h->devname,
				intxhandler, IRQF_SHARED,
				h->intrname[h->intr_mode],
				&h->q[h->intr_mode]);
		}
		irq_set_affinity_hint(h->intr[h->intr_mode], NULL);
@@ -7711,9 +7722,6 @@ static int hpsa_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
	rc = hpsa_request_irqs(h, do_hpsa_intr_msi, do_hpsa_intr_intx);
	if (rc)
		goto clean3;	/* pci, lockup, aer/h */
	dev_info(&pdev->dev, "%s: <0x%x> at IRQ %d%s using DAC\n",
	       h->devname, pdev->device,
	       h->intr[h->intr_mode], dac ? "" : " not");
	rc = hpsa_alloc_cmd_pool(h);
	if (rc)
		goto clean4;	/* irq, pci, lockup, aer/h */
+1 −0
Original line number Diff line number Diff line
@@ -220,6 +220,7 @@ struct ctlr_info {
	int remove_in_progress;
	/* Address of h->q[x] is passed to intr handler to know which queue */
	u8 q[MAX_REPLY_QUEUES];
	char intrname[MAX_REPLY_QUEUES][16];	/* "hpsa0-msix00" names */
	u32 TMFSupportFlags; /* cache what task mgmt funcs are supported. */
#define HPSATMF_BITS_SUPPORTED  (1 << 0)
#define HPSATMF_PHYS_LUN_RESET  (1 << 1)