40eb36e01a
Basic Minstrel rate adaptation, cross-referenced from Linux 7.1 mvm/rs.h + mvm/rs.c. rb_iwl_mvm_rs_state tracks per-MCS (attempts, successes, success_ratio × 12800). Algorithm: probe alternate rates every 10 frames, promote if success ratio exceeds current best, select best known rate with signal-based upper bound. Uses TX status codes from fw/api/tx.h: TX_STATUS_SUCCESS (0x01), TX_STATUS_FAIL_SHORT_LIMIT (0x82), TX_STATUS_FAIL_LONG_LIMIT (0x83). Wired into iwl_pcie_rx_handle() — rate_idx now comes from rs_select() which adapts based on accumulated statistics instead of using a fixed lookup table. When no TX statistics are available (fresh boot / no firmware feedback), rs_select() falls through to rb_iwl_mvm_rate_to_mcs() as a cold-start default.