dmaengine: dw-edma: Add HDMA NATIVE map check
authorDevendra K Verma <devverma@amd.com>
Tue, 13 May 2025 07:03:14 +0000 (12:33 +0530)
committerVinod Koul <vkoul@kernel.org>
Wed, 14 May 2025 13:45:36 +0000 (14:45 +0100)
The HDMA IP supports the HDMA_NATIVE map format as part of Vendor-Specific
Extended Capability. Added the check for HDMA_NATIVE map format.
The check for map format enables the IP specific function invocation
during the DMA ops.

Signed-off-by: Devendra K Verma <devverma@amd.com>
Link: https://lore.kernel.org/r/20250513070314.577823-1-devverma@amd.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dw-edma/dw-edma-pcie.c

index 1c6043751dc92548164d5fd99c0c8f61f642f489..49f09998e5c0ddffa3311a20ef78ebddc819a8b1 100644 (file)
@@ -136,7 +136,8 @@ static void dw_edma_pcie_get_vsec_dma_data(struct pci_dev *pdev,
        map = FIELD_GET(DW_PCIE_VSEC_DMA_MAP, val);
        if (map != EDMA_MF_EDMA_LEGACY &&
            map != EDMA_MF_EDMA_UNROLL &&
-           map != EDMA_MF_HDMA_COMPAT)
+           map != EDMA_MF_HDMA_COMPAT &&
+           map != EDMA_MF_HDMA_NATIVE)
                return;
 
        pdata->mf = map;
@@ -291,6 +292,8 @@ static int dw_edma_pcie_probe(struct pci_dev *pdev,
                pci_dbg(pdev, "Version:\teDMA Unroll (0x%x)\n", chip->mf);
        else if (chip->mf == EDMA_MF_HDMA_COMPAT)
                pci_dbg(pdev, "Version:\tHDMA Compatible (0x%x)\n", chip->mf);
+       else if (chip->mf == EDMA_MF_HDMA_NATIVE)
+               pci_dbg(pdev, "Version:\tHDMA Native (0x%x)\n", chip->mf);
        else
                pci_dbg(pdev, "Version:\tUnknown (0x%x)\n", chip->mf);