hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/net/ethernet/marvell/octeontx2/af/cgx.c
....@@ -145,6 +145,16 @@
145145 return cgx->cgx_id;
146146 }
147147
148
+u8 cgx_lmac_get_p2x(int cgx_id, int lmac_id)
149
+{
150
+ struct cgx *cgx_dev = cgx_get_pdata(cgx_id);
151
+ u64 cfg;
152
+
153
+ cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_CFG);
154
+
155
+ return (cfg & CMR_P2X_SEL_MASK) >> CMR_P2X_SEL_SHIFT;
156
+}
157
+
148158 /* Ensure the required lock for event queue(where asynchronous events are
149159 * posted) is acquired before calling this API. Else an asynchronous event(with
150160 * latest link status) can reach the destination before this function returns
....@@ -340,9 +350,9 @@
340350
341351 cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
342352 if (enable)
343
- cfg |= CMR_EN | DATA_PKT_RX_EN | DATA_PKT_TX_EN;
353
+ cfg |= DATA_PKT_RX_EN | DATA_PKT_TX_EN;
344354 else
345
- cfg &= ~(CMR_EN | DATA_PKT_RX_EN | DATA_PKT_TX_EN);
355
+ cfg &= ~(DATA_PKT_RX_EN | DATA_PKT_TX_EN);
346356 cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg);
347357 return 0;
348358 }
....@@ -814,8 +824,7 @@
814824 minor_ver = FIELD_GET(RESP_MINOR_VER, resp);
815825 dev_dbg(dev, "Firmware command interface version = %d.%d\n",
816826 major_ver, minor_ver);
817
- if (major_ver != CGX_FIRMWARE_MAJOR_VER ||
818
- minor_ver != CGX_FIRMWARE_MINOR_VER)
827
+ if (major_ver != CGX_FIRMWARE_MAJOR_VER)
819828 return -EIO;
820829 else
821830 return 0;