aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2017-11-14 13:11:31 -0500
committerBjorn Helgaas <bhelgaas@google.com>2017-11-14 13:11:31 -0500
commit85a8cf8ebdedc6300c52a1c8f416dc670ab4df6f (patch)
tree3d09aa47fd5688a40e4436a3dd5af1dafda43fcf
parent22111ff4d728572da485430a061fc878622e8566 (diff)
parent79aa801e899417a56863d6713f76c4e108856000 (diff)
Merge branch 'pci/host-hv' into next
* pci/host-hv: PCI: hv: Use effective affinity mask
-rw-r--r--drivers/pci/host/pci-hyperv.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/pci/host/pci-hyperv.c b/drivers/pci/host/pci-hyperv.c
index 0fe3ea164ee5..04dac6a42c9f 100644
--- a/drivers/pci/host/pci-hyperv.c
+++ b/drivers/pci/host/pci-hyperv.c
@@ -879,7 +879,7 @@ static void hv_irq_unmask(struct irq_data *data)
879 int cpu; 879 int cpu;
880 u64 res; 880 u64 res;
881 881
882 dest = irq_data_get_affinity_mask(data); 882 dest = irq_data_get_effective_affinity_mask(data);
883 pdev = msi_desc_to_pci_dev(msi_desc); 883 pdev = msi_desc_to_pci_dev(msi_desc);
884 pbus = pdev->bus; 884 pbus = pdev->bus;
885 hbus = container_of(pbus->sysdata, struct hv_pcibus_device, sysdata); 885 hbus = container_of(pbus->sysdata, struct hv_pcibus_device, sysdata);
@@ -1042,6 +1042,7 @@ static void hv_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
1042 struct hv_pci_dev *hpdev; 1042 struct hv_pci_dev *hpdev;
1043 struct pci_bus *pbus; 1043 struct pci_bus *pbus;
1044 struct pci_dev *pdev; 1044 struct pci_dev *pdev;
1045 struct cpumask *dest;
1045 struct compose_comp_ctxt comp; 1046 struct compose_comp_ctxt comp;
1046 struct tran_int_desc *int_desc; 1047 struct tran_int_desc *int_desc;
1047 struct { 1048 struct {
@@ -1056,6 +1057,7 @@ static void hv_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
1056 int ret; 1057 int ret;
1057 1058
1058 pdev = msi_desc_to_pci_dev(irq_data_get_msi_desc(data)); 1059 pdev = msi_desc_to_pci_dev(irq_data_get_msi_desc(data));
1060 dest = irq_data_get_effective_affinity_mask(data);
1059 pbus = pdev->bus; 1061 pbus = pdev->bus;
1060 hbus = container_of(pbus->sysdata, struct hv_pcibus_device, sysdata); 1062 hbus = container_of(pbus->sysdata, struct hv_pcibus_device, sysdata);
1061 hpdev = get_pcichild_wslot(hbus, devfn_to_wslot(pdev->devfn)); 1063 hpdev = get_pcichild_wslot(hbus, devfn_to_wslot(pdev->devfn));
@@ -1081,14 +1083,14 @@ static void hv_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
1081 switch (pci_protocol_version) { 1083 switch (pci_protocol_version) {
1082 case PCI_PROTOCOL_VERSION_1_1: 1084 case PCI_PROTOCOL_VERSION_1_1:
1083 size = hv_compose_msi_req_v1(&ctxt.int_pkts.v1, 1085 size = hv_compose_msi_req_v1(&ctxt.int_pkts.v1,
1084 irq_data_get_affinity_mask(data), 1086 dest,
1085 hpdev->desc.win_slot.slot, 1087 hpdev->desc.win_slot.slot,
1086 cfg->vector); 1088 cfg->vector);
1087 break; 1089 break;
1088 1090
1089 case PCI_PROTOCOL_VERSION_1_2: 1091 case PCI_PROTOCOL_VERSION_1_2:
1090 size = hv_compose_msi_req_v2(&ctxt.int_pkts.v2, 1092 size = hv_compose_msi_req_v2(&ctxt.int_pkts.v2,
1091 irq_data_get_affinity_mask(data), 1093 dest,
1092 hpdev->desc.win_slot.slot, 1094 hpdev->desc.win_slot.slot,
1093 cfg->vector); 1095 cfg->vector);
1094 break; 1096 break;