diff options
author | Clément Viel <clement.viel@qorvo.com> | 2023-03-13 12:10:40 +0100 |
---|---|---|
committer | TreeHugger Robot <treehugger-gerrit@google.com> | 2023-03-24 18:13:17 +0000 |
commit | c2741355e97290d9ddc1326398a8349558349be3 (patch) | |
tree | 601540e48c9603c13785b2ce6534bb4ea40643fe | |
parent | e4a6f52ff17e5bd8d79de7f651d12a849cd99531 (diff) | |
download | uwb-c2741355e97290d9ddc1326398a8349558349be3.tar.gz |
dw3000: harmonize tx and rx RF2 functions
Bug: 272477040
Change-Id: I220ff27173d2000c907460e6d02812f5f16d2bcb
Signed-off-by: Clément Viel <clement.viel@qorvo.com>
-rw-r--r-- | kernel/drivers/net/ieee802154/dw3000_core.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/kernel/drivers/net/ieee802154/dw3000_core.c b/kernel/drivers/net/ieee802154/dw3000_core.c index 0c2c7f6..4df0b41 100644 --- a/kernel/drivers/net/ieee802154/dw3000_core.c +++ b/kernel/drivers/net/ieee802154/dw3000_core.c @@ -1418,11 +1418,11 @@ static int dw3000_change_tx_rf_port(struct dw3000 *dw, bool use_rf2) static int dw3000_change_rx_rf_port(struct dw3000 *dw, bool use_rf2) { int rc = 0; - u32 val = DW3000_TXRXSWITCH_AUTO; - - if (use_rf2) { - val |= DW3000_RF_SWITCH_RX_RF2; - } + u32 val = DW3000_TXRXSWITCH_AUTO | + ((u32)use_rf2 + << DW3000_RF_SWITCH_CTRL_ANT_TXRX_RXPORT_BIT_OFFSET) | + ((u32)use_rf2 + << DW3000_RF_SWITCH_CTRL_ANT_TXRX_MODE_OVR_BIT_OFFSET); rc = dw3000_reg_write32(dw, DW3000_RF_SWITCH_CTRL_ID, 0, val); if (!rc) dw->rx_rf2 = use_rf2; @@ -6522,12 +6522,6 @@ int dw3000_set_rx_antennas(struct dw3000 *dw, int ant_set_id, bool pdoa_enabled, port = ant_calib->port; /* Save port for later check */ if (((ant_calib->port == 1) || dw->rx_rf2) && ant_idx2 < 0) { dw3000_change_rx_rf_port(dw, true); - } else if (ant_calib->port == 1 && ant_idx2 > 0) { - if (frame_idx == 5) { - dw3000_change_rx_rf_port(dw, true); - } else { - dw3000_change_rx_rf_port(dw, false); - } } else { dw3000_change_rx_rf_port(dw, false); } |