svn commit: r368408 - head/stand/kshim
Hans Petter Selasky
hselasky at FreeBSD.org
Mon Dec 7 10:51:20 UTC 2020
Author: hselasky
Date: Mon Dec 7 10:51:19 2020
New Revision: 368408
URL: https://svnweb.freebsd.org/changeset/base/368408
Log:
Add missing busdma prototypes for load and unload and implement dummy sync
function for kernel bootloader shim code.
MFC after: 1 week
Sponsored by: Mellanox Technologies // NVIDIA Networking
Modified:
head/stand/kshim/bsd_kernel.c
head/stand/kshim/bsd_kernel.h
Modified: head/stand/kshim/bsd_kernel.c
==============================================================================
--- head/stand/kshim/bsd_kernel.c Mon Dec 7 10:21:01 2020 (r368407)
+++ head/stand/kshim/bsd_kernel.c Mon Dec 7 10:51:19 2020 (r368408)
@@ -92,6 +92,13 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map,
}
void
+bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, int flags)
+{
+ /* Assuming coherent memory */
+ __asm__ __volatile__("": : :"memory");
+}
+
+void
bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map)
{
Modified: head/stand/kshim/bsd_kernel.h
==============================================================================
--- head/stand/kshim/bsd_kernel.h Mon Dec 7 10:21:01 2020 (r368407)
+++ head/stand/kshim/bsd_kernel.h Mon Dec 7 10:51:19 2020 (r368408)
@@ -669,6 +669,11 @@ extern int delay(unsigned int);
#define BUS_DMA_BUS3 0x40
#define BUS_DMA_BUS4 0x80
+#define BUS_DMASYNC_PREREAD 0x01
+#define BUS_DMASYNC_POSTREAD 0x02
+#define BUS_DMASYNC_PREWRITE 0x04
+#define BUS_DMASYNC_POSTWRITE 0x08
+
typedef void bus_dmamap_callback_t(void *, bus_dma_segment_t *, int, int);
int
@@ -679,9 +684,14 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t al
bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc,
void *lockfuncarg, bus_dma_tag_t *dmat);
-int bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags,
- bus_dmamap_t *mapp);
-void bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map);
-int bus_dma_tag_destroy(bus_dma_tag_t dmat);
+int bus_dmamem_alloc(bus_dma_tag_t, void** vaddr, int flags, bus_dmamap_t *);
+void bus_dmamem_free(bus_dma_tag_t, void *vaddr, bus_dmamap_t);
+int bus_dma_tag_destroy(bus_dma_tag_t);
+
+int bus_dmamap_load(bus_dma_tag_t, bus_dmamap_t, void *buf,
+ bus_size_t buflen, bus_dmamap_callback_t *,
+ void *callback_arg, int flags);
+void bus_dmamap_unload(bus_dma_tag_t, bus_dmamap_t);
+void bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, int flags);
#endif /* _BSD_KERNEL_H_ */
More information about the svn-src-all
mailing list