Browse Source

qcacmn: Changes for QCN7605(Genoa) bringup

1. Add QCN7605 device id for PCIe
2. Enable PLD implementation for QCN7605.
3. Add enable/disable msi interrupt implementation for
   legacy CE.

Change-Id: I8ae8a230bbd7d2d521ad11c0602e32171440ffc8
CRs-Fixed: 2317211
Nirav Shah 6 years ago
parent
commit
59b6c45fbc
3 changed files with 9 additions and 2 deletions
  1. 1 0
      hif/src/hif_main.c
  2. 1 0
      hif/src/hif_main.h
  3. 7 2
      hif/src/pcie/if_pci.c

+ 1 - 0
hif/src/hif_main.c

@@ -812,6 +812,7 @@ int hif_get_device_type(uint32_t device_id,
 		HIF_INFO(" *********** QCA6290EMU *************\n");
 		break;
 
+	case QCN7605_DEVICE_ID:
 	case QCN7605_COMPOSITE:
 	case QCN7605_STANDALONE:
 		*hif_type = HIF_TYPE_QCN7605;

+ 1 - 0
hif/src/hif_main.h

@@ -96,6 +96,7 @@
 					emulation purpose */
 #define QCA8074V2_DEVICE_ID (0xfffe) /* Todo: replace this with actual number */
 /* Genoa */
+#define QCN7605_DEVICE_ID  (0x1102) /* Genoa PCIe device ID*/
 #define QCN7605_COMPOSITE  (0x9900)
 #define QCN7605_STANDALONE  (0x9901)
 

+ 7 - 2
hif/src/pcie/if_pci.c

@@ -3343,10 +3343,14 @@ static void hif_ce_srng_msi_irq_enable(struct hif_softc *hif_sc, int ce_id)
 }
 
 static void hif_ce_legacy_msi_irq_disable(struct hif_softc *hif_sc, int ce_id)
-{}
+{
+	disable_irq_nosync(hif_ce_msi_map_ce_to_irq(hif_sc, ce_id));
+}
 
 static void hif_ce_legacy_msi_irq_enable(struct hif_softc *hif_sc, int ce_id)
-{}
+{
+	enable_irq(hif_ce_msi_map_ce_to_irq(hif_sc, ce_id));
+}
 
 static int hif_ce_msi_configure_irq(struct hif_softc *scn)
 {
@@ -3647,6 +3651,7 @@ static bool hif_is_pld_based_target(int device_id)
 	case QCA6390_DEVICE_ID:
 #endif
 	case AR6320_DEVICE_ID:
+	case QCN7605_DEVICE_ID:
 		return true;
 	}
 	return false;