Lines Matching refs:chain

884 rtwn_rf_write(struct rtwn_softc *sc, int chain, uint8_t addr, uint32_t val)
886 rtwn_bb_write(sc, R92C_LSSI_PARAM(chain),
892 rtwn_rf_read(struct rtwn_softc *sc, int chain, uint8_t addr)
897 if (chain != 0)
898 reg[chain] = rtwn_bb_read(sc, R92C_HSSI_PARAM2(chain));
904 rtwn_bb_write(sc, R92C_HSSI_PARAM2(chain),
905 RW(reg[chain], R92C_HSSI_PARAM2_READ_ADDR, addr) |
913 if (rtwn_bb_read(sc, R92C_HSSI_PARAM1(chain)) & R92C_HSSI_PARAM1_PI)
914 val = rtwn_bb_read(sc, R92C_HSPI_READBACK(chain));
916 val = rtwn_bb_read(sc, R92C_LSSI_READBACK(chain));
2420 /* Write RF initialization values for this chain. */
2516 rtwn_write_txpower(struct rtwn_softc *sc, int chain,
2522 if (chain == 0) {
2542 rtwn_bb_write(sc, R92C_TXAGC_RATE18_06(chain),
2547 rtwn_bb_write(sc, R92C_TXAGC_RATE54_24(chain),
2553 rtwn_bb_write(sc, R92C_TXAGC_MCS03_MCS00(chain),
2558 rtwn_bb_write(sc, R92C_TXAGC_MCS07_MCS04(chain),
2563 rtwn_bb_write(sc, R92C_TXAGC_MCS11_MCS08(chain),
2568 rtwn_bb_write(sc, R92C_TXAGC_MCS15_MCS12(chain),
2576 rtwn_get_txpower(struct rtwn_softc *sc, int chain,
2595 /* Get original Tx power based on board type and RF chain. */
2598 base = &rtl8188ru_txagc[chain];
2600 base = &rtl8192cu_txagc[chain];
2602 base = &rtl8192cu_txagc[chain];
2617 max = (max >> (chain * 4)) & 0xf;
2628 cckpow = rom->cck_tx_pwr[chain][group];
2635 htpow = rom->ht40_1s_tx_pwr[chain][group];
2639 diff = (diff >> (chain * 4)) & 0xf;
2645 diff = (diff >> (chain * 4)) & 0xf;
2656 diff = (diff >> (chain * 4)) & 0xf;
2667 printf("Tx power for chain %d:\n", chain);
2860 rtwn_iq_calib_chain(struct rtwn_softc *sc, int chain, uint16_t tx[2],
2864 int offset = chain * 0x20;
2866 if (chain == 0) { /* IQ calibration for chain 0. */
2867 /* IQ calibration settings for chain 0. */
2874 /* IQ calibration settings for chain 1. */
2888 } else { /* IQ calibration for chain 1. */
2900 if (status & (1 << (28 + chain * 3)))
2908 if (status & (1 << (27 + chain * 3)))
2940 int i, chain;
3003 for (chain = 0; chain < sc->ntxchains; chain++) {
3004 if (chain > 0) {
3005 /* Put chain 0 on standby. */
3010 /* Enable chain 1. */
3019 ret = rtwn_iq_calib_chain(sc, chain,
3020 tx[chain], rx[chain]);
3022 DPRINTF(("%s: chain %d: Tx failed.\n",
3023 __func__, chain));
3024 tx[chain][0] = 0xff;
3025 tx[chain][1] = 0xff;
3026 rx[chain][0] = 0xff;
3027 rx[chain][1] = 0xff;
3029 DPRINTF(("%s: chain %d: Rx failed.\n",
3030 __func__, chain));
3031 rx[chain][0] = 0xff;
3032 rx[chain][1] = 0xff;
3034 DPRINTF(("%s: chain %d: Both Tx and Rx "
3035 "succeeded.\n", __func__, chain));
3039 DPRINTF(("%s: results for run %d chain %d: tx[0]=0x%x, "
3040 "tx[1]=0x%x rx[0]=0x%x rx[1]=0x%x\n", __func__, n, chain,
3041 tx[chain][0], tx[chain][1], rx[chain][0], rx[chain][1]));
3076 int chain, i, tx_ok[2], rx_ok[2];
3079 for (chain = 0; chain < ntxchains; chain++) {
3081 if (tx1[chain][i] == 0xff || tx2[chain][i] == 0xff ||
3082 rx1[chain][i] == 0xff || rx2[chain][i] == 0xff)
3085 tx_ok[chain] = (abs(tx1[chain][i] - tx2[chain][i]) <=
3088 rx_ok[chain] = (abs(rx1[chain][i] - rx2[chain][i]) <=
3102 uint16_t rx[2], int chain)
3110 reg = rtwn_bb_read(sc, R92C_OFDM0_TXIQIMBALANCE(chain));
3116 rtwn_bb_write(sc, R92C_OFDM0_TXIQIMBALANCE(chain), reg);
3129 reg = rtwn_bb_read(sc, R92C_OFDM0_TXAFE(chain));
3131 rtwn_bb_write(sc, R92C_OFDM0_TXAFE(chain), reg);
3133 reg = rtwn_bb_read(sc, R92C_OFDM0_TXIQIMBALANCE(chain));
3135 rtwn_bb_write(sc, R92C_OFDM0_TXIQIMBALANCE(chain), reg);
3147 reg = rtwn_bb_read(sc, R92C_OFDM0_RXIQIMBALANCE(chain));
3149 rtwn_bb_write(sc, R92C_OFDM0_RXIQIMBALANCE(chain), reg);
3151 rtwn_bb_write(sc, R92C_OFDM0_RXIQIMBALANCE(chain), reg);
3153 if (chain == 0) {