Browse Source

qcacmn: use dma_set_mask and dma_set_coherent_mask

In kernel 5.18, pci-dma-compat.h is removed and so instead of
calling pci_set_dma_mask and pci_set_consistent_dma_mask, call
dma_set_mask and dma_set_coherent_mask.

Change-Id: I997fc8ec957d19aa8d51c304541ce699b835c1dd
CRs-Fixed: 3298244
Rajesh Chauhan 2 years ago
parent
commit
788ee58105
1 changed files with 29 additions and 5 deletions
  1. 29 5
      hif/src/pcie/if_pci.c

+ 29 - 5
hif/src/pcie/if_pci.c

@@ -1798,6 +1798,30 @@ void hif_pci_close(struct hif_softc *hif_sc)
 
 #define BAR_NUM 0
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0))
+static inline int hif_pci_set_dma_mask(struct pci_dev *pci_dev, u64 mask)
+{
+	return dma_set_mask(&pci_dev->dev, mask);
+}
+
+static inline int hif_pci_set_coherent_dma_mask(struct pci_dev *pci_dev,
+						u64 mask)
+{
+	return dma_set_coherent_mask(&pci_dev->dev, mask);
+}
+#else /* (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)) */
+static inline int hif_pci_set_dma_mask(struct pci_dev *pci_dev, u64 mask)
+{
+	return pci_set_dma_mask(pci_dev, mask);
+}
+
+static inline int hif_pci_set_coherent_dma_mask(struct pci_dev *pci_dev,
+						u64 mask)
+{
+	return pci_set_consistent_dma_mask(pci_dev, mask);
+}
+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)) */
+
 static int hif_enable_pci_nopld(struct hif_pci_softc *sc,
 				struct pci_dev *pdev,
 				const struct pci_device_id *id)
@@ -1842,25 +1866,25 @@ static int hif_enable_pci_nopld(struct hif_pci_softc *sc,
 	/* if CONFIG_ARM_LPAE is enabled, we have to set 64 bits mask
 	 * for 32 bits device also.
 	 */
-	ret =  pci_set_dma_mask(pdev, DMA_BIT_MASK(64));
+	ret =  hif_pci_set_dma_mask(pdev, DMA_BIT_MASK(64));
 	if (ret) {
 		hif_err("Cannot enable 64-bit pci DMA");
 		goto err_dma;
 	}
-	ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
+	ret = hif_pci_set_coherent_dma_mask(pdev, DMA_BIT_MASK(64));
 	if (ret) {
 		hif_err("Cannot enable 64-bit DMA");
 		goto err_dma;
 	}
 #else
-	ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
+	ret = hif_pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
 	if (ret) {
 		hif_err("Cannot enable 32-bit pci DMA");
 		goto err_dma;
 	}
-	ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
+	ret = hif_pci_set_coherent_dma_mask(pdev, DMA_BIT_MASK(32));
 	if (ret) {
-		hif_err("Cannot enable 32-bit consistent DMA!");
+		hif_err("Cannot enable 32-bit coherent DMA!");
 		goto err_dma;
 	}
 #endif