]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
can: kvaser_pciefd: Enable 64-bit DMA addressing
authorMartin Jocic <martin.jocic@kvaser.com>
Mon, 9 Sep 2024 11:35:12 +0000 (13:35 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 12 Sep 2024 07:40:09 +0000 (09:40 +0200)
Enabling 64-bit addressing for DMA buffers will prevent issues
on some memory constrained platforms like e.g. Raspberry Pi 5,
where the driver won't load because it cannot allocate enough
continuous memory in the default 32-bit memory address range.

Signed-off-by: Martin Jocic <martin.jocic@kvaser.com>
Link: https://patch.msgid.link/d7340f78e3db305bfeeb8229d2dd1c9077e10b92.1725875278.git.martin.jocic@kvaser.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/kvaser_pciefd.c

index 9ffc3ffb4e8f8f1a907b1e18f7bb5307bb8ba0b8..f86c9671a03a50e90826b57991545bcf780fc2d1 100644 (file)
@@ -1104,6 +1104,9 @@ static int kvaser_pciefd_setup_dma(struct kvaser_pciefd *pcie)
 
        /* Disable the DMA */
        iowrite32(0, KVASER_PCIEFD_SRB_ADDR(pcie) + KVASER_PCIEFD_SRB_CTRL_REG);
+
+       dma_set_mask_and_coherent(&pcie->pci->dev, DMA_BIT_MASK(64));
+
        for (i = 0; i < KVASER_PCIEFD_DMA_COUNT; i++) {
                pcie->dma_data[i] = dmam_alloc_coherent(&pcie->pci->dev,
                                                        KVASER_PCIEFD_DMA_SIZE,