Skip to content

support for debian 12 (kernel 6.1.0) #113

@zack-vii

Description

@zack-vii

it compiles after:

--- a/acq-fiber-hba.c
+++ b/acq-fiber-hba.c
@@ -313,7 +313,7 @@ static void init_buffers(struct AFHBA_DEV* adev)

        hb->ibuf = 0;
        hb->pa = dma_map_single(&adev->pci_dev->dev, buf,
-                       buffer_len, PCI_DMA_FROMDEVICE);
+                       buffer_len, DMA_FROM_DEVICE);
        hb->va = buf;
        hb->len = buffer_len;

diff --git a/afhba_stream_drv.c b/afhba_stream_drv.c
index 5035f2d..4f413fa 100644
--- a/afhba_stream_drv.c
+++ b/afhba_stream_drv.c
@@ -933,7 +933,7 @@ static void mark_empty(struct device *dev, struct HostBuffer *hb){
        pmark[0] = EMPTY1;
        pmark[1] = EMPTY2;

-       dma_sync_single_for_device(dev, hb->pa+offset, mark_len, PCI_DMA_FROMDEVICE);
+       dma_sync_single_for_device(dev, hb->pa+offset, mark_len, DMA_FROM_DEVICE);
 }


@@ -943,7 +943,7 @@ static int is_marked_empty(struct device *dev, struct HostBuffer *hb){
        u32 *pmark = (u32*)(hb->va + offset);
        int is_empty;

-       dma_sync_single_for_cpu(dev, hb->pa+offset, mark_len, PCI_DMA_FROMDEVICE);
+       dma_sync_single_for_cpu(dev, hb->pa+offset, mark_len, DMA_FROM_DEVICE);

        is_empty = pmark[0] == EMPTY1 && pmark[1] == EMPTY2;

@@ -1209,7 +1209,7 @@ int afs_init_buffers(struct AFHBA_DEV* adev)

                hb->ibuf = ii;
                hb->pa = dma_map_single(&adev->pci_dev->dev, buf,
-                               buffer_len, PCI_DMA_BIDIRECTIONAL);
+                               buffer_len, DMA_BIDIRECTIONAL);
                hb->va = buf;
                hb->len = buffer_len;

diff --git a/rtm-t_ioctl.h b/rtm-t_ioctl.h
index 51348cb..a6fd55e 100644
--- a/rtm-t_ioctl.h
+++ b/rtm-t_ioctl.h
@@ -31,6 +31,13 @@ typedef unsigned long long uint64_t;
 #include <linux/ioctl.h>


+#ifdef PCI_DMA_FROMDEVICE
+#define DMS_FROM_DEVICE PCI_DMA_FROMDEVICE
+#define DMS_BIDIRECTIONAL PCI_DMA_BIDIRECTIONAL
+#else
+#include <linux/dma-direction.h>
+#endif
+

may not be the final solution, though.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions