Re: [PATCH v8 net-next 09/11] net: ethernet: ti: am65-cpsw-qos: Add Frame Preemption MAC Merge support

From: Roger Quadros
Date: Thu Dec 14 2023 - 08:44:14 EST




On 14/12/2023 13:04, Vladimir Oltean wrote:
> On Wed, Dec 13, 2023 at 01:07:19PM +0200, Roger Quadros wrote:
>> - Fix am65_cpsw_iet_get_verify_timeout_ms() to default to timeout for
>> 1G link if link is inactive.
>> +
>> +static int am65_cpsw_set_mm(struct net_device *ndev, struct ethtool_mm_cfg *cfg,
>> + struct netlink_ext_ack *extack)
>> +{
>> + val = readl(port->port_base + AM65_CPSW_PN_REG_IET_CTRL);
>> + if (cfg->verify_enabled) {
>> + val &= ~AM65_CPSW_PN_IET_MAC_DISABLEVERIFY;
>> + /* Reset Verify state machine. Verification won't start here.
>> + * Verification will be done once link-up.
>> + */
>> + val |= AM65_CPSW_PN_IET_MAC_LINKFAIL;
>> + } else {
>> + val |= AM65_CPSW_PN_IET_MAC_DISABLEVERIFY;
>> + /* Clear LINKFAIL to allow verify/response packets */
>> + val &= ~AM65_CPSW_PN_IET_MAC_LINKFAIL;
>> + }
>> +
>> + val &= ~AM65_CPSW_PN_IET_MAC_MAC_ADDFRAGSIZE_MASK;
>> + val |= AM65_CPSW_PN_IET_MAC_SET_ADDFRAGSIZE(add_frag_size);
>> + writel(val, port->port_base + AM65_CPSW_PN_REG_IET_CTRL);
>> +
>> + /* verify_timeout_count can only be set at valid link */
>> + if (cfg->verify_time > 0)
>> + port->qos.iet.verify_time_ms = cfg->verify_time;
>> + else
>> + port->qos.iet.verify_time_ms = 10;
>
> I don't think I understand what the check is for? The netlink policy for
> ETHTOOL_A_MM_VERIFY_TIME limits the range between 1 ms and 128 ms.
> How can it be 0?

I didn't check ETHTOOL_A_MM_VERIFY_TIME before.
Indeed, this check is pointless.

>
>> +
>> + /* enable/disable preemption based on link status */
>> + am65_cpsw_iet_commit_preemptible_tcs(port);
>> +
>> + return 0;
>> +}

--
cheers,
-roger