Go back –> iwl4965 kerneldoc
IWL_TX_POWER_MIMO_REGULATORY_COMPENSATION -
IWL_TX_POWER_MIMO_REGULATORY_COMPENSATION ( 6)Arguments
Description
limit each transmitter to deliver a max of 3 dB below the regulatory limit for the device. That is, use half power for each transmitter, so total txpower is within regulatory limits.The value "6" represents number of steps in gain table to reduce power 3 dB. Each step is 1/2 dB.
IWL_TX_POWER_CCK_COMPENSATION_B_STEP -
IWL_TX_POWER_CCK_COMPENSATION_B_STEP ( 9)Arguments
Description
When calculating txpowers for CCK, after making sure that the target power is within regulatory and saturation limits, driver must additionally back off gain by adding these values to the gain table index.
Hardware rev for 4965 can be determined by reading CSR_HW_REV_WA_REG, bits [3:2], 1 = B, 2 = C.
MIN_TX_GAIN_INDEX -
MIN_TX_GAIN_INDEX ()Arguments
Description
The following tables contain pair of values for setting txpower, i.e. gain settings for the output of the device's digital signal processor (DSP), and for the analog gain structure of the transmitter.
Each entry in the gain tables represents a step of 1/2 dB. Note that these are *relative* steps, not indications of absolute output power. Output power varies with temperature, voltage, and channel frequency, and also requires consideration of average power (to satisfy regulatory constraints), and peak power (to avoid distortion of the output signal).
Each entry contains two values
1) DSP gain (or sometimes called DSP attenuation). This is a fine-grained linear value that multiplies the output of the digital signal processor, before being sent to the analog radio. 2) Radio gain. This sets the analog gain of the radio Tx path. It is a coarser setting, and behaves in a logarithmic (dB) fashion.EEPROM contains factory calibration data for txpower. This maps actual measured txpower levels to gain settings in the "well known" tables below ("well-known" means here that both factory calibration *and* the driver work with the same table).
There are separate tables for 2.4 GHz and 5 GHz bands. The 5 GHz table has an extension (into negative indexes), in case the driver needs to boost power setting for high device temperatures (higher than would be present during factory calibration). A 5 Ghz EEPROM index of "40" corresponds to the 49th entry in the table used by the driver.
IWL_TX_POWER_DEFAULT_SATURATION_24 -
IWL_TX_POWER_DEFAULT_SATURATION_24 ( 38)Arguments
Description
If EEPROM values fall outside MIN/MAX range, use default values.Saturation is the highest level that the output power amplifier can produce without significant clipping distortion. This is a "peak" power level. Different types of modulation (i.e. various "rates", and OFDM vs. CCK) require differing amounts of backoff, relative to their average power output, in order to avoid clipping distortion.
Driver must make sure that it is violating neither the saturation limit, nor the regulatory limit, when calculating Tx power settings for various rates.
Units are in half-dBm (i.e. "38" means 19 dBm).
struct iwl4965_scd_bc_tbl -
struct iwl4965_scd_bc_tbl {};
Members
Description
Byte Count table
Each Tx queue uses a byte-count table containing 320 entries: one 16-bit entry for each of 256 TFDs, plus an additional 64 entries that duplicate the first 64 entries (to avoid wrap-around within a Tx window; max Tx window is 64 TFDs).
When driver sets up a new TFD, it must also enter the total byte count of the frame to be transmitted into the corresponding entry in the byte count table for the chosen Tx queue. If the TFD index is 0-63, the driver must duplicate the byte count entry in corresponding index 256-319.
padding puts each byte count table on a 1024-byte boundary; 4965 assumes tables are separated by 1024 bytes.