bcm-v4

[Specification

Availability

Core revision > 4

QoS init

QoS parameters

should always be set with MAC suspended

The chipset supports at most four access categories.

The EDCF Q Info array in SHM contains four structs of 16 16-bit words, each containing:

offset (words)

contents

value

0x00

TXOP

TXOP in microseconds (not 32-usec periods!)

0x01

CW_min

2^(ECW_min)-1 (must be a contiguous bit mask with bit 0 set)

0x02

CW_max

2^(ECW_max)-1 (must be a contiguous bit mask with bit 0 set)

0x03

CW_cur

set to CW_min

0x04

AIFS

nothing special, just use required AIFS value

0x05

bslots

random value from [0, CW_cur]

0x06

reggap

bslots + AIFS

0x07

status

(see below)

0x08 - 0x0F

reserved

zero

The struct number to use is:

category

info struct number / FIFO number

background (1)

0

best effort (0)

1

video (2)

2

voice (3)

3

When changing any of the structs, overwrite all values except for the status, OR the status with 0x100 to indicate to the microcode that the struct was updated.

FIFOs

The hardware maintains up to 6 FIFOs, used as follows:

Number

Use (transmit)

Use (receive)

0

Background

Incoming frames

1

Best Effort

-

2

Video

-

3

Voice

TX status (only some core revisions)

4

Broadcast/Multicast

-

5

ATIM window info

-


Exported/Archived from the wiki to HTML on 2016-10-27