~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise-security

« back to all changes in this revision

Viewing changes to drivers/net/wireless/b43/xmit.h

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati
  • Date: 2011-12-06 15:56:07 UTC
  • Revision ID: package-import@ubuntu.com-20111206155607-pcf44kv5fmhk564f
Tags: 3.2.0-1401.1
[ Paolo Pisati ]

* Rebased on top of Ubuntu-3.2.0-3.8
* Tilt-tracking @ ef2487af4bb15bdd0689631774b5a5e3a59f74e2
* Delete debian.ti-omap4/control, it shoudln't be tracked
* Fix architecture spelling (s/armel/armhf/)
* [Config] Update configs following 3.2 import
* [Config] Fix compilation: disable CODA and ARCH_OMAP3
* [Config] Fix compilation: disable Ethernet Faraday
* Update series to precise

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
        __le32 timeout;                 /* Timeout */
47
47
 
48
48
        union {
49
 
                /* The new r410 format. */
 
49
                /* Tested with 598.314, 644.1001 and 666.2 */
 
50
                struct {
 
51
                        __le16 mimo_antenna;            /* MIMO antenna select */
 
52
                        __le16 preload_size;            /* Preload size */
 
53
                        PAD_BYTES(2);
 
54
                        __le16 cookie;                  /* TX frame cookie */
 
55
                        __le16 tx_status;               /* TX status */
 
56
                        __le16 max_n_mpdus;
 
57
                        __le16 max_a_bytes_mrt;
 
58
                        __le16 max_a_bytes_fbr;
 
59
                        __le16 min_m_bytes;
 
60
                        struct b43_plcp_hdr6 rts_plcp;  /* RTS PLCP header */
 
61
                        __u8 rts_frame[16];             /* The RTS frame (if used) */
 
62
                        PAD_BYTES(2);
 
63
                        struct b43_plcp_hdr6 plcp;      /* Main PLCP header */
 
64
                } format_598 __packed;
 
65
 
 
66
                /* Tested with 410.2160, 478.104 and 508.* */
50
67
                struct {
51
68
                        __le16 mimo_antenna;            /* MIMO antenna select */
52
69
                        __le16 preload_size;            /* Preload size */
57
74
                        __u8 rts_frame[16];             /* The RTS frame (if used) */
58
75
                        PAD_BYTES(2);
59
76
                        struct b43_plcp_hdr6 plcp;      /* Main PLCP header */
60
 
                } new_format __packed;
 
77
                } format_410 __packed;
61
78
 
62
 
                /* The old r351 format. */
 
79
                /* Tested with 351.126 */
63
80
                struct {
64
81
                        PAD_BYTES(2);
65
82
                        __le16 cookie;                  /* TX frame cookie */
68
85
                        __u8 rts_frame[16];             /* The RTS frame (if used) */
69
86
                        PAD_BYTES(2);
70
87
                        struct b43_plcp_hdr6 plcp;      /* Main PLCP header */
71
 
                } old_format __packed;
 
88
                } format_351 __packed;
72
89
 
73
90
        } __packed;
74
91
} __packed;
166
183
#define  B43_TXH_PHY1_MODUL_QAM256      0x2000 /* QAM256 */
167
184
 
168
185
 
169
 
/* r351 firmware compatibility stuff. */
170
 
static inline
171
 
bool b43_is_old_txhdr_format(struct b43_wldev *dev)
172
 
{
173
 
        return (dev->fw.rev <= 351);
174
 
}
175
 
 
176
186
static inline
177
187
size_t b43_txhdr_size(struct b43_wldev *dev)
178
188
{
179
 
        if (b43_is_old_txhdr_format(dev))
 
189
        switch (dev->fw.hdr_format) {
 
190
        case B43_FW_HDR_598:
 
191
                return 112 + sizeof(struct b43_plcp_hdr6);
 
192
        case B43_FW_HDR_410:
 
193
                return 104 + sizeof(struct b43_plcp_hdr6);
 
194
        case B43_FW_HDR_351:
180
195
                return 100 + sizeof(struct b43_plcp_hdr6);
181
 
        return 104 + sizeof(struct b43_plcp_hdr6);
 
196
        }
 
197
        return 0;
182
198
}
183
199
 
184
200
 
232
248
                        __s8 power1;    /* PHY RX Status 1: Power 1 */
233
249
                } __packed;
234
250
        } __packed;
235
 
        __le16 phy_status2;     /* PHY RX Status 2 */
236
 
        __le16 phy_status3;     /* PHY RX Status 3 */
237
 
        __le32 mac_status;      /* MAC RX status */
238
 
        __le16 mac_time;
239
 
        __le16 channel;
 
251
        union {
 
252
                /* HT-PHY */
 
253
                struct {
 
254
                        PAD_BYTES(1);
 
255
                        __s8 phy_ht_power0;
 
256
                } __packed;
 
257
 
 
258
                /* RSSI for N-PHYs */
 
259
                struct {
 
260
                        __s8 power2;
 
261
                        PAD_BYTES(1);
 
262
                } __packed;
 
263
 
 
264
                __le16 phy_status2;     /* PHY RX Status 2 */
 
265
        } __packed;
 
266
        union {
 
267
                /* HT-PHY */
 
268
                struct {
 
269
                        __s8 phy_ht_power1;
 
270
                        __s8 phy_ht_power2;
 
271
                } __packed;
 
272
 
 
273
                __le16 phy_status3;     /* PHY RX Status 3 */
 
274
        } __packed;
 
275
        union {
 
276
                /* Tested with 598.314, 644.1001 and 666.2 */
 
277
                struct {
 
278
                        __le16 phy_status4;     /* PHY RX Status 4 */
 
279
                        __le16 phy_status5;     /* PHY RX Status 5 */
 
280
                        __le32 mac_status;      /* MAC RX status */
 
281
                        __le16 mac_time;
 
282
                        __le16 channel;
 
283
                } format_598 __packed;
 
284
 
 
285
                /* Tested with 351.126, 410.2160, 478.104 and 508.* */
 
286
                struct {
 
287
                        __le32 mac_status;      /* MAC RX status */
 
288
                        __le16 mac_time;
 
289
                        __le16 channel;
 
290
                } format_351 __packed;
 
291
        } __packed;
240
292
} __packed;
241
293
 
242
294
/* PHY RX Status 0 */