Revision 7 of PCIe dongle interface increases the item size of tx and rx complete rings to accommodate extra payload for new feature. This patch simply bump up the size of these two rings without adding the support for utilizing the new space. This makes brcmfmac compatible with rev7 firmware. Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Franky Lin <franky.lin@broadcom.com> Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
53 lines
2.1 KiB
C
53 lines
2.1 KiB
C
/* Copyright (c) 2014 Broadcom Corporation
|
|
*
|
|
* Permission to use, copy, modify, and/or distribute this software for any
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
* copyright notice and this permission notice appear in all copies.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
|
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
|
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
|
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
#ifndef BRCMFMAC_MSGBUF_H
|
|
#define BRCMFMAC_MSGBUF_H
|
|
|
|
#ifdef CONFIG_BRCMFMAC_PROTO_MSGBUF
|
|
|
|
#define BRCMF_H2D_MSGRING_CONTROL_SUBMIT_MAX_ITEM 64
|
|
#define BRCMF_H2D_MSGRING_RXPOST_SUBMIT_MAX_ITEM 512
|
|
#define BRCMF_D2H_MSGRING_CONTROL_COMPLETE_MAX_ITEM 64
|
|
#define BRCMF_D2H_MSGRING_TX_COMPLETE_MAX_ITEM 1024
|
|
#define BRCMF_D2H_MSGRING_RX_COMPLETE_MAX_ITEM 512
|
|
#define BRCMF_H2D_TXFLOWRING_MAX_ITEM 512
|
|
|
|
#define BRCMF_H2D_MSGRING_CONTROL_SUBMIT_ITEMSIZE 40
|
|
#define BRCMF_H2D_MSGRING_RXPOST_SUBMIT_ITEMSIZE 32
|
|
#define BRCMF_D2H_MSGRING_CONTROL_COMPLETE_ITEMSIZE 24
|
|
#define BRCMF_D2H_MSGRING_TX_COMPLETE_ITEMSIZE_PRE_V7 16
|
|
#define BRCMF_D2H_MSGRING_TX_COMPLETE_ITEMSIZE 24
|
|
#define BRCMF_D2H_MSGRING_RX_COMPLETE_ITEMSIZE_PRE_V7 32
|
|
#define BRCMF_D2H_MSGRING_RX_COMPLETE_ITEMSIZE 40
|
|
#define BRCMF_H2D_TXFLOWRING_ITEMSIZE 48
|
|
|
|
struct msgbuf_buf_addr {
|
|
__le32 low_addr;
|
|
__le32 high_addr;
|
|
};
|
|
|
|
int brcmf_proto_msgbuf_rx_trigger(struct device *dev);
|
|
void brcmf_msgbuf_delete_flowring(struct brcmf_pub *drvr, u16 flowid);
|
|
int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr);
|
|
void brcmf_proto_msgbuf_detach(struct brcmf_pub *drvr);
|
|
#else
|
|
static inline int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline void brcmf_proto_msgbuf_detach(struct brcmf_pub *drvr) {}
|
|
#endif
|
|
|
|
#endif /* BRCMFMAC_MSGBUF_H */
|