Skip to content

Commit f045bc6

Browse files
committed
Merge branch 'pci/controller/affinity'
- Add MSI_FLAG_NO_AFFINITY flag for devices that mux MSIs onto a single IRQ line and cannot set the affinity of each MSI to a specific CPU core (Marek Vasut) - Use MSI_FLAG_NO_AFFINITY and remove unnecessary .irq_set_affinity() implementations in aardvark, altera, brcmstb, dwc, mediatek-gen3, mediatek, mobiveil, plda, rcar, tegra, vmd, xilinx-nwl, xilinx-xdma, and xilinx drivers to avoid "IRQ: set affinity failed" warnings (Marek Vasut) * pci/controller/affinity: PCI: xilinx: Silence 'set affinity failed' warning PCI: xilinx-xdma: Silence 'set affinity failed' warning PCI: xilinx-nwl: Silence 'set affinity failed' warning PCI: vmd: Silence 'set affinity failed' warning PCI: tegra: Silence 'set affinity failed' warning PCI: rcar-host: Silence 'set affinity failed' warning PCI: plda: Silence 'set affinity failed' warning PCI: mobiveil: Silence 'set affinity failed' warning PCI: mediatek: Silence 'set affinity failed' warning PCI: mediatek-gen3: Silence 'set affinity failed' warning PCI: dwc: Silence 'set affinity failed' warning PCI: brcmstb: Silence 'set affinity failed' warning PCI: altera-msi: Silence 'set affinity failed' warning PCI: aardvark: Silence 'set affinity failed' warning genirq/msi: Silence 'set affinity failed' warning
2 parents 94d6a3a + abd9b9d commit f045bc6

17 files changed

Lines changed: 32 additions & 133 deletions

drivers/pci/controller/dwc/pci-keystone.c

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,6 @@ static void ks_pcie_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
189189
(int)data->hwirq, msg->address_hi, msg->address_lo);
190190
}
191191

192-
static int ks_pcie_msi_set_affinity(struct irq_data *irq_data,
193-
const struct cpumask *mask, bool force)
194-
{
195-
return -EINVAL;
196-
}
197-
198192
static void ks_pcie_msi_mask(struct irq_data *data)
199193
{
200194
struct dw_pcie_rp *pp = irq_data_get_irq_chip_data(data);
@@ -247,7 +241,6 @@ static struct irq_chip ks_pcie_msi_irq_chip = {
247241
.name = "KEYSTONE-PCI-MSI",
248242
.irq_ack = ks_pcie_msi_irq_ack,
249243
.irq_compose_msi_msg = ks_pcie_compose_msi_msg,
250-
.irq_set_affinity = ks_pcie_msi_set_affinity,
251244
.irq_mask = ks_pcie_msi_mask,
252245
.irq_unmask = ks_pcie_msi_unmask,
253246
};

drivers/pci/controller/dwc/pcie-designware-host.c

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ static struct irq_chip dw_pcie_msi_irq_chip = {
4848
};
4949

5050
static struct msi_domain_info dw_pcie_msi_domain_info = {
51-
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
52-
MSI_FLAG_PCI_MSIX | MSI_FLAG_MULTI_PCI_MSI),
51+
.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
52+
MSI_FLAG_NO_AFFINITY | MSI_FLAG_PCI_MSIX |
53+
MSI_FLAG_MULTI_PCI_MSI,
5354
.chip = &dw_pcie_msi_irq_chip,
5455
};
5556

@@ -116,12 +117,6 @@ static void dw_pci_setup_msi_msg(struct irq_data *d, struct msi_msg *msg)
116117
(int)d->hwirq, msg->address_hi, msg->address_lo);
117118
}
118119

119-
static int dw_pci_msi_set_affinity(struct irq_data *d,
120-
const struct cpumask *mask, bool force)
121-
{
122-
return -EINVAL;
123-
}
124-
125120
static void dw_pci_bottom_mask(struct irq_data *d)
126121
{
127122
struct dw_pcie_rp *pp = irq_data_get_irq_chip_data(d);
@@ -177,7 +172,6 @@ static struct irq_chip dw_pci_msi_bottom_irq_chip = {
177172
.name = "DWPCI-MSI",
178173
.irq_ack = dw_pci_bottom_ack,
179174
.irq_compose_msi_msg = dw_pci_setup_msi_msg,
180-
.irq_set_affinity = dw_pci_msi_set_affinity,
181175
.irq_mask = dw_pci_bottom_mask,
182176
.irq_unmask = dw_pci_bottom_unmask,
183177
};

drivers/pci/controller/mobiveil/pcie-mobiveil-host.c

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -360,8 +360,8 @@ static struct irq_chip mobiveil_msi_irq_chip = {
360360
};
361361

362362
static struct msi_domain_info mobiveil_msi_domain_info = {
363-
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
364-
MSI_FLAG_PCI_MSIX),
363+
.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
364+
MSI_FLAG_NO_AFFINITY | MSI_FLAG_PCI_MSIX,
365365
.chip = &mobiveil_msi_irq_chip,
366366
};
367367

@@ -378,16 +378,9 @@ static void mobiveil_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
378378
(int)data->hwirq, msg->address_hi, msg->address_lo);
379379
}
380380

381-
static int mobiveil_msi_set_affinity(struct irq_data *irq_data,
382-
const struct cpumask *mask, bool force)
383-
{
384-
return -EINVAL;
385-
}
386-
387381
static struct irq_chip mobiveil_msi_bottom_irq_chip = {
388382
.name = "Mobiveil MSI",
389383
.irq_compose_msi_msg = mobiveil_compose_msi_msg,
390-
.irq_set_affinity = mobiveil_msi_set_affinity,
391384
};
392385

393386
static int mobiveil_irq_msi_domain_alloc(struct irq_domain *domain,

drivers/pci/controller/pci-aardvark.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1304,12 +1304,6 @@ static void advk_msi_irq_compose_msi_msg(struct irq_data *data,
13041304
msg->data = data->hwirq;
13051305
}
13061306

1307-
static int advk_msi_set_affinity(struct irq_data *irq_data,
1308-
const struct cpumask *mask, bool force)
1309-
{
1310-
return -EINVAL;
1311-
}
1312-
13131307
static void advk_msi_irq_mask(struct irq_data *d)
13141308
{
13151309
struct advk_pcie *pcie = d->domain->host_data;
@@ -1353,7 +1347,6 @@ static void advk_msi_top_irq_unmask(struct irq_data *d)
13531347
static struct irq_chip advk_msi_bottom_irq_chip = {
13541348
.name = "MSI",
13551349
.irq_compose_msi_msg = advk_msi_irq_compose_msi_msg,
1356-
.irq_set_affinity = advk_msi_set_affinity,
13571350
.irq_mask = advk_msi_irq_mask,
13581351
.irq_unmask = advk_msi_irq_unmask,
13591352
};
@@ -1451,7 +1444,8 @@ static struct irq_chip advk_msi_irq_chip = {
14511444

14521445
static struct msi_domain_info advk_msi_domain_info = {
14531446
.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
1454-
MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX,
1447+
MSI_FLAG_NO_AFFINITY | MSI_FLAG_MULTI_PCI_MSI |
1448+
MSI_FLAG_PCI_MSIX,
14551449
.chip = &advk_msi_irq_chip,
14561450
};
14571451

drivers/pci/controller/pci-tegra.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1629,11 +1629,6 @@ static void tegra_msi_irq_unmask(struct irq_data *d)
16291629
spin_unlock_irqrestore(&msi->mask_lock, flags);
16301630
}
16311631

1632-
static int tegra_msi_set_affinity(struct irq_data *d, const struct cpumask *mask, bool force)
1633-
{
1634-
return -EINVAL;
1635-
}
1636-
16371632
static void tegra_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
16381633
{
16391634
struct tegra_msi *msi = irq_data_get_irq_chip_data(data);
@@ -1648,7 +1643,6 @@ static struct irq_chip tegra_msi_bottom_chip = {
16481643
.irq_ack = tegra_msi_irq_ack,
16491644
.irq_mask = tegra_msi_irq_mask,
16501645
.irq_unmask = tegra_msi_irq_unmask,
1651-
.irq_set_affinity = tegra_msi_set_affinity,
16521646
.irq_compose_msi_msg = tegra_compose_msi_msg,
16531647
};
16541648

@@ -1697,8 +1691,8 @@ static const struct irq_domain_ops tegra_msi_domain_ops = {
16971691
};
16981692

16991693
static struct msi_domain_info tegra_msi_info = {
1700-
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
1701-
MSI_FLAG_PCI_MSIX),
1694+
.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
1695+
MSI_FLAG_NO_AFFINITY | MSI_FLAG_PCI_MSIX,
17021696
.chip = &tegra_msi_top_chip,
17031697
};
17041698

drivers/pci/controller/pcie-altera-msi.c

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ static struct irq_chip altera_msi_irq_chip = {
8181
};
8282

8383
static struct msi_domain_info altera_msi_domain_info = {
84-
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
85-
MSI_FLAG_PCI_MSIX),
84+
.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
85+
MSI_FLAG_NO_AFFINITY | MSI_FLAG_PCI_MSIX,
8686
.chip = &altera_msi_irq_chip,
8787
};
8888

@@ -99,16 +99,9 @@ static void altera_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
9999
(int)data->hwirq, msg->address_hi, msg->address_lo);
100100
}
101101

102-
static int altera_msi_set_affinity(struct irq_data *irq_data,
103-
const struct cpumask *mask, bool force)
104-
{
105-
return -EINVAL;
106-
}
107-
108102
static struct irq_chip altera_msi_bottom_irq_chip = {
109103
.name = "Altera MSI",
110104
.irq_compose_msi_msg = altera_compose_msi_msg,
111-
.irq_set_affinity = altera_msi_set_affinity,
112105
};
113106

114107
static int altera_irq_domain_alloc(struct irq_domain *domain, unsigned int virq,

drivers/pci/controller/pcie-brcmstb.c

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -445,8 +445,8 @@ static struct irq_chip brcm_msi_irq_chip = {
445445
};
446446

447447
static struct msi_domain_info brcm_msi_domain_info = {
448-
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
449-
MSI_FLAG_MULTI_PCI_MSI),
448+
.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
449+
MSI_FLAG_NO_AFFINITY | MSI_FLAG_MULTI_PCI_MSI,
450450
.chip = &brcm_msi_irq_chip,
451451
};
452452

@@ -484,12 +484,6 @@ static void brcm_msi_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
484484
msg->data = (0xffff & PCIE_MISC_MSI_DATA_CONFIG_VAL_32) | data->hwirq;
485485
}
486486

487-
static int brcm_msi_set_affinity(struct irq_data *irq_data,
488-
const struct cpumask *mask, bool force)
489-
{
490-
return -EINVAL;
491-
}
492-
493487
static void brcm_msi_ack_irq(struct irq_data *data)
494488
{
495489
struct brcm_msi *msi = irq_data_get_irq_chip_data(data);
@@ -502,7 +496,6 @@ static void brcm_msi_ack_irq(struct irq_data *data)
502496
static struct irq_chip brcm_msi_bottom_irq_chip = {
503497
.name = "BRCM STB MSI",
504498
.irq_compose_msi_msg = brcm_msi_compose_msi_msg,
505-
.irq_set_affinity = brcm_msi_set_affinity,
506499
.irq_ack = brcm_msi_ack_irq,
507500
};
508501

drivers/pci/controller/pcie-mediatek-gen3.c

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -424,12 +424,6 @@ static int mtk_pcie_startup_port(struct mtk_gen3_pcie *pcie)
424424
return 0;
425425
}
426426

427-
static int mtk_pcie_set_affinity(struct irq_data *data,
428-
const struct cpumask *mask, bool force)
429-
{
430-
return -EINVAL;
431-
}
432-
433427
static void mtk_pcie_msi_irq_mask(struct irq_data *data)
434428
{
435429
pci_msi_mask_irq(data);
@@ -450,8 +444,9 @@ static struct irq_chip mtk_msi_irq_chip = {
450444
};
451445

452446
static struct msi_domain_info mtk_msi_domain_info = {
453-
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
454-
MSI_FLAG_PCI_MSIX | MSI_FLAG_MULTI_PCI_MSI),
447+
.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
448+
MSI_FLAG_NO_AFFINITY | MSI_FLAG_PCI_MSIX |
449+
MSI_FLAG_MULTI_PCI_MSI,
455450
.chip = &mtk_msi_irq_chip,
456451
};
457452

@@ -517,7 +512,6 @@ static struct irq_chip mtk_msi_bottom_irq_chip = {
517512
.irq_mask = mtk_msi_bottom_irq_mask,
518513
.irq_unmask = mtk_msi_bottom_irq_unmask,
519514
.irq_compose_msi_msg = mtk_compose_msi_msg,
520-
.irq_set_affinity = mtk_pcie_set_affinity,
521515
.name = "MSI",
522516
};
523517

@@ -618,7 +612,6 @@ static struct irq_chip mtk_intx_irq_chip = {
618612
.irq_mask = mtk_intx_mask,
619613
.irq_unmask = mtk_intx_unmask,
620614
.irq_eoi = mtk_intx_eoi,
621-
.irq_set_affinity = mtk_pcie_set_affinity,
622615
.name = "INTx",
623616
};
624617

drivers/pci/controller/pcie-mediatek.c

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -407,12 +407,6 @@ static void mtk_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
407407
(int)data->hwirq, msg->address_hi, msg->address_lo);
408408
}
409409

410-
static int mtk_msi_set_affinity(struct irq_data *irq_data,
411-
const struct cpumask *mask, bool force)
412-
{
413-
return -EINVAL;
414-
}
415-
416410
static void mtk_msi_ack_irq(struct irq_data *data)
417411
{
418412
struct mtk_pcie_port *port = irq_data_get_irq_chip_data(data);
@@ -424,7 +418,6 @@ static void mtk_msi_ack_irq(struct irq_data *data)
424418
static struct irq_chip mtk_msi_bottom_irq_chip = {
425419
.name = "MTK MSI",
426420
.irq_compose_msi_msg = mtk_compose_msi_msg,
427-
.irq_set_affinity = mtk_msi_set_affinity,
428421
.irq_ack = mtk_msi_ack_irq,
429422
};
430423

@@ -486,8 +479,8 @@ static struct irq_chip mtk_msi_irq_chip = {
486479
};
487480

488481
static struct msi_domain_info mtk_msi_domain_info = {
489-
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
490-
MSI_FLAG_PCI_MSIX),
482+
.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
483+
MSI_FLAG_NO_AFFINITY | MSI_FLAG_PCI_MSIX,
491484
.chip = &mtk_msi_irq_chip,
492485
};
493486

drivers/pci/controller/pcie-rcar-host.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -658,11 +658,6 @@ static void rcar_msi_irq_unmask(struct irq_data *d)
658658
spin_unlock_irqrestore(&msi->mask_lock, flags);
659659
}
660660

661-
static int rcar_msi_set_affinity(struct irq_data *d, const struct cpumask *mask, bool force)
662-
{
663-
return -EINVAL;
664-
}
665-
666661
static void rcar_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
667662
{
668663
struct rcar_msi *msi = irq_data_get_irq_chip_data(data);
@@ -678,7 +673,6 @@ static struct irq_chip rcar_msi_bottom_chip = {
678673
.irq_ack = rcar_msi_irq_ack,
679674
.irq_mask = rcar_msi_irq_mask,
680675
.irq_unmask = rcar_msi_irq_unmask,
681-
.irq_set_affinity = rcar_msi_set_affinity,
682676
.irq_compose_msi_msg = rcar_compose_msi_msg,
683677
};
684678

@@ -725,8 +719,8 @@ static const struct irq_domain_ops rcar_msi_domain_ops = {
725719
};
726720

727721
static struct msi_domain_info rcar_msi_info = {
728-
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
729-
MSI_FLAG_MULTI_PCI_MSI),
722+
.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
723+
MSI_FLAG_NO_AFFINITY | MSI_FLAG_MULTI_PCI_MSI,
730724
.chip = &rcar_msi_top_chip,
731725
};
732726

0 commit comments

Comments
 (0)