All of lore.kernel.org
 help / color / mirror / Atom feed
* [frank-w-bpi-r2-4.14:6.9-r4_mt76_self 28/29] drivers/net/wireless/mediatek/mt76/mt7996/init.c:886:5: warning: no previous prototype for 'mt7996_get_chip_sku'
@ 2024-04-15  1:01 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-04-15  1:01 UTC (permalink / raw)
  To: Frank Wunderlich; +Cc: oe-kbuild-all

tree:   https://github.com/frank-w/BPI-R2-4.14 6.9-r4_mt76_self
head:   f8d0547c22785a7073256ecd281b7c7c5bd6ad36
commit: 5f76f61ef303d7df2b80016e63ec1bdd7efc2b11 [28/29] mt76: try to add the hw detection function from downstream
config: microblaze-allmodconfig (https://download.01.org/0day-ci/archive/20240415/202404150849.4uLPfyYj-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240415/202404150849.4uLPfyYj-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/202404150849.4uLPfyYj-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/net/wireless/mediatek/mt76/mt7996/init.c:886:5: warning: no previous prototype for 'mt7996_get_chip_sku' [-Wmissing-prototypes]
     886 | int mt7996_get_chip_sku(struct mt7996_dev *dev)
         |     ^~~~~~~~~~~~~~~~~~~
   drivers/net/wireless/mediatek/mt76/mt7996/init.c: In function 'mt7996_get_chip_sku':
   drivers/net/wireless/mediatek/mt76/mt7996/init.c:934:17: error: too many arguments to function 'mt7996_mcu_get_eeprom'
     934 |                 mt7996_mcu_get_eeprom(dev, MT7976C_EFUSE_OFFSET, buf);
         |                 ^~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/net/wireless/mediatek/mt76/mt7996/init.c:11:
   drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h:500:5: note: declared here
     500 | int mt7996_mcu_get_eeprom(struct mt7996_dev *dev, u32 offset);
         |     ^~~~~~~~~~~~~~~~~~~~~


vim +/mt7996_get_chip_sku +886 drivers/net/wireless/mediatek/mt76/mt7996/init.c

   885	
 > 886	int mt7996_get_chip_sku(struct mt7996_dev *dev)
   887	{
   888	#define MT7976C_CHIP_VER	0x8a10
   889	#define MT7976C_HL_CHIP_VER	0x8b00
   890	#define MT7976C_PS_CHIP_VER	0x8c10
   891	#define MT7976C_EFUSE_OFFSET	0x470
   892	#define MT7976C_EFUSE_VALUE	0xc
   893		u32 regval, val = mt76_rr(dev, MT_PAD_GPIO);
   894		u16 adie_chip_id, adie_chip_ver;
   895		u8 adie_comb, adie_num, adie_idx = 0;
   896	
   897		switch (mt76_chip(&dev->mt76)) {
   898		case 0x7990:
   899			if (FIELD_GET(MT_PAD_GPIO_2ADIE_TBTC, val)) {
   900				dev->chip_sku = MT7996_SKU_233;
   901				dev->fem_type = MT7996_FEM_INT;
   902				return 0;
   903			}
   904	
   905			adie_comb = FIELD_GET(MT_PAD_GPIO_ADIE_COMB, val);
   906			if (adie_comb <= 1)
   907				dev->chip_sku = MT7996_SKU_444;
   908			else
   909				dev->chip_sku = MT7996_SKU_404;
   910			break;
   911		case 0x7992:
   912			adie_comb = FIELD_GET(MT_PAD_GPIO_ADIE_COMB_7992, val);
   913			adie_num = FIELD_GET(MT_PAD_GPIO_ADIE_NUM_7992, val);
   914			adie_idx = !adie_num;
   915			if (adie_num)
   916				dev->chip_sku = MT7992_SKU_23;
   917			else if (adie_comb)
   918				dev->chip_sku = MT7992_SKU_44;
   919			else
   920				dev->chip_sku = MT7992_SKU_24;
   921			break;
   922		default:
   923			return -EINVAL;
   924		}
   925	
   926		if (test_bit(MT76_STATE_MCU_RUNNING, &dev->mphy.state)) {
   927			u8 buf[MT7996_EEPROM_BLOCK_SIZE];
   928			u8 idx = MT7976C_EFUSE_OFFSET % MT7996_EEPROM_BLOCK_SIZE;
   929			bool is_7976c;
   930	
   931			mt7996_mcu_rf_regval(dev, MT_ADIE_CHIP_ID(adie_idx), &regval, false);
   932			adie_chip_id = FIELD_GET(MT_ADIE_CHIP_ID_MASK, regval);
   933			adie_chip_ver = FIELD_GET(MT_ADIE_VERSION_MASK, regval);
   934			mt7996_mcu_get_eeprom(dev, MT7976C_EFUSE_OFFSET, buf);
   935			is_7976c = (adie_chip_ver == MT7976C_CHIP_VER) ||
   936				   (adie_chip_ver == MT7976C_HL_CHIP_VER) ||
   937				   (adie_chip_ver == MT7976C_PS_CHIP_VER) ||
   938				   (buf[idx] == MT7976C_EFUSE_VALUE);
   939			if (adie_chip_id == 0x7975 || (adie_chip_id == 0x7976 && is_7976c) ||
   940			    adie_chip_id == 0x7979)
   941				dev->fem_type = MT7996_FEM_INT;
   942			else if (adie_chip_id == 0x7977 && adie_comb == 1)
   943				dev->fem_type = MT7996_FEM_MIX;
   944			else
   945				dev->fem_type = MT7996_FEM_EXT;
   946		}
   947	
   948		return 0;
   949	}
   950	

-- 
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:[~2024-04-15  1:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-15  1:01 [frank-w-bpi-r2-4.14:6.9-r4_mt76_self 28/29] drivers/net/wireless/mediatek/mt76/mt7996/init.c:886:5: warning: no previous prototype for 'mt7996_get_chip_sku' 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.