mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
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: Scott Teel <scott.teel@pmcs.com> Reviewed-by: Kevin Barnett <kevin.barnett@pmcs.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Reviewed-by: Hannes Reinecke <hare@Suse.de> Signed-off-by: Robert Elliott <elliott@hp.com> Signed-off-by: Don Brace <don.brace@pmcs.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
This commit is contained in:
parent
2efa5929cb
commit
8b47004a55
@ -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 @@ reinit_after_soft_reset:
|
||||
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 */
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user