[PATCH v4 093/103] net/ice/base: make Tx and Rx vernier offset calibration independent

Burakov, Anatoly anatoly.burakov at intel.com
Wed Jun 26 14:11:32 CEST 2024


On 6/26/2024 1:42 PM, Anatoly Burakov wrote:
> The Tx and Rx calibration and timestamp generation blocks are independent. It is
> not required to wait for both to complete before programming the offsets.
> Instead, we can program the offset for each independently as soon as they are
> ready.
> 
> Modify the ice_phy_cfg_tx_offset_e822 and ice_phy_cfg_rx_offset_e822 functions
> with the following additions:
> 
>   a) Check the relevant P_REG_*_OR bit first and do nothing if the offset has
>   already been programmed
> 
>   b) Check the P_REG_*_OV_STATUS bit to determine if the offset status is ready,
>   meaning that the hardware vernier calibration steps have completed. Return
>   ICE_ERR_NOT_READY if the offset is not yet read.
> 
> The driver can now simply call ice_phy_cfg_rx_offset_e822 and
> ice_phy_cfg_tx_offset_e822 periodically until the offsets have been programmed.
> 
> In this way, the Tx and Rx blocks will be enabled independently without each
> waiting on the other block to complete. This can enable faster calibration on
> some setups which have a low rate of either Tx or Rx traffic.
> 
> Signed-off-by: Siddaraju DH <siddaraju.dh at intel.com>
> Signed-off-by: Jacob Keller <jacob.e.keller at intel.com>
> Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
> ---

The patch has accidentally been submitted with incorrect authorship 
information, please amend on apply to being authored by Siddaraju DH 
(from first signoff line).

-- 
Thanks,
Anatoly



More information about the dev mailing list