root/drivers/media/pci/cobalt/cobalt-omnitek.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  *  Omnitek Scatter-Gather DMA Controller
   4  *
   5  *  Copyright 2012-2015 Cisco Systems, Inc. and/or its affiliates.
   6  *  All rights reserved.
   7  */
   8 
   9 #ifndef COBALT_OMNITEK_H
  10 #define COBALT_OMNITEK_H
  11 
  12 #include <linux/scatterlist.h>
  13 #include "cobalt-driver.h"
  14 
  15 struct sg_dma_descriptor {
  16         u32 pci_l;
  17         u32 pci_h;
  18 
  19         u32 local;
  20         u32 reserved0;
  21 
  22         u32 next_l;
  23         u32 next_h;
  24 
  25         u32 bytes;
  26         u32 reserved1;
  27 };
  28 
  29 int omni_sg_dma_init(struct cobalt *cobalt);
  30 void omni_sg_dma_abort_channel(struct cobalt_stream *s);
  31 void omni_sg_dma_start(struct cobalt_stream *s, struct sg_dma_desc_info *desc);
  32 bool is_dma_done(struct cobalt_stream *s);
  33 
  34 int descriptor_list_create(struct cobalt *cobalt,
  35         struct scatterlist *scatter_list, bool to_pci, unsigned sglen,
  36         unsigned size, unsigned width, unsigned stride,
  37         struct sg_dma_desc_info *desc);
  38 
  39 void descriptor_list_chain(struct sg_dma_desc_info *this,
  40                            struct sg_dma_desc_info *next);
  41 void descriptor_list_loopback(struct sg_dma_desc_info *desc);
  42 void descriptor_list_end_of_chain(struct sg_dma_desc_info *desc);
  43 
  44 void *descriptor_list_allocate(struct sg_dma_desc_info *desc, size_t bytes);
  45 void descriptor_list_free(struct sg_dma_desc_info *desc);
  46 
  47 void descriptor_list_interrupt_enable(struct sg_dma_desc_info *desc);
  48 void descriptor_list_interrupt_disable(struct sg_dma_desc_info *desc);
  49 
  50 #endif

/* [<][>][^][v][top][bottom][index][help] */