• Muhammad Husaini Zulkifli's avatar
    igc: Expose tx-usecs coalesce setting to user · 1703b2e0
    Muhammad Husaini Zulkifli authored
    When users attempt to obtain the coalesce setting using the
    ethtool command, current code always returns 0 for tx-usecs.
    This is because I225/6 always uses a queue pair setting, hence
    tx_coalesce_usecs does not return a value during the
    igc_ethtool_get_coalesce() callback process. The pair queue
    condition checking in igc_ethtool_get_coalesce() is removed by
    this patch so that the user gets information of the value of tx-usecs.
    
    Even if i225/6 is using queue pair setting, there is no harm in
    notifying the user of the tx-usecs. The implementation of the current
    code may have previously been a copy of the legacy code i210.
    Since I225 has the queue pair setting enabled, tx-usecs will always adhere
    to the user-set rx-usecs value. An error message will appear when the user
    attempts to set the tx-usecs value for the input parameters because,
    by default, they should only set the rx-usecs value.
    
    This patch also adds the helper function to get the
    previous rx coalesce value similar to tx coalesce.
    
    How to test:
    User can get the coalesce value using ethtool command.
    
    Example command:
    Get: ethtool -c <interface>
    
    Previous output:
    
    rx-usecs: 3
    rx-frames: n/a
    rx-usecs-irq: n/a
    rx-frames-irq: n/a
    
    tx-usecs: 0
    tx-frames: n/a
    tx-usecs-irq: n/a
    tx-frames-irq: n/a
    
    New output:
    
    rx-usecs: 3
    rx-frames: n/a
    rx-usecs-irq: n/a
    rx-frames-irq: n/a
    
    tx-usecs: 3
    tx-frames: n/a
    tx-usecs-irq: n/a
    tx-frames-irq: n/a
    
    Fixes: 8c5ad0da ("igc: Add ethtool support")
    Signed-off-by: default avatarMuhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
    Tested-by: default avatarNaama Meir <naamax.meir@linux.intel.com>
    Reviewed-by: default avatarSimon Horman <horms@kernel.org>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    Link: https://lore.kernel.org/r/20230919170331.1581031-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    1703b2e0
igc_ethtool.c 54.5 KB