2023-03-27 11:07:37

by Harini Katakam

[permalink] [raw]
Subject: [PATCH net-next v3 0/3] Macb PTP minor updates

- Enable PTP unicast
- Optimize HW timestamp reading

v3:
Add patch to move CONFIG_MACB_USE_HWTSTAMP check into gem_has_ptp

v2:
- Handle unicast setting with one register R/W operation
- Update HW timestamp logic to remove sec_rollover variable
- Removed Richard Cochran's ACK as patch 2/2 changed

Harini Katakam (3):
net: macb: Update gem PTP support check
net: macb: Enable PTP unicast
net: macb: Optimize reading HW timestamp

drivers/net/ethernet/cadence/macb.h | 6 +++++-
drivers/net/ethernet/cadence/macb_main.c | 15 +++++++++++----
drivers/net/ethernet/cadence/macb_ptp.c | 4 ++--
3 files changed, 18 insertions(+), 7 deletions(-)

--
2.17.1


2023-03-27 11:07:57

by Harini Katakam

[permalink] [raw]
Subject: [PATCH net-next v3 1/3] net: macb: Update gem PTP support check

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 <[email protected]>
---
v3:
New patch

drivers/net/ethernet/cadence/macb.h | 2 +-
drivers/net/ethernet/cadence/macb_main.c | 2 --
2 files changed, 1 insertion(+), 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)));
}

/**
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index f77bd1223c8f..bcda6a08706f 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -3889,7 +3889,6 @@ 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,
@@ -3899,7 +3898,6 @@ static void macb_configure_caps(struct macb *bp,
bp->ptp_info = &gem_ptp_info;
}
}
-#endif
}

dev_dbg(&bp->pdev->dev, "Cadence caps 0x%08x\n", bp->caps);
--
2.17.1

2023-03-27 11:08:56

by Harini Katakam

[permalink] [raw]
Subject: [PATCH net-next v3 3/3] net: macb: Optimize reading HW timestamp

From: Harini Katakam <[email protected]>

The seconds input from BD (6 bits) just needs to be ORed with the
upper bits from timer in this function. Avoid addition operation
every single time. Seconds rollover handling is left untouched.

Signed-off-by: Harini Katakam <[email protected]>
Signed-off-by: Michal Simek <[email protected]>
Signed-off-by: Radhey Shyam Pandey <[email protected]>
---
v3:
No change
v2:
- Update HW timestamp logic to remove sec_rollover variable as per
Cladiu's comment
- Remove Richard Cochran's ACK on original patch as the patch changed

drivers/net/ethernet/cadence/macb_ptp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/cadence/macb_ptp.c b/drivers/net/ethernet/cadence/macb_ptp.c
index f962a95068a0..51d26fa190d7 100644
--- a/drivers/net/ethernet/cadence/macb_ptp.c
+++ b/drivers/net/ethernet/cadence/macb_ptp.c
@@ -258,6 +258,8 @@ static int gem_hw_timestamp(struct macb *bp, u32 dma_desc_ts_1,
*/
gem_tsu_get_time(&bp->ptp_clock_info, &tsu, NULL);

+ ts->tv_sec |= ((~GEM_DMA_SEC_MASK) & tsu.tv_sec);
+
/* If the top bit is set in the timestamp,
* but not in 1588 timer, it has rolled over,
* so subtract max size
@@ -266,8 +268,6 @@ static int gem_hw_timestamp(struct macb *bp, u32 dma_desc_ts_1,
!(tsu.tv_sec & (GEM_DMA_SEC_TOP >> 1)))
ts->tv_sec -= GEM_DMA_SEC_TOP;

- ts->tv_sec += ((~GEM_DMA_SEC_MASK) & tsu.tv_sec);
-
return 0;
}

--
2.17.1

2023-03-27 11:10:19

by Harini Katakam

[permalink] [raw]
Subject: [PATCH net-next v3 2/3] net: macb: Enable PTP unicast

From: Harini Katakam <[email protected]>

Enable transmission and reception of PTP unicast packets by
updating PTP unicast config bit and setting current HW mac
address as allowed address in PTP unicast filter registers.

Signed-off-by: Harini Katakam <[email protected]>
Signed-off-by: Michal Simek <[email protected]>
Signed-off-by: Radhey Shyam Pandey <[email protected]>
---
v3:
Remove config check as it is handled in gem_has_ptp
v2:
Handle operation using a single write as suggested by Cladiu

drivers/net/ethernet/cadence/macb.h | 4 ++++
drivers/net/ethernet/cadence/macb_main.c | 13 +++++++++++--
2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h
index b6c5ecbd572c..709e3b560883 100644
--- a/drivers/net/ethernet/cadence/macb.h
+++ b/drivers/net/ethernet/cadence/macb.h
@@ -95,6 +95,8 @@
#define GEM_SA4B 0x00A0 /* Specific4 Bottom */
#define GEM_SA4T 0x00A4 /* Specific4 Top */
#define GEM_WOL 0x00b8 /* Wake on LAN */
+#define GEM_RXPTPUNI 0x00D4 /* PTP RX Unicast address */
+#define GEM_TXPTPUNI 0x00D8 /* PTP TX Unicast address */
#define GEM_EFTSH 0x00e8 /* PTP Event Frame Transmitted Seconds Register 47:32 */
#define GEM_EFRSH 0x00ec /* PTP Event Frame Received Seconds Register 47:32 */
#define GEM_PEFTSH 0x00f0 /* PTP Peer Event Frame Transmitted Seconds Register 47:32 */
@@ -245,6 +247,8 @@
#define MACB_TZQ_OFFSET 12 /* Transmit zero quantum pause frame */
#define MACB_TZQ_SIZE 1
#define MACB_SRTSM_OFFSET 15 /* Store Receive Timestamp to Memory */
+#define MACB_PTPUNI_OFFSET 20 /* PTP Unicast packet enable */
+#define MACB_PTPUNI_SIZE 1
#define MACB_OSSMODE_OFFSET 24 /* Enable One Step Synchro Mode */
#define MACB_OSSMODE_SIZE 1
#define MACB_MIIONRGMII_OFFSET 28 /* MII Usage on RGMII Interface */
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index bcda6a08706f..9b85b05c20cd 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -287,6 +287,11 @@ static void macb_set_hwaddr(struct macb *bp)
top = cpu_to_le16(*((u16 *)(bp->dev->dev_addr + 4)));
macb_or_gem_writel(bp, SA1T, top);

+ if (gem_has_ptp(bp)) {
+ gem_writel(bp, RXPTPUNI, bottom);
+ gem_writel(bp, TXPTPUNI, bottom);
+ }
+
/* Clear unused address register sets */
macb_or_gem_writel(bp, SA2B, 0);
macb_or_gem_writel(bp, SA2T, 0);
@@ -773,8 +778,12 @@ static void macb_mac_link_up(struct phylink_config *config,

spin_unlock_irqrestore(&bp->lock, flags);

- /* Enable Rx and Tx */
- macb_writel(bp, NCR, macb_readl(bp, NCR) | MACB_BIT(RE) | MACB_BIT(TE));
+ /* Enable Rx and Tx; Enable PTP unicast */
+ ctrl = macb_readl(bp, NCR);
+ if (gem_has_ptp(bp))
+ ctrl |= MACB_BIT(PTPUNI);
+
+ macb_writel(bp, NCR, ctrl | MACB_BIT(RE) | MACB_BIT(TE));

netif_tx_wake_all_queues(ndev);
}
--
2.17.1

2023-03-27 17:53:24

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH net-next v3 1/3] net: macb: Update gem PTP support check

Hi Harini,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/main]

url: https://github.com/intel-lab-lkp/linux/commits/Harini-Katakam/net-macb-Update-gem-PTP-support-check/20230327-190937
patch link: https://lore.kernel.org/r/20230327110607.21964-2-harini.katakam%40amd.com
patch subject: [PATCH net-next v3 1/3] net: macb: Update gem PTP support check
config: riscv-rv32_defconfig (https://download.01.org/0day-ci/archive/20230328/[email protected]/config)
compiler: riscv32-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/0a2f03b6a91caa746dfd1b56b998534464dae83d
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Harini-Katakam/net-macb-Update-gem-PTP-support-check/20230327-190937
git checkout 0a2f03b6a91caa746dfd1b56b998534464dae83d
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/net/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email protected]>
| Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

drivers/net/ethernet/cadence/macb_main.c: In function 'macb_configure_caps':
>> drivers/net/ethernet/cadence/macb_main.c:3897:35: error: 'struct macb' has no member named 'hw_dma_cap'
3897 | bp->hw_dma_cap |= HW_DMA_CAP_PTP;
| ^~
>> drivers/net/ethernet/cadence/macb_main.c:3897:51: error: 'HW_DMA_CAP_PTP' undeclared (first use in this function)
3897 | bp->hw_dma_cap |= HW_DMA_CAP_PTP;
| ^~~~~~~~~~~~~~
drivers/net/ethernet/cadence/macb_main.c:3897:51: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/net/ethernet/cadence/macb_main.c:3898:49: error: 'gem_ptp_info' undeclared (first use in this function); did you mean 'gem_ptp_init'?
3898 | bp->ptp_info = &gem_ptp_info;
| ^~~~~~~~~~~~
| gem_ptp_init


vim +3897 drivers/net/ethernet/cadence/macb_main.c

5f1fa992382cf8 drivers/net/macb.c Alexander Beregalov 2009-04-11 3866
64ec42fe272322 drivers/net/ethernet/cadence/macb.c Moritz Fischer 2016-03-29 3867 /* Configure peripheral capabilities according to device tree
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3868 * and integration options used
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3869 */
64ec42fe272322 drivers/net/ethernet/cadence/macb.c Moritz Fischer 2016-03-29 3870 static void macb_configure_caps(struct macb *bp,
64ec42fe272322 drivers/net/ethernet/cadence/macb.c Moritz Fischer 2016-03-29 3871 const struct macb_config *dt_conf)
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3872 {
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3873 u32 dcfg;
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3874
f6970505defd0e drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2015-03-31 3875 if (dt_conf)
f6970505defd0e drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2015-03-31 3876 bp->caps = dt_conf->caps;
f6970505defd0e drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2015-03-31 3877
f2ce8a9e48385f drivers/net/ethernet/cadence/macb.c Andy Shevchenko 2015-07-24 3878 if (hw_is_gem(bp->regs, bp->native_io)) {
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3879 bp->caps |= MACB_CAPS_MACB_IS_GEM;
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3880
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3881 dcfg = gem_readl(bp, DCFG1);
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3882 if (GEM_BFEXT(IRQCOR, dcfg) == 0)
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3883 bp->caps |= MACB_CAPS_ISR_CLEAR_ON_WRITE;
e4e143e26ce8f5 drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 3884 if (GEM_BFEXT(NO_PCS, dcfg) == 0)
e4e143e26ce8f5 drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 3885 bp->caps |= MACB_CAPS_PCS;
e4e143e26ce8f5 drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 3886 dcfg = gem_readl(bp, DCFG12);
e4e143e26ce8f5 drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 3887 if (GEM_BFEXT(HIGH_SPEED, dcfg) == 1)
e4e143e26ce8f5 drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 3888 bp->caps |= MACB_CAPS_HIGH_SPEED;
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3889 dcfg = gem_readl(bp, DCFG2);
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3890 if ((dcfg & (GEM_BIT(RX_PKT_BUFF) | GEM_BIT(TX_PKT_BUFF))) == 0)
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3891 bp->caps |= MACB_CAPS_FIFO_MODE;
ab91f0a9b5f4b9 drivers/net/ethernet/cadence/macb_main.c Rafal Ozieblo 2017-06-29 3892 if (gem_has_ptp(bp)) {
7b4296148066f1 drivers/net/ethernet/cadence/macb.c Rafal Ozieblo 2017-06-29 3893 if (!GEM_BFEXT(TSU, gem_readl(bp, DCFG5)))
7897b071ac3b45 drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 3894 dev_err(&bp->pdev->dev,
7897b071ac3b45 drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 3895 "GEM doesn't support hardware ptp.\n");
ab91f0a9b5f4b9 drivers/net/ethernet/cadence/macb_main.c Rafal Ozieblo 2017-06-29 3896 else {
7b4296148066f1 drivers/net/ethernet/cadence/macb.c Rafal Ozieblo 2017-06-29 @3897 bp->hw_dma_cap |= HW_DMA_CAP_PTP;
ab91f0a9b5f4b9 drivers/net/ethernet/cadence/macb_main.c Rafal Ozieblo 2017-06-29 @3898 bp->ptp_info = &gem_ptp_info;
7b4296148066f1 drivers/net/ethernet/cadence/macb.c Rafal Ozieblo 2017-06-29 3899 }
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3900 }
ab91f0a9b5f4b9 drivers/net/ethernet/cadence/macb_main.c Rafal Ozieblo 2017-06-29 3901 }
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3902
a35919e174350d drivers/net/ethernet/cadence/macb.c Andy Shevchenko 2015-07-24 3903 dev_dbg(&bp->pdev->dev, "Cadence caps 0x%08x\n", bp->caps);
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3904 }
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3905

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

2023-03-27 22:41:56

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH net-next v3 1/3] net: macb: Update gem PTP support check

Hi Harini,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/main]

url: https://github.com/intel-lab-lkp/linux/commits/Harini-Katakam/net-macb-Update-gem-PTP-support-check/20230327-190937
patch link: https://lore.kernel.org/r/20230327110607.21964-2-harini.katakam%40amd.com
patch subject: [PATCH net-next v3 1/3] net: macb: Update gem PTP support check
config: powerpc-randconfig-r021-20230327 (https://download.01.org/0day-ci/archive/20230328/[email protected]/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/0a2f03b6a91caa746dfd1b56b998534464dae83d
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Harini-Katakam/net-macb-Update-gem-PTP-support-check/20230327-190937
git checkout 0a2f03b6a91caa746dfd1b56b998534464dae83d
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=powerpc olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/net/ethernet/cadence/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email protected]>
| Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> drivers/net/ethernet/cadence/macb_main.c:3897:9: error: no member named 'hw_dma_cap' in 'struct macb'
bp->hw_dma_cap |= HW_DMA_CAP_PTP;
~~ ^
>> drivers/net/ethernet/cadence/macb_main.c:3897:23: error: use of undeclared identifier 'HW_DMA_CAP_PTP'
bp->hw_dma_cap |= HW_DMA_CAP_PTP;
^
>> drivers/net/ethernet/cadence/macb_main.c:3898:21: error: use of undeclared identifier 'gem_ptp_info'; did you mean 'gem_ptp_init'?
bp->ptp_info = &gem_ptp_info;
^~~~~~~~~~~~
gem_ptp_init
drivers/net/ethernet/cadence/macb.h:1352:20: note: 'gem_ptp_init' declared here
static inline void gem_ptp_init(struct net_device *ndev) { }
^
3 errors generated.


vim +3897 drivers/net/ethernet/cadence/macb_main.c

5f1fa992382cf8 drivers/net/macb.c Alexander Beregalov 2009-04-11 3866
64ec42fe272322 drivers/net/ethernet/cadence/macb.c Moritz Fischer 2016-03-29 3867 /* Configure peripheral capabilities according to device tree
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3868 * and integration options used
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3869 */
64ec42fe272322 drivers/net/ethernet/cadence/macb.c Moritz Fischer 2016-03-29 3870 static void macb_configure_caps(struct macb *bp,
64ec42fe272322 drivers/net/ethernet/cadence/macb.c Moritz Fischer 2016-03-29 3871 const struct macb_config *dt_conf)
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3872 {
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3873 u32 dcfg;
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3874
f6970505defd0e drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2015-03-31 3875 if (dt_conf)
f6970505defd0e drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2015-03-31 3876 bp->caps = dt_conf->caps;
f6970505defd0e drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2015-03-31 3877
f2ce8a9e48385f drivers/net/ethernet/cadence/macb.c Andy Shevchenko 2015-07-24 3878 if (hw_is_gem(bp->regs, bp->native_io)) {
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3879 bp->caps |= MACB_CAPS_MACB_IS_GEM;
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3880
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3881 dcfg = gem_readl(bp, DCFG1);
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3882 if (GEM_BFEXT(IRQCOR, dcfg) == 0)
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3883 bp->caps |= MACB_CAPS_ISR_CLEAR_ON_WRITE;
e4e143e26ce8f5 drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 3884 if (GEM_BFEXT(NO_PCS, dcfg) == 0)
e4e143e26ce8f5 drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 3885 bp->caps |= MACB_CAPS_PCS;
e4e143e26ce8f5 drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 3886 dcfg = gem_readl(bp, DCFG12);
e4e143e26ce8f5 drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 3887 if (GEM_BFEXT(HIGH_SPEED, dcfg) == 1)
e4e143e26ce8f5 drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 3888 bp->caps |= MACB_CAPS_HIGH_SPEED;
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3889 dcfg = gem_readl(bp, DCFG2);
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3890 if ((dcfg & (GEM_BIT(RX_PKT_BUFF) | GEM_BIT(TX_PKT_BUFF))) == 0)
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3891 bp->caps |= MACB_CAPS_FIFO_MODE;
ab91f0a9b5f4b9 drivers/net/ethernet/cadence/macb_main.c Rafal Ozieblo 2017-06-29 3892 if (gem_has_ptp(bp)) {
7b4296148066f1 drivers/net/ethernet/cadence/macb.c Rafal Ozieblo 2017-06-29 3893 if (!GEM_BFEXT(TSU, gem_readl(bp, DCFG5)))
7897b071ac3b45 drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 3894 dev_err(&bp->pdev->dev,
7897b071ac3b45 drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 3895 "GEM doesn't support hardware ptp.\n");
ab91f0a9b5f4b9 drivers/net/ethernet/cadence/macb_main.c Rafal Ozieblo 2017-06-29 3896 else {
7b4296148066f1 drivers/net/ethernet/cadence/macb.c Rafal Ozieblo 2017-06-29 @3897 bp->hw_dma_cap |= HW_DMA_CAP_PTP;
ab91f0a9b5f4b9 drivers/net/ethernet/cadence/macb_main.c Rafal Ozieblo 2017-06-29 @3898 bp->ptp_info = &gem_ptp_info;
7b4296148066f1 drivers/net/ethernet/cadence/macb.c Rafal Ozieblo 2017-06-29 3899 }
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3900 }
ab91f0a9b5f4b9 drivers/net/ethernet/cadence/macb_main.c Rafal Ozieblo 2017-06-29 3901 }
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3902
a35919e174350d drivers/net/ethernet/cadence/macb.c Andy Shevchenko 2015-07-24 3903 dev_dbg(&bp->pdev->dev, "Cadence caps 0x%08x\n", bp->caps);
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3904 }
e175587f4d32de drivers/net/ethernet/cadence/macb.c Nicolas Ferre 2014-07-24 3905

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests