tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 4134526a9cfd552230ec7a66a1738a9066d9a0c6 commit: 01e6e2075c432fde7fb5a66202b41bbd469de620 [20421/30000] Net: m1600: Add m1600-driver for nebula-matrix m1600 series smart NIC. config: x86_64-randconfig-122-20240413 (https://download.01.org/0day-ci/archive/20240414/202404141531.eh0C6OjT-lkp@i...) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240414/202404141531.eh0C6OjT-lkp@i...)
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/202404141531.eh0C6OjT-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/net/ethernet/nebula-matrix/m1600/debug.c:267:21: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/nebula-matrix/m1600/debug.c:440:21: sparse: sparse: cast removes address space '__iomem' of expression drivers/net/ethernet/nebula-matrix/m1600/debug.c:444:21: sparse: sparse: cast removes address space '__iomem' of expression --
drivers/net/ethernet/nebula-matrix/m1600/ethtool.c:507:5: sparse: sparse: symbol 'nbl_get_eeprom_len' was not declared. Should it be static? drivers/net/ethernet/nebula-matrix/m1600/ethtool.c:643:5: sparse: sparse: symbol 'nbl_query_link_speed' was not declared. Should it be static?
--
drivers/net/ethernet/nebula-matrix/m1600/main.c:155:6: sparse: sparse: symbol 'nbl_service_task2_schedule' was not declared. Should it be static? drivers/net/ethernet/nebula-matrix/m1600/main.c:436:6: sparse: sparse: symbol 'nbl_check_and_set_module_info' was not declared. Should it be static?
--
drivers/net/ethernet/nebula-matrix/m1600/txrx.c:822:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] buffer_addr @@ got restricted __le64 [usertype] @@
drivers/net/ethernet/nebula-matrix/m1600/txrx.c:822:38: sparse: expected unsigned long long [usertype] buffer_addr drivers/net/ethernet/nebula-matrix/m1600/txrx.c:822:38: sparse: got restricted __le64 [usertype]
vim +/__iomem +267 drivers/net/ethernet/nebula-matrix/m1600/debug.c
251 252 /* ring */ 253 static int ring_seq_show(struct seq_file *m, void *v) 254 { 255 int i, j, n; 256 struct nbl_rx_desc *rx_desc; 257 struct nbl_tx_desc *tx_desc; 258 struct nbl_ring *ring = m->private; 259 260 seq_printf(m, "size=%d\n", ring->size); 261 seq_printf(m, "dma=0x%llX\n", (unsigned long long)ring->dma); 262 seq_printf(m, "desc=0x%llX\n", (unsigned long long)ring->desc); 263 seq_printf(m, "desc_num=%d\n", ring->desc_num); 264 seq_printf(m, "local_qid=%d\n", ring->local_qid); 265 seq_printf(m, "queue_index=%d\n", ring->queue_index); 266 seq_printf(m, "notify_addr=0x%llX\n",
267 (unsigned long long)ring->notify_addr);
268 seq_printf(m, "buf_len=%d\n", ring->buf_len); 269 seq_printf(m, "next_to_use=%d\n", ring->next_to_use); 270 seq_printf(m, "next_to_clean=%d\n", ring->next_to_clean); 271 seq_printf(m, "next_to_alloc=%d\n", ring->next_to_alloc); 272 seq_printf(m, "tail_ptr=%d\n", ring->tail_ptr); 273 if (!ring->desc) { 274 seq_puts(m, "[Unallocated]\n"); 275 return 0; 276 } 277 278 if (ring->local_qid & 1) { 279 tx_desc = (struct nbl_tx_desc *)ring->desc; 280 n = sizeof(struct nbl_tx_desc) / sizeof(u32); 281 for (i = 0; i < ring->desc_num; i++) { 282 seq_printf(m, "[desc-%03d]: ", i); 283 for (j = 0; j < n; j++) 284 seq_printf(m, "%08X ", ((u32 *)tx_desc)[j]); 285 seq_printf(m, "dlen:%d ", tx_desc->data_len); 286 seq_printf(m, "plen:%d ", tx_desc->pkt_len); 287 seq_printf(m, "dd:%d ", tx_desc->dd); 288 seq_printf(m, "eop:%d ", tx_desc->eop); 289 seq_printf(m, "sop:%d ", tx_desc->sop); 290 seq_printf(m, "fwd:%d ", tx_desc->fwd); 291 seq_printf(m, "dp:%d ", tx_desc->dport); 292 seq_printf(m, "dpi:%d ", tx_desc->dport_id); 293 seq_printf(m, "l3c:%d ", tx_desc->l3_checksum); 294 seq_printf(m, "l4c:%d ", tx_desc->l4_checksum); 295 seq_printf(m, "rsslag:%d ", tx_desc->rss_lag); 296 seq_printf(m, "l3_off:%d\n", tx_desc->l3_start_offset); 297 tx_desc++; 298 } 299 } else { 300 rx_desc = (struct nbl_rx_desc *)ring->desc; 301 n = sizeof(struct nbl_rx_desc) / sizeof(u32); 302 for (i = 0; i < ring->desc_num; i++) { 303 seq_printf(m, "[desc-%03d]: ", i); 304 for (j = 0; j < n; j++) 305 seq_printf(m, "%08X ", ((u32 *)rx_desc)[j]); 306 seq_printf(m, "dlen:%d ", rx_desc->data_len); 307 seq_printf(m, "dd:%d ", rx_desc->dd); 308 seq_printf(m, "eop:%d ", rx_desc->eop); 309 seq_printf(m, "sop:%d ", rx_desc->sop); 310 seq_printf(m, "fwd:%d ", rx_desc->fwd); 311 seq_printf(m, "sp:%d ", rx_desc->sport); 312 seq_printf(m, "spi:%d ", rx_desc->sport_id); 313 seq_printf(m, "cks:%d ", rx_desc->checksum_status); 314 seq_printf(m, "ptype:%d ", rx_desc->ptype); 315 seq_printf(m, "lag:%d ", rx_desc->lag); 316 seq_printf(m, "lagid:%d\n", rx_desc->lag_id); 317 rx_desc++; 318 } 319 } 320 321 return 0; 322 } 323