OSDN Git Service

net: macb: Update gem PTP support check
authorHarini Katakam <harini.katakam@amd.com>
Tue, 11 Apr 2023 12:37:10 +0000 (18:07 +0530)
committerJakub Kicinski <kuba@kernel.org>
Fri, 14 Apr 2023 05:16:09 +0000 (22:16 -0700)
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@amd.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/cadence/macb.h
drivers/net/ethernet/cadence/macb_main.c

index c1fc91c..0756080 100644 (file)
@@ -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);
 }
 
 /**
index 541e4dd..df1a675 100644 (file)
@@ -3893,17 +3893,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);