openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

dma.h (1898B)


      1 /*
      2  * 
      3  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      4  * 
      5  * Copyright 2007-2019 Broadcom Inc. All rights reserved.
      6  *
      7  * File:        dma.h
      8  * Purpose:     
      9  */
     10 
     11 #ifndef   _PCID_DMA_H_
     12 #define   _PCID_DMA_H_
     13 
     14 #include <soc/defs.h>
     15 #include <soc/dcb.h>
     16 #include <sys/types.h>
     17 
     18 #include "pcid.h"
     19 
     20 extern uint32 pcid_dcb_fetch(pcid_info_t *pcid_info, uint32 addr, dcb_t *dcb);
     21 extern uint32 pcid_dcb_store(pcid_info_t *pcid_info, uint32 addr, dcb_t *dcb);
     22 extern void pcid_dma_tx_start(pcid_info_t *pcid_info, int ch);
     23 extern void pcid_dma_cmicm_tx_start(pcid_info_t *pcid_info, int ch);
     24 extern void pcid_dma_rx_start(pcid_info_t *pcid_info, int ch);
     25 extern void pcid_dma_cmicm_rx_start(pcid_info_t *pcid_info, int ch);
     26 extern void pcid_dma_rx_check(pcid_info_t *pcid_info, int chan);
     27 extern void pcid_dma_cmicm_rx_check(pcid_info_t *pcid_info, int chan);
     28 extern void pcid_dma_start_chan(pcid_info_t *pcid_info, int ch);
     29 extern void pcid_dma_stat_write(pcid_info_t *pcid_info, uint32 value);
     30 extern void pcid_dma_ctrl_write(pcid_info_t *pcid_info, uint32 value);
     31 extern void pcid_dma_cmicm_ctrl_write(pcid_info_t *pcid_info, uint32 reg, uint32 value);
     32 extern void pcid_dma_stop_all(pcid_info_t *pcid_info);
     33 
     34 /* Call back function type for tx */
     35 typedef int (*pcid_tx_cb_f)(pcid_info_t *pcid_info, uint8 *pkt_data, int eop);
     36 extern void pcid_dma_tx_cb_set(pcid_info_t *pcid_info, pcid_tx_cb_f fun);
     37 void _pcid_loop_tx_cb(pcid_info_t *pcid_info, dcb_t *dcb, int chan);
     38 
     39 extern uint32
     40 pcid_reg_read(pcid_info_t *pcid_info, uint32 addr);
     41 extern void
     42 pcid_reg_write(pcid_info_t *pcid_info, uint32 addr, uint32 value);
     43 extern void
     44 pcid_reg_or_write(pcid_info_t* pcid_info, uint32 addr, uint32 or_value);
     45 extern void
     46 pcid_reg_and_write(pcid_info_t* pcid_info, uint32 addr, uint32 and_value);
     47 
     48 #endif /* _PCID_DMA_H_ */