Re: [PATCH net-next v4 1/3] net: macb: Update gem PTP support check

From: Leon Romanovsky
Date: Thu Mar 30 2023 - 03:07:00 EST


On Thu, Mar 30, 2023 at 10:38:07AM +0530, Harini Katakam wrote:
> There are currently two checks for PTP functionality - one on GEM
> capability and another on the kernel config option. Combine them
> into a single function as there's no use case where gem_has_ptp is
> TRUE and MACB_USE_HWSTAMP is false.
>
> Signed-off-by: Harini Katakam <harini.katakam@xxxxxxx>
> ---
> v4:
> Fixed error introduced in 1/3 in v3:
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Link: https://lore.kernel.org/oe-kbuild-all/202303280600.LarprmhI-lkp@xxxxxxxxx/
> v3:
> New patch
>
> drivers/net/ethernet/cadence/macb.h | 2 +-
> drivers/net/ethernet/cadence/macb_main.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h
> index c1fc91c97cee..b6c5ecbd572c 100644
> --- a/drivers/net/ethernet/cadence/macb.h
> +++ b/drivers/net/ethernet/cadence/macb.h
> @@ -1363,7 +1363,7 @@ static inline bool macb_is_gem(struct macb *bp)
>
> static inline bool gem_has_ptp(struct macb *bp)
> {
> - return !!(bp->caps & MACB_CAPS_GEM_HAS_PTP);
> + return (IS_ENABLED(CONFIG_MACB_USE_HWSTAMP) && (!!(bp->caps & MACB_CAPS_GEM_HAS_PTP)));

Brackets and double !! are not needed.

return IS_ENABLED(CONFIG_MACB_USE_HWSTAMP) && (bp->caps & MACB_CAPS_GEM_HAS_PTP);

> }
>
> /**
> diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
> index f77bd1223c8f..eab2d41fa571 100644
> --- a/drivers/net/ethernet/cadence/macb_main.c
> +++ b/drivers/net/ethernet/cadence/macb_main.c
> @@ -3889,17 +3889,17 @@ static void macb_configure_caps(struct macb *bp,
> dcfg = gem_readl(bp, DCFG2);
> if ((dcfg & (GEM_BIT(RX_PKT_BUFF) | GEM_BIT(TX_PKT_BUFF))) == 0)
> bp->caps |= MACB_CAPS_FIFO_MODE;
> -#ifdef CONFIG_MACB_USE_HWSTAMP
> if (gem_has_ptp(bp)) {
> if (!GEM_BFEXT(TSU, gem_readl(bp, DCFG5)))
> dev_err(&bp->pdev->dev,
> "GEM doesn't support hardware ptp.\n");
> else {
> +#ifdef CONFIG_MACB_USE_HWSTAMP
> bp->hw_dma_cap |= HW_DMA_CAP_PTP;
> bp->ptp_info = &gem_ptp_info;
> +#endif
> }
> }
> -#endif
> }
>
> dev_dbg(&bp->pdev->dev, "Cadence caps 0x%08x\n", bp->caps);
> --
> 2.17.1
>