All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/net/ethernet/airoha/airoha_eth.c:1843 airoha_enable_gdm2_loopback() warn: subtract is higher precedence than shift
@ 2026-07-02  3:07 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-07-02  3:07 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Lorenzo Bianconi <lorenzo@kernel.org>
CC: Jakub Kicinski <kuba@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   4a50a141f05a8d1737661b19ee22ff8455b94409
commit: 842a7ee50d68d66afef4536bf3abdaaed2e0e5f5 net: airoha: Rename airoha_set_gdm2_loopback in airoha_enable_gdm2_loopback
date:   4 weeks ago
:::::: branch date: 3 hours ago
:::::: commit date: 4 weeks ago
config: sh-randconfig-r072-20260702 (https://download.01.org/0day-ci/archive/20260702/202607021124.3o2MGXEw-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 15.2.0
smatch: v0.5.0-9185-gbcc58b9c

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
| Fixes: 842a7ee50d68 ("net: airoha: Rename airoha_set_gdm2_loopback in airoha_enable_gdm2_loopback")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202607021124.3o2MGXEw-lkp@intel.com/

New smatch warnings:
drivers/net/ethernet/airoha/airoha_eth.c:1843 airoha_enable_gdm2_loopback() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:1843 airoha_enable_gdm2_loopback() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:1843 airoha_enable_gdm2_loopback() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:1843 airoha_enable_gdm2_loopback() warn: subtract is higher precedence than shift

Old smatch warnings:
drivers/net/ethernet/airoha/airoha_eth.c:2254 airoha_qdma_set_chan_tx_sched() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:2254 airoha_qdma_set_chan_tx_sched() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:2254 airoha_qdma_set_chan_tx_sched() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:2254 airoha_qdma_set_chan_tx_sched() warn: subtract is higher precedence than shift

vim +1843 drivers/net/ethernet/airoha/airoha_eth.c

23020f04932701 drivers/net/ethernet/mediatek/airoha_eth.c Lorenzo Bianconi 2024-07-12  1798  
842a7ee50d68d6 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-27  1799  static int airoha_enable_gdm2_loopback(struct airoha_gdm_dev *dev)
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1800  {
528c5153a557f6 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-27  1801  	struct airoha_gdm_port *port = dev->port;
528c5153a557f6 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-27  1802  	struct airoha_eth *eth = dev->eth;
1acdfbdb516b32 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-04-12  1803  	u32 val, pse_port, chan;
d647f254521975 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-04-17  1804  	int i, src_port;
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1805  
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1806  	airoha_set_gdm_port_fwd_cfg(eth, REG_GDM_FWD_CFG(AIROHA_GDM2_IDX),
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1807  				    FE_PSE_PORT_DROP);
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1808  	airoha_fe_clear(eth, REG_GDM_FWD_CFG(AIROHA_GDM2_IDX),
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1809  			GDM_STRIP_CRC_MASK);
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1810  
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1811  	/* Enable GDM2 loopback */
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1812  	airoha_fe_wr(eth, REG_GDM_TXCHN_EN(AIROHA_GDM2_IDX), 0xffffffff);
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1813  	airoha_fe_wr(eth, REG_GDM_RXCHN_EN(AIROHA_GDM2_IDX), 0xffff);
e4e5ce823bdd46 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1814  
e4e5ce823bdd46 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1815  	chan = port->id == AIROHA_GDM3_IDX ? airoha_is_7581(eth) ? 4 : 3 : 0;
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1816  	airoha_fe_rmw(eth, REG_GDM_LPBK_CFG(AIROHA_GDM2_IDX),
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1817  		      LPBK_CHAN_MASK | LPBK_MODE_MASK | LPBK_EN_MASK,
fea8cdf6738a8b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-08  1818  		      FIELD_PREP(LPBK_CHAN_MASK, chan) |
fea8cdf6738a8b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-08  1819  		      LBK_GAP_MODE_MASK | LBK_LEN_MODE_MASK |
fea8cdf6738a8b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-08  1820  		      LBK_CHAN_MODE_MASK | LPBK_EN_MASK);
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1821  	airoha_fe_rmw(eth, REG_GDM_LEN_CFG(AIROHA_GDM2_IDX),
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1822  		      GDM_SHORT_LEN_MASK | GDM_LONG_LEN_MASK,
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1823  		      FIELD_PREP(GDM_SHORT_LEN_MASK, 60) |
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1824  		      FIELD_PREP(GDM_LONG_LEN_MASK, AIROHA_MAX_MTU));
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1825  	/* Forward the traffic to the proper GDM port */
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1826  	pse_port = port->id == AIROHA_GDM3_IDX ? FE_PSE_PORT_GDM3
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1827  					       : FE_PSE_PORT_GDM4;
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1828  	airoha_set_gdm_port_fwd_cfg(eth, REG_GDM_FWD_CFG(AIROHA_GDM2_IDX),
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1829  				    pse_port);
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1830  
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1831  	/* Disable VIP and IFC for GDM2 */
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1832  	airoha_fe_clear(eth, REG_FE_VIP_PORT_EN, BIT(AIROHA_GDM2_IDX));
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1833  	airoha_fe_clear(eth, REG_FE_IFC_PORT_EN, BIT(AIROHA_GDM2_IDX));
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1834  
c06a2f2903f6fb drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-04-28  1835  	src_port = eth->soc->ops.get_sport(port, port->nbq);
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1836  	if (src_port < 0)
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1837  		return src_port;
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1838  
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1839  	airoha_fe_rmw(eth, REG_FE_WAN_PORT,
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1840  		      WAN1_EN_MASK | WAN1_MASK | WAN0_MASK,
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1841  		      FIELD_PREP(WAN0_MASK, src_port));
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1842  	val = src_port & SP_CPORT_DFT_MASK;
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28 @1843  	airoha_fe_rmw(eth,
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1844  		      REG_SP_DFT_CPORT(src_port >> fls(SP_CPORT_DFT_MASK)),
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1845  		      SP_CPORT_MASK(val),
7600fb3b41dd6a drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-04  1846  		      __field_prep(SP_CPORT_MASK(val), FE_PSE_PORT_CDM2));
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1847  
d647f254521975 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-04-17  1848  	for (i = 0; i < eth->soc->num_ppe; i++)
528c5153a557f6 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-27  1849  		airoha_ppe_set_cpu_port(dev, i, AIROHA_GDM2_IDX);
d647f254521975 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-04-17  1850  
bf3471e6e6c021 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-06  1851  	if (port->id == AIROHA_GDM4_IDX && airoha_is_7581(eth)) {
35c2c39832e569 drivers/net/ethernet/airoha/airoha_eth.c   Jakub Kicinski   2026-04-14  1852  		u32 mask = FC_ID_OF_SRC_PORT_MASK(port->nbq);
bf3471e6e6c021 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-06  1853  
bf3471e6e6c021 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-06  1854  		airoha_fe_rmw(eth, REG_SRC_PORT_FC_MAP6, mask,
bf3471e6e6c021 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-06  1855  			      __field_prep(mask, AIROHA_GDM2_IDX));
bf3471e6e6c021 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-06  1856  	}
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1857  
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1858  	return 0;
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1859  }
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1860  

:::::: The code at line 1843 was first introduced by commit
:::::: 9cd451d414f6e29f507a216fb3b19fa68c011f8c net: airoha: Add loopback support for GDM2

:::::: TO: Lorenzo Bianconi <lorenzo@kernel.org>
:::::: CC: Paolo Abeni <pabeni@redhat.com>

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* drivers/net/ethernet/airoha/airoha_eth.c:1843 airoha_enable_gdm2_loopback() warn: subtract is higher precedence than shift
@ 2026-10-18  7:49 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-10-18  7:49 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

Unfiltered warning: this smatch report is sent as-is and has not been
reviewed for false positives, so please treat it with due skepticism.

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Lorenzo Bianconi <lorenzo@kernel.org>
CC: Jakub Kicinski <kuba@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   70dd4ee72eb2d5793c62e71c14e3aba78e5a4e56
commit: 842a7ee50d68d66afef4536bf3abdaaed2e0e5f5 net: airoha: Rename airoha_set_gdm2_loopback in airoha_enable_gdm2_loopback
date:   5 months ago
:::::: branch date: 21 hours ago
:::::: commit date: 5 months ago
config: alpha-randconfig-r2201-20261017 (https://download.01.org/0day-ci/archive/20261017/202610171445.Bx2Y6CFq-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 16.1.0
smatch: v0.5.0-9187-g5189e3fb

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
| Fixes: 842a7ee50d68 ("net: airoha: Rename airoha_set_gdm2_loopback in airoha_enable_gdm2_loopback")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202610171445.Bx2Y6CFq-lkp@intel.com/

New smatch warnings:
drivers/net/ethernet/airoha/airoha_eth.c:1843 airoha_enable_gdm2_loopback() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:1843 airoha_enable_gdm2_loopback() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:1843 airoha_enable_gdm2_loopback() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:1843 airoha_enable_gdm2_loopback() warn: subtract is higher precedence than shift

Old smatch warnings:
drivers/net/ethernet/airoha/airoha_eth.c:2254 airoha_qdma_set_chan_tx_sched() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:2254 airoha_qdma_set_chan_tx_sched() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:2254 airoha_qdma_set_chan_tx_sched() warn: subtract is higher precedence than shift
drivers/net/ethernet/airoha/airoha_eth.c:2254 airoha_qdma_set_chan_tx_sched() warn: subtract is higher precedence than shift

vim +1843 drivers/net/ethernet/airoha/airoha_eth.c

23020f04932701 drivers/net/ethernet/mediatek/airoha_eth.c Lorenzo Bianconi 2024-07-12  1798  
842a7ee50d68d6 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-27  1799  static int airoha_enable_gdm2_loopback(struct airoha_gdm_dev *dev)
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1800  {
528c5153a557f6 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-27  1801  	struct airoha_gdm_port *port = dev->port;
528c5153a557f6 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-27  1802  	struct airoha_eth *eth = dev->eth;
1acdfbdb516b32 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-04-12  1803  	u32 val, pse_port, chan;
d647f254521975 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-04-17  1804  	int i, src_port;
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1805  
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1806  	airoha_set_gdm_port_fwd_cfg(eth, REG_GDM_FWD_CFG(AIROHA_GDM2_IDX),
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1807  				    FE_PSE_PORT_DROP);
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1808  	airoha_fe_clear(eth, REG_GDM_FWD_CFG(AIROHA_GDM2_IDX),
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1809  			GDM_STRIP_CRC_MASK);
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1810  
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1811  	/* Enable GDM2 loopback */
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1812  	airoha_fe_wr(eth, REG_GDM_TXCHN_EN(AIROHA_GDM2_IDX), 0xffffffff);
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1813  	airoha_fe_wr(eth, REG_GDM_RXCHN_EN(AIROHA_GDM2_IDX), 0xffff);
e4e5ce823bdd46 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1814  
e4e5ce823bdd46 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1815  	chan = port->id == AIROHA_GDM3_IDX ? airoha_is_7581(eth) ? 4 : 3 : 0;
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1816  	airoha_fe_rmw(eth, REG_GDM_LPBK_CFG(AIROHA_GDM2_IDX),
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1817  		      LPBK_CHAN_MASK | LPBK_MODE_MASK | LPBK_EN_MASK,
fea8cdf6738a8b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-08  1818  		      FIELD_PREP(LPBK_CHAN_MASK, chan) |
fea8cdf6738a8b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-08  1819  		      LBK_GAP_MODE_MASK | LBK_LEN_MODE_MASK |
fea8cdf6738a8b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-08  1820  		      LBK_CHAN_MODE_MASK | LPBK_EN_MASK);
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1821  	airoha_fe_rmw(eth, REG_GDM_LEN_CFG(AIROHA_GDM2_IDX),
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1822  		      GDM_SHORT_LEN_MASK | GDM_LONG_LEN_MASK,
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1823  		      FIELD_PREP(GDM_SHORT_LEN_MASK, 60) |
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1824  		      FIELD_PREP(GDM_LONG_LEN_MASK, AIROHA_MAX_MTU));
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1825  	/* Forward the traffic to the proper GDM port */
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1826  	pse_port = port->id == AIROHA_GDM3_IDX ? FE_PSE_PORT_GDM3
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1827  					       : FE_PSE_PORT_GDM4;
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1828  	airoha_set_gdm_port_fwd_cfg(eth, REG_GDM_FWD_CFG(AIROHA_GDM2_IDX),
985d4a55e64e43 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-20  1829  				    pse_port);
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1830  
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1831  	/* Disable VIP and IFC for GDM2 */
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1832  	airoha_fe_clear(eth, REG_FE_VIP_PORT_EN, BIT(AIROHA_GDM2_IDX));
4d513329b87c1b drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-01-05  1833  	airoha_fe_clear(eth, REG_FE_IFC_PORT_EN, BIT(AIROHA_GDM2_IDX));
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1834  
c06a2f2903f6fb drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-04-28  1835  	src_port = eth->soc->ops.get_sport(port, port->nbq);
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1836  	if (src_port < 0)
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1837  		return src_port;
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1838  
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1839  	airoha_fe_rmw(eth, REG_FE_WAN_PORT,
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1840  		      WAN1_EN_MASK | WAN1_MASK | WAN0_MASK,
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1841  		      FIELD_PREP(WAN0_MASK, src_port));
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1842  	val = src_port & SP_CPORT_DFT_MASK;
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28 @1843  	airoha_fe_rmw(eth,
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1844  		      REG_SP_DFT_CPORT(src_port >> fls(SP_CPORT_DFT_MASK)),
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1845  		      SP_CPORT_MASK(val),
7600fb3b41dd6a drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-04  1846  		      __field_prep(SP_CPORT_MASK(val), FE_PSE_PORT_CDM2));
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1847  
d647f254521975 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-04-17  1848  	for (i = 0; i < eth->soc->num_ppe; i++)
528c5153a557f6 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-05-27  1849  		airoha_ppe_set_cpu_port(dev, i, AIROHA_GDM2_IDX);
d647f254521975 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-04-17  1850  
bf3471e6e6c021 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-06  1851  	if (port->id == AIROHA_GDM4_IDX && airoha_is_7581(eth)) {
35c2c39832e569 drivers/net/ethernet/airoha/airoha_eth.c   Jakub Kicinski   2026-04-14  1852  		u32 mask = FC_ID_OF_SRC_PORT_MASK(port->nbq);
bf3471e6e6c021 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-06  1853  
bf3471e6e6c021 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-06  1854  		airoha_fe_rmw(eth, REG_SRC_PORT_FC_MAP6, mask,
bf3471e6e6c021 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-06  1855  			      __field_prep(mask, AIROHA_GDM2_IDX));
bf3471e6e6c021 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2026-03-06  1856  	}
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1857  
9d5b5219f672c8 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-10-17  1858  	return 0;
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1859  }
9cd451d414f6e2 drivers/net/ethernet/airoha/airoha_eth.c   Lorenzo Bianconi 2025-02-28  1860  

:::::: The code at line 1843 was first introduced by commit
:::::: 9cd451d414f6e29f507a216fb3b19fa68c011f8c net: airoha: Add loopback support for GDM2

:::::: TO: Lorenzo Bianconi <lorenzo@kernel.org>
:::::: CC: Paolo Abeni <pabeni@redhat.com>

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-18  7:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-18  7:49 drivers/net/ethernet/airoha/airoha_eth.c:1843 airoha_enable_gdm2_loopback() warn: subtract is higher precedence than shift kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2026-07-02  3:07 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.