blob: 5bcc7f09f8caaf8a81e9a9c4c0c96a458e9eb52e [file] [log] [blame]
Luciano Coelho274c66c2012-05-10 12:13:13 +03001/*
2 * This file is part of wl18xx
3 *
4 * Copyright (C) 2011 Texas Instruments Inc.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * version 2 as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18 * 02110-1301 USA
19 *
20 */
21
22#ifndef __WL18XX_PRIV_H__
23#define __WL18XX_PRIV_H__
24
Luciano Coelho23ee9bf2012-05-10 12:13:29 +030025#include "conf.h"
Luciano Coelho274c66c2012-05-10 12:13:13 +030026
27#define WL18XX_CMD_MAX_SIZE 740
28
29struct wl18xx_priv {
30 /* buffer for sending commands to FW */
31 u8 cmd_buf[WL18XX_CMD_MAX_SIZE];
Arik Nemtsov872b3452012-05-10 12:13:25 +030032
Luciano Coelho23ee9bf2012-05-10 12:13:29 +030033 struct wl18xx_priv_conf conf;
34
Arik Nemtsov872b3452012-05-10 12:13:25 +030035 /* Index of last released Tx desc in FW */
36 u8 last_fw_rls_idx;
Luciano Coelhoa9c130d2012-05-10 12:13:37 +030037
38 u8 board_type;
Luciano Coelho274c66c2012-05-10 12:13:13 +030039};
40
Arik Nemtsov1fab39d2012-05-10 12:13:21 +030041#define WL18XX_FW_MAX_TX_STATUS_DESC 33
42
43struct wl18xx_fw_status_priv {
44 /*
45 * Index in released_tx_desc for first byte that holds
46 * released tx host desc
47 */
48 u8 fw_release_idx;
49
50 /*
51 * Array of host Tx descriptors, where fw_release_idx
52 * indicated the first released idx.
53 */
54 u8 released_tx_desc[WL18XX_FW_MAX_TX_STATUS_DESC];
55
56 u8 padding[2];
57};
58
Luciano Coelho274c66c2012-05-10 12:13:13 +030059#endif /* __WL18XX_PRIV_H__ */