浏览代码

qcacmn: Remove affinity hint for CE irqs in QCA6750 target

CE irqs affinity is set to gold cores, but affinity
hint is not removed while freeing irqs.

So remove CE irq affinity before freeing them.

Change-Id: If3822422f823cb3caa6e291387a2beadc62049b7
CRs-Fixed: 2975529
Karthik Kantamneni 4 年之前
父节点
当前提交
292e767c1e
共有 3 个文件被更改,包括 6 次插入4 次删除
  1. 3 3
      hif/src/hif_exec.h
  2. 2 0
      hif/src/ipcie/if_ipci.c
  3. 1 1
      hif/src/pcie/if_pci.c

+ 3 - 3
hif/src/hif_exec.h

@@ -186,10 +186,10 @@ void hif_pci_ce_irq_set_affinity_hint(
 	struct hif_softc *scn);
 
 /**
- * hif_pci_ce_irq_remove_affinity_hint() - remove affinity for the irq
+ * hif_ce_irq_remove_affinity_hint() - remove affinity for the irq
  * @irq: irq number to remove affinity from
  */
-static inline void hif_pci_ce_irq_remove_affinity_hint(int irq)
+static inline void hif_ce_irq_remove_affinity_hint(int irq)
 {
 	hif_irq_affinity_remove(irq);
 }
@@ -204,7 +204,7 @@ static inline void hif_pci_ce_irq_set_affinity_hint(
 {
 }
 
-static inline void hif_pci_ce_irq_remove_affinity_hint(int irq)
+static inline void hif_ce_irq_remove_affinity_hint(int irq)
 {
 }
 #endif /* ifdef HIF_CPU_PERF_AFFINE_MASK */

+ 2 - 0
hif/src/ipcie/if_ipci.c

@@ -210,6 +210,8 @@ static int hif_ce_srng_msi_free_irq(struct hif_softc *scn)
 		msi_data = (ce_id % msi_data_count) + msi_irq_start;
 		irq = pld_get_msi_irq(scn->qdf_dev->dev, msi_data);
 
+		hif_ce_irq_remove_affinity_hint(irq);
+
 		hif_debug("%s: (ce_id %d, msi_data %d, irq %d)", __func__,
 			  ce_id, msi_data, irq);
 

+ 1 - 1
hif/src/pcie/if_pci.c

@@ -1995,7 +1995,7 @@ static int hif_ce_srng_msi_free_irq(struct hif_softc *scn)
 		msi_data = irq_id + msi_irq_start;
 		irq = pld_get_msi_irq(scn->qdf_dev->dev, msi_data);
 
-		hif_pci_ce_irq_remove_affinity_hint(irq);
+		hif_ce_irq_remove_affinity_hint(irq);
 
 		hif_debug("%s: (ce_id %d, irq_id %d, msi_data %d, irq %d)",
 			  __func__, irq_id, ce_id, msi_data, irq);