/* SPDX-License-Identifier: GPL-2.0-only */ /* * This file is part of wl1271 * * Copyright (C) 1998-2009 Texas Instruments. All rights reserved. * Copyright (C) 2009 Nokia Corporation * * Contact: Luciano Coelho <luciano.coelho@nokia.com>
*/
/* Used for management frames and dummy packets */ #define WL1271_TID_MGMT 7
/* stop a ROC for pending authentication reply after this time (ms) */ #define WLCORE_PEND_AUTH_ROC_TIMEOUT 1000
struct wl127x_tx_mem { /* * Number of extra memory blocks to allocate for this packet * in addition to the number of blocks derived from the packet * length.
*/
u8 extra_blocks; /* * Total number of memory blocks allocated by the host for * this packet. Must be equal or greater than the actual * blocks number allocated by HW.
*/
u8 total_mem_blocks;
} __packed;
struct wl128x_tx_mem { /* * Total number of memory blocks allocated by the host for * this packet.
*/
u8 total_mem_blocks; /* * Number of extra bytes, at the end of the frame. the host * uses this padding to complete each frame to integer number * of SDIO blocks.
*/
u8 extra_bytes;
} __packed;
struct wl18xx_tx_mem { /* * Total number of memory blocks allocated by the host for * this packet.
*/
u8 total_mem_blocks;
/* * control bits
*/
u8 ctrl;
} __packed;
/* * On wl128x based devices, when TX packets are aggregated, each packet * size must be aligned to the SDIO block size. The maximum block size * is bounded by the type of the padded bytes field that is sent to the * FW. Currently the type is u8, so the maximum block size is 256 bytes.
*/ #define WL12XX_BUS_BLOCK_SIZE min(512u, \
(1u << (8 * sizeof(((struct wl128x_tx_mem *) 0)->extra_bytes))))
struct wl1271_tx_hw_descr { /* Length of packet in words, including descriptor+header+data */
__le16 length; union { struct wl127x_tx_mem wl127x_mem; struct wl128x_tx_mem wl128x_mem; struct wl18xx_tx_mem wl18xx_mem;
} __packed; /* Device time (in us) when the packet arrived to the driver */
__le32 start_time; /* * Max delay in TUs until transmission. The last device time the * packet can be transmitted is: start_time + (1024 * life_time)
*/
__le16 life_time; /* Bitwise fields - see TX_ATTR... definitions above. */
__le16 tx_attr; /* Packet identifier used also in the Tx-Result. */
u8 id; /* The packet TID value (as User-Priority) */
u8 tid; /* host link ID (HLID) */
u8 hlid;
union {
u8 wl12xx_reserved;
/* * bit 0 -> 0 = udp, 1 = tcp * bit 1:7 -> IP header offset
*/
u8 wl18xx_checksum_data;
} __packed;
} __packed;
struct wl1271_tx_hw_res_descr { /* Packet Identifier - same value used in the Tx descriptor.*/
u8 id; /* The status of the transmission, indicating success or one of
several possible reasons for failure. */
u8 status; /* Total air access duration including all retrys and overheads.*/
__le16 medium_usage; /* The time passed from host xfer to Tx-complete.*/
__le32 fw_handling_time; /* Total media delay
(from 1st EDCA AIFS counter until TX Complete). */
__le32 medium_delay; /* LS-byte of last TKIP seq-num (saved per AC for recovery). */
u8 tx_security_sequence_number_lsb; /* Retry count - number of transmissions without successful ACK.*/
u8 ack_failures; /* The rate that succeeded getting ACK
(Valid only if status=SUCCESS). */
u8 rate_class_index; /* for 4-byte alignment. */
u8 spare;
} __packed;
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.4Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.