The ICE_SMA2_UFL2_RX_DIS bit name is wrong: the bit is active high
(setting it *enables* RX for u.FL2 / SMA2), not active low.  Rename
it to ICE_SMA2_UFL2_RX_EN and invert the use sites in ice_dpll.c so
that enabling the u.FL2 pin clears the bit (as it used to do) and
disabling sets it.

Fixes: 2dd5d03c77e2 ("ice: redesign dpll sma/u.fl pins control")
Signed-off-by: Aleksandr Loktionov <[email protected]>
---
 drivers/net/ethernet/intel/ice/ice_dpll.c   | 6 +++---
 drivers/net/ethernet/intel/ice/ice_ptp_hw.h | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_dpll.c 
b/drivers/net/ethernet/intel/ice/ice_dpll.c
index 62f75701d..7e8bb63 100644
--- a/drivers/net/ethernet/intel/ice/ice_dpll.c
+++ b/drivers/net/ethernet/intel/ice/ice_dpll.c
@@ -672,7 +672,7 @@ ice_dpll_sw_pins_update(struct ice_pf *pf)
                p->active = false;
 
        p = &d->ufl[ICE_DPLL_PIN_SW_2_IDX];
-       p->active = (data & ICE_SMA2_DIR_EN) && !(data & ICE_SMA2_UFL2_RX_DIS);
+       p->active = (data & ICE_SMA2_DIR_EN) && !(data & ICE_SMA2_UFL2_RX_EN);
        d->sma_data = data;
 
        return 0;
@@ -1264,10 +1264,10 @@ ice_dpll_ufl_pin_state_set(const struct dpll_pin *pin, 
void *pin_priv,
        case ICE_DPLL_PIN_SW_2_IDX:
                if (state == DPLL_PIN_STATE_SELECTABLE) {
                        data |= ICE_SMA2_DIR_EN;
-                       data &= ~ICE_SMA2_UFL2_RX_DIS;
+                       data &= ~ICE_SMA2_UFL2_RX_EN;
                        enable = true;
                } else if (state == DPLL_PIN_STATE_DISCONNECTED) {
-                       data |= ICE_SMA2_UFL2_RX_DIS;
+                       data |= ICE_SMA2_UFL2_RX_EN;
                        enable = false;
                } else {
                        goto unlock;
diff --git a/drivers/net/ethernet/intel/ice/ice_ptp_hw.h 
b/drivers/net/ethernet/intel/ice/ice_ptp_hw.h
index c1aa408..278d757 100644
--- a/drivers/net/ethernet/intel/ice/ice_ptp_hw.h
+++ b/drivers/net/ethernet/intel/ice/ice_ptp_hw.h
@@ -655,12 +655,12 @@ static inline u64 ice_get_base_incval(struct ice_hw *hw)
 /* SMA controller pin control */
 #define ICE_SMA1_DIR_EN                BIT(4)
 #define ICE_SMA1_TX_EN         BIT(5)
-#define ICE_SMA2_UFL2_RX_DIS   BIT(3)
+#define ICE_SMA2_UFL2_RX_EN    BIT(3)
 #define ICE_SMA2_DIR_EN                BIT(6)
 #define ICE_SMA2_TX_EN         BIT(7)
 
 #define ICE_SMA1_MASK          (ICE_SMA1_DIR_EN | ICE_SMA1_TX_EN)
-#define ICE_SMA2_MASK          (ICE_SMA2_UFL2_RX_DIS | ICE_SMA2_DIR_EN | \
+#define ICE_SMA2_MASK          (ICE_SMA2_UFL2_RX_EN | ICE_SMA2_DIR_EN | \
                                 ICE_SMA2_TX_EN)
 #define ICE_SMA2_INACTIVE_MASK (ICE_SMA2_DIR_EN | ICE_SMA2_TX_EN)
 #define ICE_ALL_SMA_MASK       (ICE_SMA1_MASK | ICE_SMA2_MASK)
-- 
2.52.0

Reply via email to