linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.h
<<
>>
Prefs
   1// SPDX-License-Identifier: ISC
   2/*
   3 * Copyright (c) 2014 Broadcom Corporation
   4 */
   5#ifndef BRCMFMAC_MSGBUF_H
   6#define BRCMFMAC_MSGBUF_H
   7
   8#ifdef CONFIG_BRCMFMAC_PROTO_MSGBUF
   9
  10#define BRCMF_H2D_MSGRING_CONTROL_SUBMIT_MAX_ITEM       64
  11#define BRCMF_H2D_MSGRING_RXPOST_SUBMIT_MAX_ITEM        512
  12#define BRCMF_D2H_MSGRING_CONTROL_COMPLETE_MAX_ITEM     64
  13#define BRCMF_D2H_MSGRING_TX_COMPLETE_MAX_ITEM          1024
  14#define BRCMF_D2H_MSGRING_RX_COMPLETE_MAX_ITEM          512
  15#define BRCMF_H2D_TXFLOWRING_MAX_ITEM                   512
  16
  17#define BRCMF_H2D_MSGRING_CONTROL_SUBMIT_ITEMSIZE       40
  18#define BRCMF_H2D_MSGRING_RXPOST_SUBMIT_ITEMSIZE        32
  19#define BRCMF_D2H_MSGRING_CONTROL_COMPLETE_ITEMSIZE     24
  20#define BRCMF_D2H_MSGRING_TX_COMPLETE_ITEMSIZE_PRE_V7   16
  21#define BRCMF_D2H_MSGRING_TX_COMPLETE_ITEMSIZE          24
  22#define BRCMF_D2H_MSGRING_RX_COMPLETE_ITEMSIZE_PRE_V7   32
  23#define BRCMF_D2H_MSGRING_RX_COMPLETE_ITEMSIZE          40
  24#define BRCMF_H2D_TXFLOWRING_ITEMSIZE                   48
  25
  26struct msgbuf_buf_addr {
  27        __le32          low_addr;
  28        __le32          high_addr;
  29};
  30
  31int brcmf_proto_msgbuf_rx_trigger(struct device *dev);
  32void brcmf_msgbuf_delete_flowring(struct brcmf_pub *drvr, u16 flowid);
  33int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr);
  34void brcmf_proto_msgbuf_detach(struct brcmf_pub *drvr);
  35#else
  36static inline int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr)
  37{
  38        return 0;
  39}
  40static inline void brcmf_proto_msgbuf_detach(struct brcmf_pub *drvr) {}
  41#endif
  42
  43#endif /* BRCMFMAC_MSGBUF_H */
  44