[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55fcbc58-fccb-4db5-afa2-21b53a89fdc3@intel.com>
Date: Thu, 20 Feb 2025 14:45:41 -0800
From: Jacob Keller <jacob.e.keller@...el.com>
To: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
CC: Tony Nguyen <anthony.l.nguyen@...el.com>, Przemek Kitszel
<przemyslaw.kitszel@...el.com>, <intel-wired-lan@...ts.osuosl.org>,
<netdev@...r.kernel.org>, Paul Greenwalt <paul.greenwalt@...el.com>
Subject: Re: [PATCH iwl-net] ice: fix Get Tx Topology AQ command error on E830
On 2/19/2025 1:37 AM, Michal Swiatkowski wrote:
> On Tue, Feb 18, 2025 at 04:46:34PM -0800, Jacob Keller wrote:
>> From: Paul Greenwalt <paul.greenwalt@...el.com>
>>
>> With E830 Get Tx Topology AQ command (opcode 0x0418) returns an error when
>> setting the AQ command read flag, and since the get command is a direct
>> command there is no need to set the read flag.
>>
>> Fix this by only setting read flag on set command.
>
> Why it isn't true for other hw? I mean, why not:
> if (set)
> RD_FLAG
> else
> NOT_RD_FLAG
> Other hw needs RD flag in case of get too?
>
>From what I understand, we didn't anticipate this flow changing. E810
and E822 hardware require FLAG_RD for both get and set, while E825-C and
E830 expect FLAG_RD only for set, but not for get.
>>
>
> Don't you need fixes tag?
You're correct. I'll add it in v2
>> Signed-off-by: Paul Greenwalt <paul.greenwalt@...el.com>
>> Signed-off-by: Jacob Keller <jacob.e.keller@...el.com>
>> ---
>> drivers/net/ethernet/intel/ice/ice_ddp.c | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/intel/ice/ice_ddp.c b/drivers/net/ethernet/intel/ice/ice_ddp.c
>> index 03988be03729b76e96188864896527060c8c4d5b..49bd49ab3ccf36c990144894e887341459377a2d 100644
>> --- a/drivers/net/ethernet/intel/ice/ice_ddp.c
>> +++ b/drivers/net/ethernet/intel/ice/ice_ddp.c
>> @@ -2345,15 +2345,15 @@ ice_get_set_tx_topo(struct ice_hw *hw, u8 *buf, u16 buf_size,
>> cmd->set_flags |= ICE_AQC_TX_TOPO_FLAGS_SRC_RAM |
>> ICE_AQC_TX_TOPO_FLAGS_LOAD_NEW;
>>
>> - if (ice_is_e825c(hw))
>> - desc.flags |= cpu_to_le16(ICE_AQ_FLAG_RD);
>> + 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_e825c(hw))
>> - desc.flags |= cpu_to_le16(ICE_AQ_FLAG_RD);
>> + if (hw->mac_type != ICE_MAC_GENERIC_3K_E825 &&
>> + hw->mac_type != ICE_MAC_E830)
>> + desc.flags |= cpu_to_le16(ICE_AQ_FLAG_RD);
>> + }
>>
>> status = ice_aq_send_cmd(hw, &desc, buf, buf_size, cd);
>> if (status)
>>
>
> In general looks fine, only one question.
>
> Thanks,
> Michal
Thanks for the review, I'll send a v2 with this cleaned up and include a
fixes tag.
>
>> ---
>> base-commit: f5da7c45188eea71394bf445655cae2df88a7788
>> change-id: 20250218-jk-e830-ddp-loading-fix-9efdbdfc270a
>>
>> Best regards,
>> --
>> Jacob Keller <jacob.e.keller@...el.com>
Powered by blists - more mailing lists