* [openeuler:OLK-6.6 4065/7000] drivers/net/ethernet/huawei/hinic3/hw/hinic3_mgmt.c:995: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
@ 2024-03-29 1:16 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-03-29 1:16 UTC (permalink / raw)
To: kernel, Zhou Shuai; +Cc: oe-kbuild-all
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 704605877ce9913071214d2515a4c2b9077f5078
commit: dcb286ce50a35a77e51b61db72c7cc001647b598 [4065/7000] net/hinic3: add huawei/hinic3 driver
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20240329/202403290935.d2CD8fUI-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project 23de3862dce582ce91c1aa914467d982cb1a73b4)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240329/202403290935.d2CD8fUI-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/202403290935.d2CD8fUI-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/net/ethernet/huawei/hinic3/hw/hinic3_devlink.c:6:
In file included from include/linux/netlink.h:7:
In file included from include/linux/skbuff.h:17:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/cacheflush.h:5:
In file included from arch/arm64/include/asm/cacheflush.h:11:
In file included from include/linux/kgdb.h:19:
In file included from include/linux/kprobes.h:28:
In file included from include/linux/ftrace.h:13:
In file included from include/linux/kallsyms.h:13:
In file included from include/linux/mm.h:2193:
include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/huawei/hinic3/hw/hinic3_devlink.c:350:18: warning: variable 'pdev' set but not used [-Wunused-but-set-variable]
350 | struct pci_dev *pdev = NULL;
| ^
6 warnings generated.
--
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:445: warning: Function parameter or member 'ctxt' not described in 'wait_for_resp_polling'
>> drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:445: warning: expecting prototype for prepare_cell(). Prototype was for wait_for_resp_polling() instead
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:459: warning: Function parameter or member 'ctxt' not described in 'wait_for_api_cmd_completion'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:459: warning: Function parameter or member 'ack' not described in 'wait_for_api_cmd_completion'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:459: warning: Function parameter or member 'ack_size' not described in 'wait_for_api_cmd_completion'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:519: warning: Function parameter or member 'cmd_size' not described in 'api_cmd'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:519: warning: Function parameter or member 'ack' not described in 'api_cmd'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:519: warning: Function parameter or member 'ack_size' not described in 'api_cmd'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:519: warning: Excess function parameter 'size' description in 'api_cmd'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:580: warning: Function parameter or member 'ack' not described in 'hinic3_api_cmd_read'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:580: warning: Function parameter or member 'ack_size' not described in 'hinic3_api_cmd_read'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:605: warning: Function parameter or member 'cmd_chain' not described in 'api_cmd_hw_restart'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:605: warning: Excess function parameter 'chain' description in 'api_cmd_hw_restart'
>> drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:825: warning: expecting prototype for alloc_cmd_buf(). Prototype was for alloc_resp_buf() instead
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:1095: warning: Function parameter or member 'cmd_chain' not described in 'api_cmd_create_chain'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:1095: warning: Excess function parameter 'chain' description in 'api_cmd_create_chain'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:1159: warning: Function parameter or member 'hwdev' not described in 'hinic3_api_cmd_init'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:1159: warning: Excess function parameter 'hwif' description in 'hinic3_api_cmd_init'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_api_cmd.c:1199: warning: Function parameter or member 'hwdev' not described in 'hinic3_api_cmd_free'
--
drivers/net/ethernet/huawei/hinic3/hw/hinic3_mgmt.c:167: warning: Function parameter or member 'ack_type' not described in 'prepare_header'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_mgmt.c:167: warning: Function parameter or member 'cmd' not described in 'prepare_header'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_mgmt.c:246: warning: Function parameter or member 'ack_type' not described in 'send_msg_to_mgmt_sync'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_mgmt.c:765: warning: Function parameter or member 'hwdev' not described in 'hinic3_mgmt_msg_aeqe_handler'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_mgmt.c:765: warning: Excess function parameter 'handle' description in 'hinic3_mgmt_msg_aeqe_handler'
>> drivers/net/ethernet/huawei/hinic3/hw/hinic3_mgmt.c:892: warning: expecting prototype for hinic_pf_to_mgmt_init(). Prototype was for hinic3_pf_to_mgmt_init() instead
>> drivers/net/ethernet/huawei/hinic3/hw/hinic3_mgmt.c:947: warning: expecting prototype for hinic_pf_to_mgmt_free(). Prototype was for hinic3_pf_to_mgmt_free() instead
>> drivers/net/ethernet/huawei/hinic3/hw/hinic3_mgmt.c:995: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
* api cmd write or read bypass default use poll, if want to use aeq interrupt,
--
drivers/net/ethernet/huawei/hinic3/hw/hinic3_mbox.c:176: warning: Function parameter or member 'pri_handle' not described in 'hinic3_register_ppf_mbox_cb'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_mbox.c:203: warning: Function parameter or member 'pri_handle' not described in 'hinic3_register_pf_mbox_cb'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_mbox.c:230: warning: Function parameter or member 'pri_handle' not described in 'hinic3_register_vf_mbox_cb'
>> drivers/net/ethernet/huawei/hinic3/hw/hinic3_mbox.c:279: warning: expecting prototype for hinic3_unregister_ppf_mbox_cb(). Prototype was for hinic3_unregister_pf_mbox_cb() instead
>> drivers/net/ethernet/huawei/hinic3/hw/hinic3_mbox.c:327: warning: expecting prototype for hinic3_unregister_ppf_mbox_cb(). Prototype was for hinic3_unregister_ppf_to_pf_mbox_cb() instead
vim +995 drivers/net/ethernet/huawei/hinic3/hw/hinic3_mgmt.c
885
886 /**
887 * hinic_pf_to_mgmt_init - initialize PF to MGMT channel
888 * @hwdev: the pointer to hw device
889 * Return: 0 - success, negative - failure
890 **/
891 int hinic3_pf_to_mgmt_init(struct hinic3_hwdev *hwdev)
> 892 {
893 struct hinic3_msg_pf_to_mgmt *pf_to_mgmt;
894 void *dev = hwdev->dev_hdl;
895 int err;
896
897 pf_to_mgmt = kzalloc(sizeof(*pf_to_mgmt), GFP_KERNEL);
898 if (!pf_to_mgmt)
899 return -ENOMEM;
900
901 hwdev->pf_to_mgmt = pf_to_mgmt;
902 pf_to_mgmt->hwdev = hwdev;
903 spin_lock_init(&pf_to_mgmt->async_msg_lock);
904 spin_lock_init(&pf_to_mgmt->sync_event_lock);
905 sema_init(&pf_to_mgmt->sync_msg_lock, 1);
906 pf_to_mgmt->workq = create_singlethread_workqueue(HINIC3_MGMT_WQ_NAME);
907 if (!pf_to_mgmt->workq) {
908 sdk_err(dev, "Failed to initialize MGMT workqueue\n");
909 err = -ENOMEM;
910 goto create_mgmt_workq_err;
911 }
912
913 err = alloc_msg_buf(pf_to_mgmt);
914 if (err) {
915 sdk_err(dev, "Failed to allocate msg buffers\n");
916 goto alloc_msg_buf_err;
917 }
918
919 err = hinic3_api_cmd_init(hwdev, pf_to_mgmt->cmd_chain);
920 if (err) {
921 sdk_err(dev, "Failed to init the api cmd chains\n");
922 goto api_cmd_init_err;
923 }
924
925 return 0;
926
927 api_cmd_init_err:
928 free_msg_buf(pf_to_mgmt);
929
930 alloc_msg_buf_err:
931 destroy_workqueue(pf_to_mgmt->workq);
932
933 create_mgmt_workq_err:
934 spin_lock_deinit(&pf_to_mgmt->sync_event_lock);
935 spin_lock_deinit(&pf_to_mgmt->async_msg_lock);
936 sema_deinit(&pf_to_mgmt->sync_msg_lock);
937 kfree(pf_to_mgmt);
938
939 return err;
940 }
941
942 /**
943 * hinic_pf_to_mgmt_free - free PF to MGMT channel
944 * @hwdev: the pointer to hw device
945 **/
946 void hinic3_pf_to_mgmt_free(struct hinic3_hwdev *hwdev)
> 947 {
948 struct hinic3_msg_pf_to_mgmt *pf_to_mgmt = hwdev->pf_to_mgmt;
949
950 /* destroy workqueue before free related pf_to_mgmt resources in case of
951 * illegal resource access
952 */
953 destroy_workqueue(pf_to_mgmt->workq);
954 hinic3_api_cmd_free(hwdev, pf_to_mgmt->cmd_chain);
955
956 free_msg_buf(pf_to_mgmt);
957 spin_lock_deinit(&pf_to_mgmt->sync_event_lock);
958 spin_lock_deinit(&pf_to_mgmt->async_msg_lock);
959 sema_deinit(&pf_to_mgmt->sync_msg_lock);
960 kfree(pf_to_mgmt);
961 }
962
963 void hinic3_flush_mgmt_workq(void *hwdev)
964 {
965 struct hinic3_hwdev *dev = (struct hinic3_hwdev *)hwdev;
966
967 flush_workqueue(dev->aeqs->workq);
968
969 if (hinic3_func_type(dev) != TYPE_VF)
970 flush_workqueue(dev->pf_to_mgmt->workq);
971 }
972
973 int hinic3_api_cmd_read_ack(void *hwdev, u8 dest, const void *cmd,
974 u16 size, void *ack, u16 ack_size)
975 {
976 struct hinic3_msg_pf_to_mgmt *pf_to_mgmt = NULL;
977 struct hinic3_api_cmd_chain *chain = NULL;
978
979 if (!hwdev || !cmd || (ack_size && !ack) || size > MAX_PF_MGMT_BUF_SIZE)
980 return -EINVAL;
981
982 if (!COMM_SUPPORT_API_CHAIN((struct hinic3_hwdev *)hwdev))
983 return -EPERM;
984
985 pf_to_mgmt = ((struct hinic3_hwdev *)hwdev)->pf_to_mgmt;
986 chain = pf_to_mgmt->cmd_chain[HINIC3_API_CMD_POLL_READ];
987
988 if (!(((struct hinic3_hwdev *)hwdev)->chip_present_flag))
989 return -EPERM;
990
991 return hinic3_api_cmd_read(chain, dest, cmd, size, ack, ack_size);
992 }
993
994 /**
> 995 * api cmd write or read bypass default use poll, if want to use aeq interrupt,
996 * please set wb_trigger_aeqe to 1
997 **/
998 int hinic3_api_cmd_write_nack(void *hwdev, u8 dest, const void *cmd, u16 size)
999 {
1000 struct hinic3_msg_pf_to_mgmt *pf_to_mgmt = NULL;
1001 struct hinic3_api_cmd_chain *chain = NULL;
1002
1003 if (!hwdev || !size || !cmd || size > MAX_PF_MGMT_BUF_SIZE)
1004 return -EINVAL;
1005
1006 if (!COMM_SUPPORT_API_CHAIN((struct hinic3_hwdev *)hwdev))
1007 return -EPERM;
1008
1009 pf_to_mgmt = ((struct hinic3_hwdev *)hwdev)->pf_to_mgmt;
1010 chain = pf_to_mgmt->cmd_chain[HINIC3_API_CMD_POLL_WRITE];
1011
1012 if (!(((struct hinic3_hwdev *)hwdev)->chip_present_flag))
1013 return -EPERM;
1014
1015 return hinic3_api_cmd_write(chain, dest, cmd, size);
1016 }
1017
--
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-03-29 1:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-29 1:16 [openeuler:OLK-6.6 4065/7000] drivers/net/ethernet/huawei/hinic3/hw/hinic3_mgmt.c:995: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst 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.