All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:759:21: error: no member named 'has_xgmac' in 'struct plat_stmmacenet_data'
@ 2026-07-27  6:24 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-27  6:24 UTC (permalink / raw)
  To: Nazim Amirul; +Cc: llvm, oe-kbuild-all, 0day robot, Rohan G Thomas

tree:   https://github.com/intel-lab-lkp/linux/commits/muhammad-nazim-amirul-nazle-asmade-altera-com/net-stmmac-Fix-E2E-delay-mechanism/20260727-102730
head:   e2c5d928bebc00f481da4c3b8ccfa884cb36faef
commit: e2c5d928bebc00f481da4c3b8ccfa884cb36faef net: stmmac: Fix E2E delay mechanism
date:   4 hours ago
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20260727/202607270825.cLNsCjUl-lkp@intel.com/config)
compiler: clang version 22.1.8 (https://github.com/llvm/llvm-project ca7933e47d3a3451d81e72ac174dcb5aa28b59d1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260727/202607270825.cLNsCjUl-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607270825.cLNsCjUl-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:759:21: error: no member named 'has_xgmac' in 'struct plat_stmmacenet_data'
     759 |                             !priv->plat->has_xgmac)
         |                              ~~~~~~~~~~  ^
   1 error generated.


vim +759 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

   630	
   631	/**
   632	 *  stmmac_hwtstamp_set - control hardware timestamping.
   633	 *  @dev: device pointer.
   634	 *  @config: the timestamping configuration.
   635	 *  @extack: netlink extended ack structure for error reporting.
   636	 *  Description:
   637	 *  This function configures the MAC to enable/disable both outgoing(TX)
   638	 *  and incoming(RX) packets time stamping based on user input.
   639	 *  Return Value:
   640	 *  0 on success and an appropriate -ve integer on failure.
   641	 */
   642	static int stmmac_hwtstamp_set(struct net_device *dev,
   643				       struct kernel_hwtstamp_config *config,
   644				       struct netlink_ext_ack *extack)
   645	{
   646		struct stmmac_priv *priv = netdev_priv(dev);
   647		u32 ptp_v2 = 0;
   648		u32 tstamp_all = 0;
   649		u32 ptp_over_ipv4_udp = 0;
   650		u32 ptp_over_ipv6_udp = 0;
   651		u32 ptp_over_ethernet = 0;
   652		u32 snap_type_sel = 0;
   653		u32 ts_master_en = 0;
   654		u32 ts_event_en = 0;
   655	
   656		if (!(priv->dma_cap.time_stamp || priv->adv_ts)) {
   657			NL_SET_ERR_MSG_MOD(extack, "No support for HW time stamping");
   658			priv->hwts_tx_en = 0;
   659			priv->hwts_rx_en = 0;
   660	
   661			return -EOPNOTSUPP;
   662		}
   663	
   664		if (!netif_running(dev)) {
   665			NL_SET_ERR_MSG_MOD(extack,
   666					   "Cannot change timestamping configuration while down");
   667			return -ENODEV;
   668		}
   669	
   670		netdev_dbg(priv->dev, "%s config flags:0x%x, tx_type:0x%x, rx_filter:0x%x\n",
   671			   __func__, config->flags, config->tx_type, config->rx_filter);
   672	
   673		if (config->tx_type != HWTSTAMP_TX_OFF &&
   674		    config->tx_type != HWTSTAMP_TX_ON)
   675			return -ERANGE;
   676	
   677		if (priv->adv_ts) {
   678			switch (config->rx_filter) {
   679			case HWTSTAMP_FILTER_NONE:
   680				/* time stamp no incoming packet at all */
   681				config->rx_filter = HWTSTAMP_FILTER_NONE;
   682				break;
   683	
   684			case HWTSTAMP_FILTER_PTP_V1_L4_EVENT:
   685				/* PTP v1, UDP, any kind of event packet */
   686				config->rx_filter = HWTSTAMP_FILTER_PTP_V1_L4_EVENT;
   687				/* 'xmac' hardware can support Sync, Pdelay_Req and
   688				 * Pdelay_resp by setting bit14 and bits17/16 to 01
   689				 * This leaves Delay_Req timestamps out.
   690				 * Enable all events *and* general purpose message
   691				 * timestamping
   692				 */
   693				snap_type_sel = PTP_TCR_SNAPTYPSEL_1;
   694				ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
   695				ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
   696				break;
   697	
   698			case HWTSTAMP_FILTER_PTP_V1_L4_SYNC:
   699				/* PTP v1, UDP, Sync packet */
   700				config->rx_filter = HWTSTAMP_FILTER_PTP_V1_L4_SYNC;
   701				/* take time stamp for SYNC messages only */
   702				ts_event_en = PTP_TCR_TSEVNTENA;
   703	
   704				ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
   705				ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
   706				break;
   707	
   708			case HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ:
   709				/* PTP v1, UDP, Delay_req packet */
   710				config->rx_filter = HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ;
   711				/* take time stamp for Delay_Req messages only */
   712				ts_master_en = PTP_TCR_TSMSTRENA;
   713				ts_event_en = PTP_TCR_TSEVNTENA;
   714	
   715				ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
   716				ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
   717				break;
   718	
   719			case HWTSTAMP_FILTER_PTP_V2_L4_EVENT:
   720				/* PTP v2, UDP, any kind of event packet */
   721				config->rx_filter = HWTSTAMP_FILTER_PTP_V2_L4_EVENT;
   722				ptp_v2 = PTP_TCR_TSVER2ENA;
   723				/* take time stamp for all event messages */
   724				snap_type_sel = PTP_TCR_SNAPTYPSEL_1;
   725	
   726				ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
   727				ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
   728				break;
   729	
   730			case HWTSTAMP_FILTER_PTP_V2_L4_SYNC:
   731				/* PTP v2, UDP, Sync packet */
   732				config->rx_filter = HWTSTAMP_FILTER_PTP_V2_L4_SYNC;
   733				ptp_v2 = PTP_TCR_TSVER2ENA;
   734				/* take time stamp for SYNC messages only */
   735				ts_event_en = PTP_TCR_TSEVNTENA;
   736	
   737				ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
   738				ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
   739				break;
   740	
   741			case HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ:
   742				/* PTP v2, UDP, Delay_req packet */
   743				config->rx_filter = HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ;
   744				ptp_v2 = PTP_TCR_TSVER2ENA;
   745				/* take time stamp for Delay_Req messages only */
   746				ts_master_en = PTP_TCR_TSMSTRENA;
   747				ts_event_en = PTP_TCR_TSEVNTENA;
   748	
   749				ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
   750				ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
   751				break;
   752	
   753			case HWTSTAMP_FILTER_PTP_V2_EVENT:
   754				/* PTP v2/802.AS1 any layer, any kind of event packet */
   755				config->rx_filter = HWTSTAMP_FILTER_PTP_V2_EVENT;
   756				ptp_v2 = PTP_TCR_TSVER2ENA;
   757				snap_type_sel = PTP_TCR_SNAPTYPSEL_1;
   758				if (priv->synopsys_id < DWMAC_CORE_3_70 &&
 > 759				    !priv->plat->has_xgmac)
   760					ts_event_en = PTP_TCR_TSEVNTENA;
   761				ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
   762				ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
   763				ptp_over_ethernet = PTP_TCR_TSIPENA;
   764				break;
   765	
   766			case HWTSTAMP_FILTER_PTP_V2_SYNC:
   767				/* PTP v2/802.AS1, any layer, Sync packet */
   768				config->rx_filter = HWTSTAMP_FILTER_PTP_V2_SYNC;
   769				ptp_v2 = PTP_TCR_TSVER2ENA;
   770				/* take time stamp for SYNC messages only */
   771				ts_event_en = PTP_TCR_TSEVNTENA;
   772	
   773				ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
   774				ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
   775				ptp_over_ethernet = PTP_TCR_TSIPENA;
   776				break;
   777	
   778			case HWTSTAMP_FILTER_PTP_V2_DELAY_REQ:
   779				/* PTP v2/802.AS1, any layer, Delay_req packet */
   780				config->rx_filter = HWTSTAMP_FILTER_PTP_V2_DELAY_REQ;
   781				ptp_v2 = PTP_TCR_TSVER2ENA;
   782				/* take time stamp for Delay_Req messages only */
   783				ts_master_en = PTP_TCR_TSMSTRENA;
   784				ts_event_en = PTP_TCR_TSEVNTENA;
   785	
   786				ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
   787				ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
   788				ptp_over_ethernet = PTP_TCR_TSIPENA;
   789				break;
   790	
   791			case HWTSTAMP_FILTER_NTP_ALL:
   792			case HWTSTAMP_FILTER_ALL:
   793				/* time stamp any incoming packet */
   794				config->rx_filter = HWTSTAMP_FILTER_ALL;
   795				tstamp_all = PTP_TCR_TSENALL;
   796				break;
   797	
   798			default:
   799				return -ERANGE;
   800			}
   801		} else {
   802			switch (config->rx_filter) {
   803			case HWTSTAMP_FILTER_NONE:
   804				config->rx_filter = HWTSTAMP_FILTER_NONE;
   805				break;
   806			default:
   807				/* PTP v1, UDP, any kind of event packet */
   808				config->rx_filter = HWTSTAMP_FILTER_PTP_V1_L4_EVENT;
   809				break;
   810			}
   811		}
   812		priv->hwts_rx_en = config->rx_filter != HWTSTAMP_FILTER_NONE;
   813		priv->hwts_tx_en = config->tx_type == HWTSTAMP_TX_ON;
   814	
   815		priv->systime_flags = STMMAC_HWTS_ACTIVE;
   816		if (!priv->tsfupdt_coarse)
   817			priv->systime_flags |= PTP_TCR_TSCFUPDT;
   818	
   819		if (priv->hwts_tx_en || priv->hwts_rx_en) {
   820			priv->systime_flags |= tstamp_all | ptp_v2 |
   821					       ptp_over_ethernet | ptp_over_ipv6_udp |
   822					       ptp_over_ipv4_udp | ts_event_en |
   823					       ts_master_en | snap_type_sel;
   824		}
   825	
   826		stmmac_config_hw_tstamping(priv, priv->ptpaddr, priv->systime_flags);
   827	
   828		priv->tstamp_config = *config;
   829	
   830		return 0;
   831	}
   832	

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-27  6:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-27  6:24 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:759:21: error: no member named 'has_xgmac' in 'struct plat_stmmacenet_data' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.