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_ */
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to