[PATCH v4 078/103] net/ice/base: support E830 in Topology AQ command

Anatoly Burakov anatoly.burakov at intel.com
Wed Jun 26 13:42:06 CEST 2024


From: Dan Nowlin <dan.nowlin at intel.com>

In E830, regarding the Get Tx Topology AQ command, there is a change in
the way that the RD bit must be set. For E830, the RD bit must be
cleared. Setting the RD bit for the E830 device was causing the Get Tx
Topology command to fail.

Fix it to clear RD bit for E830 device.

Signed-off-by: Dan Nowlin <dan.nowlin at intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
---
 drivers/net/ice/base/ice_ddp.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ice/base/ice_ddp.c b/drivers/net/ice/base/ice_ddp.c
index d5d81db949..f82e5a387f 100644
--- a/drivers/net/ice/base/ice_ddp.c
+++ b/drivers/net/ice/base/ice_ddp.c
@@ -2298,11 +2298,16 @@ ice_get_set_tx_topo(struct ice_hw *hw, u8 *buf, u16 buf_size,
 		if (buf)
 			cmd->set_flags |= ICE_AQC_TX_TOPO_FLAGS_SRC_RAM |
 					  ICE_AQC_TX_TOPO_FLAGS_LOAD_NEW;
+
+		desc.flags |= CPU_TO_LE16(ICE_AQ_FLAG_RD);
 	} else {
 		ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_get_tx_topo);
 		cmd->get_flags = ICE_AQC_TX_TOPO_GET_RAM;
+
+		if (!ice_is_e830(hw))
+			desc.flags |= CPU_TO_LE16(ICE_AQ_FLAG_RD);
 	}
-	desc.flags |= CPU_TO_LE16(ICE_AQ_FLAG_RD);
+
 	status = ice_aq_send_cmd(hw, &desc, buf, buf_size, cd);
 	if (status)
 		return status;
-- 
2.43.0



More information about the dev mailing list