mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Kernel

Threads by month
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
kernel@openeuler.org

  • 45 participants
  • 21941 discussions
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/iommu/arm-smmu-v3.c:4373:5: warning: no previous prototype for 'arm_smmu_get_dev_user_mpam_en'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Xingang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 129938f5dfc8b2d8aaaeda0c565d57076bf5c1cc [1942/1942] iommu/arm-smmu-v3: Add support to enable/disable SMMU user_mpam_en config: arm64-randconfig-002-20251213 (https://download.01.org/0day-ci/archive/20251214/202512141348.7mzFhAqc-lkp@…) compiler: aarch64-linux-gcc (GCC) 11.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512141348.7mzFhAqc-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512141348.7mzFhAqc-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/iommu/arm-smmu-v3.c:4299:5: warning: no previous prototype for 'arm_smmu_set_dev_mpam' [-Wmissing-prototypes] 4299 | int arm_smmu_set_dev_mpam(struct device *dev, int ssid, int partid, int pmg, | ^~~~~~~~~~~~~~~~~~~~~ drivers/iommu/arm-smmu-v3.c:4341:5: warning: no previous prototype for 'arm_smmu_get_dev_mpam' [-Wmissing-prototypes] 4341 | int arm_smmu_get_dev_mpam(struct device *dev, int ssid, int *partid, int *pmg, | ^~~~~~~~~~~~~~~~~~~~~ drivers/iommu/arm-smmu-v3.c:4355:5: warning: no previous prototype for 'arm_smmu_set_dev_user_mpam_en' [-Wmissing-prototypes] 4355 | int arm_smmu_set_dev_user_mpam_en(struct device *dev, int user_mpam_en) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/arm-smmu-v3.c:4373:5: warning: no previous prototype for 'arm_smmu_get_dev_user_mpam_en' [-Wmissing-prototypes] 4373 | int arm_smmu_get_dev_user_mpam_en(struct device *dev, int *user_mpam_en) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/iommu/arm-smmu-v3.c:4301: warning: Function parameter or member 'dev' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4301: warning: Function parameter or member 'ssid' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4301: warning: Function parameter or member 'partid' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4301: warning: Function parameter or member 'pmg' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4301: warning: Function parameter or member 's1mpam' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4343: warning: Function parameter or member 'ssid' not described in 'arm_smmu_get_dev_mpam' drivers/iommu/arm-smmu-v3.c:4343: warning: Function parameter or member 'partid' not described in 'arm_smmu_get_dev_mpam' drivers/iommu/arm-smmu-v3.c:4343: warning: Function parameter or member 'pmg' not described in 'arm_smmu_get_dev_mpam' drivers/iommu/arm-smmu-v3.c:4343: warning: Function parameter or member 's1mpam' not described in 'arm_smmu_get_dev_mpam' drivers/iommu/arm-smmu-v3.c:4356: warning: Function parameter or member 'dev' not described in 'arm_smmu_set_dev_user_mpam_en' drivers/iommu/arm-smmu-v3.c:4356: warning: Function parameter or member 'user_mpam_en' not described in 'arm_smmu_set_dev_user_mpam_en' drivers/iommu/arm-smmu-v3.c:4374: warning: Function parameter or member 'dev' not described in 'arm_smmu_get_dev_user_mpam_en' drivers/iommu/arm-smmu-v3.c:4374: warning: Function parameter or member 'user_mpam_en' not described in 'arm_smmu_get_dev_user_mpam_en' vim +/arm_smmu_get_dev_user_mpam_en +4373 drivers/iommu/arm-smmu-v3.c 4369 4370 /** 4371 * arm_smmu_get_dev_user_mpam_en() - get user_mpam_en from smmu user cfg0 4372 */ > 4373 int arm_smmu_get_dev_user_mpam_en(struct device *dev, int *user_mpam_en) 4374 { 4375 struct arm_smmu_master_data *master = dev->iommu_fwspec->iommu_priv; 4376 struct arm_smmu_device *smmu = master->domain->smmu; 4377 u32 reg, __iomem *cfg = smmu->base + ARM_SMMU_USER_CFG0; 4378 4379 reg = readl_relaxed(cfg); 4380 *user_mpam_en = FIELD_GET(ARM_SMMU_USER_MPAM_EN, reg); 4381 4382 return 0; 4383 } 4384 EXPORT_SYMBOL(arm_smmu_get_dev_user_mpam_en); 4385 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] net/netfilter/nf_conntrack_core.c:1017: warning: Function parameter or member 'reply_hash' not described in 'nf_ct_resolve_clash'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Florian, First bad commit (maybe != root cause): tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: cc12c927ac504e99fc176ea49e85226b6aeadcd5 [1941/1941] netfilter: conntrack: allow insertion of clashing entries config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251214/202512140639.YUx3bpbN-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140639.YUx3bpbN-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140639.YUx3bpbN-lkp@intel.com/ All warnings (new ones prefixed by >>): net/netfilter/nf_conntrack_core.c: In function '__nf_conntrack_alloc': net/netfilter/nf_conntrack_core.c:1497:16: warning: array subscript 0 is outside the bounds of an interior zero-length array 'u8[0]' {aka 'unsigned char[]'} [-Wzero-length-bounds] 1497 | memset(&ct->__nfct_init_offset[0], 0, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from net/netfilter/nf_conntrack_core.c:40: ./include/net/netfilter/nf_conntrack.h:88:12: note: while referencing '__nfct_init_offset' 88 | u8 __nfct_init_offset[0]; | ^~~~~~~~~~~~~~~~~~ >> net/netfilter/nf_conntrack_core.c:1017: warning: Function parameter or member 'reply_hash' not described in 'nf_ct_resolve_clash' >> net/netfilter/nf_conntrack_core.c:1017: warning: Excess function parameter 'hash_reply' description in 'nf_ct_resolve_clash' vim +1017 net/netfilter/nf_conntrack_core.c cc12c927ac504e Florian Westphal 2023-11-02 980 6199b71796bcaa Florian Westphal 2023-11-02 981 /** 6199b71796bcaa Florian Westphal 2023-11-02 982 * nf_ct_resolve_clash - attempt to handle clash without packet drop 6199b71796bcaa Florian Westphal 2023-11-02 983 * 6199b71796bcaa Florian Westphal 2023-11-02 984 * @skb: skb that causes the clash 6199b71796bcaa Florian Westphal 2023-11-02 985 * @h: tuplehash of the clashing entry already in table cc12c927ac504e Florian Westphal 2023-11-02 986 * @hash_reply: hash slot for reply direction 6199b71796bcaa Florian Westphal 2023-11-02 987 * 6199b71796bcaa Florian Westphal 2023-11-02 988 * A conntrack entry can be inserted to the connection tracking table 6199b71796bcaa Florian Westphal 2023-11-02 989 * if there is no existing entry with an identical tuple. 6199b71796bcaa Florian Westphal 2023-11-02 990 * 6199b71796bcaa Florian Westphal 2023-11-02 991 * If there is one, @skb (and the assocated, unconfirmed conntrack) has 6199b71796bcaa Florian Westphal 2023-11-02 992 * to be dropped. In case @skb is retransmitted, next conntrack lookup 6199b71796bcaa Florian Westphal 2023-11-02 993 * will find the already-existing entry. 6199b71796bcaa Florian Westphal 2023-11-02 994 * 6199b71796bcaa Florian Westphal 2023-11-02 995 * The major problem with such packet drop is the extra delay added by 6199b71796bcaa Florian Westphal 2023-11-02 996 * the packet loss -- it will take some time for a retransmit to occur 6199b71796bcaa Florian Westphal 2023-11-02 997 * (or the sender to time out when waiting for a reply). 6199b71796bcaa Florian Westphal 2023-11-02 998 * 6199b71796bcaa Florian Westphal 2023-11-02 999 * This function attempts to handle the situation without packet drop. 6199b71796bcaa Florian Westphal 2023-11-02 1000 * 6199b71796bcaa Florian Westphal 2023-11-02 1001 * If @skb has no NAT transformation or if the colliding entries are 6199b71796bcaa Florian Westphal 2023-11-02 1002 * exactly the same, only the to-be-confirmed conntrack entry is discarded 6199b71796bcaa Florian Westphal 2023-11-02 1003 * and @skb is associated with the conntrack entry already in the table. 6199b71796bcaa Florian Westphal 2023-11-02 1004 * cc12c927ac504e Florian Westphal 2023-11-02 1005 * Failing that, the new, unconfirmed conntrack is still added to the table cc12c927ac504e Florian Westphal 2023-11-02 1006 * provided that the collision only occurs in the ORIGINAL direction. cc12c927ac504e Florian Westphal 2023-11-02 1007 * The new entry will be added after the existing one in the hash list, cc12c927ac504e Florian Westphal 2023-11-02 1008 * so packets in the ORIGINAL direction will continue to match the existing cc12c927ac504e Florian Westphal 2023-11-02 1009 * entry. The new entry will also have a fixed timeout so it expires -- cc12c927ac504e Florian Westphal 2023-11-02 1010 * due to the collision, it will not see bidirectional traffic. cc12c927ac504e Florian Westphal 2023-11-02 1011 * 6199b71796bcaa Florian Westphal 2023-11-02 1012 * Returns NF_DROP if the clash could not be resolved. 6199b71796bcaa Florian Westphal 2023-11-02 1013 */ 115dffa33ea6f5 Florian Westphal 2023-11-02 1014 static __cold noinline int cc12c927ac504e Florian Westphal 2023-11-02 1015 nf_ct_resolve_clash(struct sk_buff *skb, struct nf_conntrack_tuple_hash *h, cc12c927ac504e Florian Westphal 2023-11-02 1016 u32 reply_hash) 71d8c47fc65371 Pablo Neira Ayuso 2016-05-01 @1017 { 71d8c47fc65371 Pablo Neira Ayuso 2016-05-01 1018 /* This is the conntrack entry already in hashes that won race. */ 71d8c47fc65371 Pablo Neira Ayuso 2016-05-01 1019 struct nf_conn *ct = nf_ct_tuplehash_to_ctrack(h); b3480fe059ac91 Florian Westphal 2017-08-12 1020 const struct nf_conntrack_l4proto *l4proto; 6199b71796bcaa Florian Westphal 2023-11-02 1021 enum ip_conntrack_info ctinfo; 6199b71796bcaa Florian Westphal 2023-11-02 1022 struct nf_conn *loser_ct; 6199b71796bcaa Florian Westphal 2023-11-02 1023 struct net *net; 94ebb264459f97 Florian Westphal 2023-11-02 1024 int ret; 6199b71796bcaa Florian Westphal 2023-11-02 1025 6199b71796bcaa Florian Westphal 2023-11-02 1026 loser_ct = nf_ct_get(skb, &ctinfo); 94ebb264459f97 Florian Westphal 2023-11-02 1027 net = nf_ct_net(loser_ct); 71d8c47fc65371 Pablo Neira Ayuso 2016-05-01 1028 71d8c47fc65371 Pablo Neira Ayuso 2016-05-01 1029 l4proto = __nf_ct_l4proto_find(nf_ct_l3num(ct), nf_ct_protonum(ct)); 6199b71796bcaa Florian Westphal 2023-11-02 1030 if (!l4proto->allow_clash) 6199b71796bcaa Florian Westphal 2023-11-02 1031 goto drop; 6199b71796bcaa Florian Westphal 2023-11-02 1032 94ebb264459f97 Florian Westphal 2023-11-02 1033 ret = __nf_ct_resolve_clash(skb, h); 94ebb264459f97 Florian Westphal 2023-11-02 1034 if (ret == NF_ACCEPT) 94ebb264459f97 Florian Westphal 2023-11-02 1035 return ret; 6199b71796bcaa Florian Westphal 2023-11-02 1036 cc12c927ac504e Florian Westphal 2023-11-02 1037 ret = nf_ct_resolve_clash_harder(skb, reply_hash); cc12c927ac504e Florian Westphal 2023-11-02 1038 if (ret == NF_ACCEPT) cc12c927ac504e Florian Westphal 2023-11-02 1039 return ret; cc12c927ac504e Florian Westphal 2023-11-02 1040 6199b71796bcaa Florian Westphal 2023-11-02 1041 drop: 94ebb264459f97 Florian Westphal 2023-11-02 1042 nf_ct_add_to_dying_list(loser_ct); 71d8c47fc65371 Pablo Neira Ayuso 2016-05-01 1043 NF_CT_STAT_INC(net, drop); 94ebb264459f97 Florian Westphal 2023-11-02 1044 NF_CT_STAT_INC(net, insert_failed); 71d8c47fc65371 Pablo Neira Ayuso 2016-05-01 1045 return NF_DROP; 71d8c47fc65371 Pablo Neira Ayuso 2016-05-01 1046 } 71d8c47fc65371 Pablo Neira Ayuso 2016-05-01 1047 :::::: The code at line 1017 was first introduced by commit :::::: 71d8c47fc653711c41bc3282e5b0e605b3727956 netfilter: conntrack: introduce clash resolution on insertion race :::::: TO: Pablo Neira Ayuso <pablo(a)netfilter.org> :::::: CC: Pablo Neira Ayuso <pablo(a)netfilter.org> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/mailbox/qcom-apcs-ipc-mailbox.c:65:28: warning: unused variable 'apcs_clk_match_table'
by kernel test robot 14 Dec '25

14 Dec '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: c41cf355c959721c7269cc5ee7c6901cb47424a7 [1942/1942] mbox: qcom: add APCS child device for QCS404 config: x86_64-buildonly-randconfig-003-20251213 (https://download.01.org/0day-ci/archive/20251214/202512141257.ePsbbIqL-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512141257.ePsbbIqL-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512141257.ePsbbIqL-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/mailbox/qcom-apcs-ipc-mailbox.c:65:28: warning: unused variable 'apcs_clk_match_table' [-Wunused-variable] 65 | const struct of_device_id apcs_clk_match_table[] = { | ^~~~~~~~~~~~~~~~~~~~ 1 warning generated. vim +/apcs_clk_match_table +65 drivers/mailbox/qcom-apcs-ipc-mailbox.c 55 56 static int qcom_apcs_ipc_probe(struct platform_device *pdev) 57 { 58 struct qcom_apcs_ipc *apcs; 59 struct regmap *regmap; 60 struct resource *res; 61 unsigned long offset; 62 void __iomem *base; 63 unsigned long i; 64 int ret; > 65 const struct of_device_id apcs_clk_match_table[] = { 66 { .compatible = "qcom,msm8916-apcs-kpss-global", }, 67 { .compatible = "qcom,qcs404-apcs-apps-global", }, 68 {} 69 }; 70 71 apcs = devm_kzalloc(&pdev->dev, sizeof(*apcs), GFP_KERNEL); 72 if (!apcs) 73 return -ENOMEM; 74 75 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 76 base = devm_ioremap_resource(&pdev->dev, res); 77 if (IS_ERR(base)) 78 return PTR_ERR(base); 79 80 regmap = devm_regmap_init_mmio(&pdev->dev, base, &apcs_regmap_config); 81 if (IS_ERR(regmap)) 82 return PTR_ERR(regmap); 83 84 offset = (unsigned long)of_device_get_match_data(&pdev->dev); 85 86 apcs->regmap = regmap; 87 apcs->offset = offset; 88 89 /* Initialize channel identifiers */ 90 for (i = 0; i < ARRAY_SIZE(apcs->mbox_chans); i++) 91 apcs->mbox_chans[i].con_priv = (void *)i; 92 93 apcs->mbox.dev = &pdev->dev; 94 apcs->mbox.ops = &qcom_apcs_ipc_ops; 95 apcs->mbox.chans = apcs->mbox_chans; 96 apcs->mbox.num_chans = ARRAY_SIZE(apcs->mbox_chans); 97 98 ret = mbox_controller_register(&apcs->mbox); 99 if (ret) { 100 dev_err(&pdev->dev, "failed to register APCS IPC controller\n"); 101 return ret; 102 } 103 104 if (of_match_device(apcs_clk_match_table, &pdev->dev)) { 105 apcs->clk = platform_device_register_data(&pdev->dev, 106 "qcom-apcs-msm8916-clk", 107 -1, NULL, 0); 108 if (IS_ERR(apcs->clk)) 109 dev_err(&pdev->dev, "failed to register APCS clk\n"); 110 } 111 112 platform_set_drvdata(pdev, apcs); 113 114 return 0; 115 } 116 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] drivers/net/ethernet/stmicro/stmmac/dwmac-phytium.c:159:34: warning: returning 'void *' from a function with return type 'int' makes integer from pointer without a cast
by kernel test robot 14 Dec '25

14 Dec '25
Hi wangzhimin, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: af48889301db8235deab66a8822e3e00195ca14b [1941/1941] dwmac:add phytium dwmac driver config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20251214/202512141252.2tD3yXYS-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512141252.2tD3yXYS-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512141252.2tD3yXYS-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/net/ethernet/stmicro/stmmac/dwmac-phytium.c: In function 'phytium_dwmac_probe': drivers/net/ethernet/stmicro/stmmac/dwmac-phytium.c:157:29: warning: ordered comparison of pointer with integer zero [-Wextra] 157 | if (stmmac_res.addr < 0) { | ^ >> drivers/net/ethernet/stmicro/stmmac/dwmac-phytium.c:159:34: warning: returning 'void *' from a function with return type 'int' makes integer from pointer without a cast [-Wint-conversion] 159 | return stmmac_res.addr; | ~~~~~~~~~~^~~~~ drivers/net/ethernet/stmicro/stmmac/dwmac-phytium.c: At top level: drivers/net/ethernet/stmicro/stmmac/dwmac-phytium.c:172:5: warning: no previous prototype for 'phytium_dwmac_remove' [-Wmissing-prototypes] 172 | int phytium_dwmac_remove(struct platform_device *pdev) | ^~~~~~~~~~~~~~~~~~~~ vim +159 drivers/net/ethernet/stmicro/stmmac/dwmac-phytium.c 32 33 static int phytium_dwmac_probe(struct platform_device *pdev) 34 { 35 struct fwnode_handle *fwnode = dev_fwnode(&pdev->dev); 36 struct plat_stmmacenet_data *plat; 37 struct stmmac_resources stmmac_res; 38 struct device_node *np = pdev->dev.of_node; 39 struct resource *res; 40 u64 clk_freq; 41 char clk_name[20]; 42 int ret; 43 44 plat = devm_kzalloc(&pdev->dev, sizeof(*plat), GFP_KERNEL); 45 if (!plat) 46 return -ENOMEM; 47 48 plat->dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*plat->dma_cfg), 49 GFP_KERNEL); 50 if (!plat->dma_cfg) 51 return -ENOMEM; 52 53 plat->axi = devm_kzalloc(&pdev->dev, sizeof(*plat->axi), GFP_KERNEL); 54 if (!plat->axi) 55 return -ENOMEM; 56 57 plat->interface = device_get_phy_mode(&pdev->dev); 58 if (plat->interface < 0) 59 return plat->interface; 60 61 /* Configure PHY if using device-tree */ 62 if (pdev->dev.of_node) 63 plat->phy_node = of_parse_phandle(np, "phy-handle", 0); 64 65 if (pdev->dev.of_node) { 66 plat->bus_id = of_alias_get_id(np, "ethernet"); 67 if (plat->bus_id < 0) 68 plat->bus_id = 0; 69 } else if (fwnode_property_read_u32(fwnode, "bus_id", &plat->bus_id)) { 70 plat->bus_id = 2; 71 } 72 73 plat->phy_addr = -1; 74 plat->clk_csr = -1; 75 plat->has_gmac = 1; 76 plat->enh_desc = 1; 77 plat->bugged_jumbo = 1; 78 plat->pmt = 1; 79 plat->force_sf_dma_mode = 1; 80 81 if (fwnode_property_read_u32(fwnode, "max-speed", &plat->max_speed)) 82 plat->max_speed = -1; 83 84 if (fwnode_property_read_u32(fwnode, "max-frame-size", &plat->maxmtu)) 85 plat->maxmtu = JUMBO_LEN; 86 87 if (fwnode_property_read_u32(fwnode, "snps,multicast-filter-bins", 88 &plat->multicast_filter_bins)) 89 plat->multicast_filter_bins = HASH_TABLE_SIZE; 90 91 if (fwnode_property_read_u32(fwnode, "snps,perfect-filter-entries", 92 &plat->unicast_filter_entries)) 93 plat->unicast_filter_entries = 1; 94 95 if (fwnode_property_read_u32(fwnode, "tx-fifo-depth", 96 &plat->tx_fifo_size)) 97 plat->tx_fifo_size = 0x1000; 98 99 if (fwnode_property_read_u32(fwnode, "rx-fifo-depth", 100 &plat->rx_fifo_size)) 101 plat->rx_fifo_size = 0x1000; 102 103 if (phytium_dwmac_acpi_phy(plat, fwnode, &pdev->dev)) 104 return -ENODEV; 105 106 plat->rx_queues_to_use = 1; 107 plat->tx_queues_to_use = 1; 108 plat->rx_queues_cfg[0].mode_to_use = MTL_QUEUE_DCB; 109 plat->tx_queues_cfg[0].mode_to_use = MTL_QUEUE_DCB; 110 111 if (fwnode_property_read_u64(fwnode, "clock-frequency", &clk_freq)) 112 clk_freq = 125000000; 113 114 /* Set system clock */ 115 snprintf(clk_name, sizeof(clk_name), "%s-%d", "stmmaceth", 116 plat->bus_id); 117 118 plat->stmmac_clk = clk_register_fixed_rate(&pdev->dev, clk_name, 119 NULL, 0, clk_freq); 120 if (IS_ERR(plat->stmmac_clk)) { 121 dev_warn(&pdev->dev, "Fail to register stmmac-clk\n"); 122 plat->stmmac_clk = NULL; 123 } 124 125 ret = clk_prepare_enable(plat->stmmac_clk); 126 if (ret) { 127 clk_unregister_fixed_rate(plat->stmmac_clk); 128 return ret; 129 } 130 131 plat->clk_ptp_rate = clk_get_rate(plat->stmmac_clk); 132 plat->clk_ptp_ref = NULL; 133 134 if (fwnode_property_read_u32(fwnode, "snps,pbl", &plat->dma_cfg->pbl)) 135 plat->dma_cfg->pbl = 16; 136 137 fwnode_property_read_u32(fwnode, "snps,txpbl", &plat->dma_cfg->txpbl); 138 fwnode_property_read_u32(fwnode, "snps,rxpbl", &plat->dma_cfg->rxpbl); 139 140 plat->dma_cfg->pblx8 = !fwnode_property_read_bool(fwnode, 141 "snps,no-pbl-x8"); 142 plat->dma_cfg->aal = fwnode_property_read_bool(fwnode, "snps,aal"); 143 plat->dma_cfg->fixed_burst = fwnode_property_read_bool(fwnode, 144 "snps,fixed-burst"); 145 plat->dma_cfg->mixed_burst = fwnode_property_read_bool(fwnode, 146 "snps,mixed-burst"); 147 148 plat->axi->axi_lpi_en = false; 149 plat->axi->axi_xit_frm = false; 150 plat->axi->axi_wr_osr_lmt = 7; 151 plat->axi->axi_rd_osr_lmt = 7; 152 plat->axi->axi_blen[0] = 16; 153 154 memset(&stmmac_res, 0, sizeof(stmmac_res)); 155 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 156 stmmac_res.addr = devm_ioremap_resource(&pdev->dev, res); 157 if (stmmac_res.addr < 0) { 158 dev_err(&pdev->dev, "resource map failed.\n"); > 159 return stmmac_res.addr; 160 } 161 stmmac_res.irq = platform_get_irq(pdev, 0); 162 if (stmmac_res.irq < 0) { 163 dev_err(&pdev->dev, "IRQ not found.\n"); 164 return -ENXIO; 165 } 166 stmmac_res.wol_irq = stmmac_res.irq; 167 stmmac_res.lpi_irq = -1; 168 169 return stmmac_dvr_probe(&pdev->dev, plat, &stmmac_res); 170 } 171 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] arch/x86/kernel/cpu/hygon.c:439:14: warning: no previous prototype for function 'get_nt_block_copy_mini_len'
by kernel test robot 14 Dec '25

14 Dec '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 1e3cb18ebe2976b3294e85c3d162736cc3c7c92b [1942/1942] x86: Enhanced copy capabilities for Hygon processor config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20251214/202512141155.8Du6BuMt-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512141155.8Du6BuMt-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512141155.8Du6BuMt-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:353:9: note: previous definition is here 353 | #define __SANITIZE_ADDRESS__ 1 | ^ arch/x86/kernel/cpu/hygon.c:434:6: warning: no previous prototype for function 'set_c86_features_para_invalid' [-Wmissing-prototypes] 434 | void set_c86_features_para_invalid(void) | ^ arch/x86/kernel/cpu/hygon.c:434:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 434 | void set_c86_features_para_invalid(void) | ^ | static >> arch/x86/kernel/cpu/hygon.c:439:14: warning: no previous prototype for function 'get_nt_block_copy_mini_len' [-Wmissing-prototypes] 439 | unsigned int get_nt_block_copy_mini_len(void) | ^ arch/x86/kernel/cpu/hygon.c:439:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 439 | unsigned int get_nt_block_copy_mini_len(void) | ^ | static 3 warnings generated. In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:353:9: note: previous definition is here 353 | #define __SANITIZE_ADDRESS__ 1 | ^ 1 warning generated. -- In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:353:9: note: previous definition is here 353 | #define __SANITIZE_ADDRESS__ 1 | ^ >> arch/x86/kernel/fpu/core.c:149:14: warning: no previous prototype for function 'get_fpustate_free_space' [-Wmissing-prototypes] 149 | unsigned int get_fpustate_free_space(struct fpu *fpu) | ^ arch/x86/kernel/fpu/core.c:149:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 149 | unsigned int get_fpustate_free_space(struct fpu *fpu) | ^ | static >> arch/x86/kernel/fpu/core.c:175:14: warning: mixing declarations and code is a C99 extension [-Wdeclaration-after-statement] 175 | struct fpu *fpu = &current->thread.fpu; | ^ 3 warnings generated. In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:353:9: note: previous definition is here 353 | #define __SANITIZE_ADDRESS__ 1 | ^ 1 warning generated. vim +/get_nt_block_copy_mini_len +439 arch/x86/kernel/cpu/hygon.c 438 > 439 unsigned int get_nt_block_copy_mini_len(void) 440 { 441 unsigned int mini_len = hygon_c86_data.nt_cpy_mini_len; 442 443 return mini_len; 444 } 445 EXPORT_SYMBOL_GPL(get_nt_block_copy_mini_len); 446 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] net/netfilter/nf_nat_proto.c:56:6: warning: no previous prototype for 'nf_nat_csum_recalc'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Florian, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 83abe3a3b85762720192809ac8695ff9255cfd23 [1941/1941] netfilter: nat: remove csum_recalc hook config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251214/202512140450.2pYUhzO7-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140450.2pYUhzO7-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140450.2pYUhzO7-lkp@intel.com/ All warnings (new ones prefixed by >>): >> net/netfilter/nf_nat_proto.c:56:6: warning: no previous prototype for 'nf_nat_csum_recalc' [-Wmissing-prototypes] 56 | void nf_nat_csum_recalc(struct sk_buff *skb, | ^~~~~~~~~~~~~~~~~~ vim +/nf_nat_csum_recalc +56 net/netfilter/nf_nat_proto.c 55 > 56 void nf_nat_csum_recalc(struct sk_buff *skb, -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3540/3540] kernel/dma/phytium/pswiotlb.c:1159:6: warning: variable 'cpuid' set but not used
by kernel test robot 14 Dec '25

14 Dec '25
Hi Jiakun, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: 03479a75f63bef0dca7ec44c1e1a7e8c45201aed [3540/3540] dma: Fix kabi breakage due to "dma: phytium: Add PSWIOTLB mechanism to improve DMA performance" config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20251214/202512141034.7ERZ0sjF-lkp@…) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512141034.7ERZ0sjF-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512141034.7ERZ0sjF-lkp@intel.com/ All warnings (new ones prefixed by >>): >> kernel/dma/phytium/pswiotlb.c:1159:6: warning: variable 'cpuid' set but not used [-Wunused-but-set-variable] 1159 | int cpuid; | ^ 1 warning generated. -- >> kernel/dma/phytium/pswiotlb.c:474: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_tlb' >> kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_pool' >> kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'transient' not described in 'pswiotlb_alloc_pool' >> kernel/dma/phytium/pswiotlb.c:806: warning: Function parameter or member 'nid' not described in 'alloc_dma_pages' >> kernel/dma/phytium/pswiotlb.c:836: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_pool' >> kernel/dma/phytium/pswiotlb.c:1005: warning: Function parameter or member 'nid' not described in 'pswiotlb_area_find_slots' >> kernel/dma/phytium/pswiotlb.c:1115: warning: Function parameter or member 'nid' not described in 'pswiotlb_pool_find_slots' >> kernel/dma/phytium/pswiotlb.c:1153: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_slots' >> kernel/dma/phytium/pswiotlb.c:1523: warning: Function parameter or member 'dev' not described in 'is_pswiotlb_allocated' >> kernel/dma/phytium/pswiotlb.c:1542: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_base' >> kernel/dma/phytium/pswiotlb.c:1556: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_limit' Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for DEBUG_FEATURE_BYPASS Depends on [n]: (FAST_SYSCALL [=y] || FAST_IRQ [=y]) && !LOCKDEP [=y] Selected by [y]: - FAST_SYSCALL [=y] - FAST_IRQ [=y] && ARM_GIC_V3 [=y] WARNING: unmet direct dependencies detected for SECURITY_FEATURE_BYPASS Depends on [n]: !ARM64_MTE [=y] && !KASAN_HW_TAGS [=n] && (FAST_SYSCALL [=y] || FAST_IRQ [=y]) Selected by [y]: - FAST_SYSCALL [=y] - FAST_IRQ [=y] && ARM_GIC_V3 [=y] vim +/cpuid +1159 kernel/dma/phytium/pswiotlb.c 81a243170f720e Jiakun Shuai 2025-07-07 985 81a243170f720e Jiakun Shuai 2025-07-07 986 /** 81a243170f720e Jiakun Shuai 2025-07-07 987 * pswiotlb_area_find_slots() - search for slots in one Phytium IO TLB memory area 81a243170f720e Jiakun Shuai 2025-07-07 988 * @dev: Device which maps the buffer. 81a243170f720e Jiakun Shuai 2025-07-07 989 * @pool: Memory pool to be searched. 81a243170f720e Jiakun Shuai 2025-07-07 990 * @area_index: Index of the Phytium IO TLB memory area to be searched. 81a243170f720e Jiakun Shuai 2025-07-07 991 * @orig_addr: Original (non-bounced) Phytium IO buffer address. 81a243170f720e Jiakun Shuai 2025-07-07 992 * @alloc_size: Total requested size of the bounce buffer, 81a243170f720e Jiakun Shuai 2025-07-07 993 * including initial alignment padding. 81a243170f720e Jiakun Shuai 2025-07-07 994 * @alloc_align_mask: Required alignment of the allocated buffer. 81a243170f720e Jiakun Shuai 2025-07-07 995 * 81a243170f720e Jiakun Shuai 2025-07-07 996 * Find a suitable sequence of Phytium IO TLB entries for the request and allocate 81a243170f720e Jiakun Shuai 2025-07-07 997 * a buffer from the given Phytium IO TLB memory area. 81a243170f720e Jiakun Shuai 2025-07-07 998 * This function takes care of locking. 81a243170f720e Jiakun Shuai 2025-07-07 999 * 81a243170f720e Jiakun Shuai 2025-07-07 1000 * Return: Index of the first allocated slot, or -1 on error. 81a243170f720e Jiakun Shuai 2025-07-07 1001 */ 81a243170f720e Jiakun Shuai 2025-07-07 1002 static int pswiotlb_area_find_slots(struct device *dev, int nid, struct p_io_tlb_pool *pool, 81a243170f720e Jiakun Shuai 2025-07-07 1003 int area_index, phys_addr_t orig_addr, size_t alloc_size, 81a243170f720e Jiakun Shuai 2025-07-07 1004 unsigned int alloc_align_mask) 81a243170f720e Jiakun Shuai 2025-07-07 @1005 { 81a243170f720e Jiakun Shuai 2025-07-07 1006 struct p_io_tlb_area *area = pool->areas + area_index; 81a243170f720e Jiakun Shuai 2025-07-07 1007 unsigned long boundary_mask = dma_get_seg_boundary(dev); 81a243170f720e Jiakun Shuai 2025-07-07 1008 dma_addr_t tbl_dma_addr = 81a243170f720e Jiakun Shuai 2025-07-07 1009 phys_to_dma_unencrypted(dev, pool->start) & boundary_mask; 81a243170f720e Jiakun Shuai 2025-07-07 1010 unsigned long max_slots = get_max_slots(boundary_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1011 unsigned int iotlb_align_mask = 81a243170f720e Jiakun Shuai 2025-07-07 1012 dma_get_min_align_mask(dev) | alloc_align_mask; 81a243170f720e Jiakun Shuai 2025-07-07 1013 unsigned int nslots = nr_slots(alloc_size), stride; 81a243170f720e Jiakun Shuai 2025-07-07 1014 unsigned int offset = pswiotlb_align_offset(dev, orig_addr); 81a243170f720e Jiakun Shuai 2025-07-07 1015 unsigned int index, slots_checked, count = 0, i; 81a243170f720e Jiakun Shuai 2025-07-07 1016 unsigned long flags; 81a243170f720e Jiakun Shuai 2025-07-07 1017 unsigned int slot_base; 81a243170f720e Jiakun Shuai 2025-07-07 1018 unsigned int slot_index; 81a243170f720e Jiakun Shuai 2025-07-07 1019 81a243170f720e Jiakun Shuai 2025-07-07 1020 WARN_ON(!nslots); 81a243170f720e Jiakun Shuai 2025-07-07 1021 WARN_ON(area_index >= pool->nareas); 81a243170f720e Jiakun Shuai 2025-07-07 1022 81a243170f720e Jiakun Shuai 2025-07-07 1023 /* 81a243170f720e Jiakun Shuai 2025-07-07 1024 * For allocations of PAGE_SIZE or larger only look for page aligned 81a243170f720e Jiakun Shuai 2025-07-07 1025 * allocations. 81a243170f720e Jiakun Shuai 2025-07-07 1026 */ 81a243170f720e Jiakun Shuai 2025-07-07 1027 if (alloc_size >= PAGE_SIZE) 81a243170f720e Jiakun Shuai 2025-07-07 1028 iotlb_align_mask |= ~PAGE_MASK; 81a243170f720e Jiakun Shuai 2025-07-07 1029 iotlb_align_mask &= ~(P_IO_TLB_SIZE - 1); 81a243170f720e Jiakun Shuai 2025-07-07 1030 81a243170f720e Jiakun Shuai 2025-07-07 1031 /* 81a243170f720e Jiakun Shuai 2025-07-07 1032 * For mappings with an alignment requirement don't bother looping to 81a243170f720e Jiakun Shuai 2025-07-07 1033 * unaligned slots once we found an aligned one. 81a243170f720e Jiakun Shuai 2025-07-07 1034 */ 81a243170f720e Jiakun Shuai 2025-07-07 1035 stride = (iotlb_align_mask >> P_IO_TLB_SHIFT) + 1; 81a243170f720e Jiakun Shuai 2025-07-07 1036 81a243170f720e Jiakun Shuai 2025-07-07 1037 if (spin_trylock_irqsave(&area->lock, flags)) { 81a243170f720e Jiakun Shuai 2025-07-07 1038 if (unlikely(nslots > pool->area_nslabs - area->used)) 81a243170f720e Jiakun Shuai 2025-07-07 1039 goto not_found; 81a243170f720e Jiakun Shuai 2025-07-07 1040 81a243170f720e Jiakun Shuai 2025-07-07 1041 slot_base = area_index * pool->area_nslabs; 81a243170f720e Jiakun Shuai 2025-07-07 1042 index = area->index; 81a243170f720e Jiakun Shuai 2025-07-07 1043 81a243170f720e Jiakun Shuai 2025-07-07 1044 for (slots_checked = 0; slots_checked < pool->area_nslabs;) { 81a243170f720e Jiakun Shuai 2025-07-07 1045 slot_index = slot_base + index; 81a243170f720e Jiakun Shuai 2025-07-07 1046 81a243170f720e Jiakun Shuai 2025-07-07 1047 if (orig_addr && 81a243170f720e Jiakun Shuai 2025-07-07 1048 (slot_addr(tbl_dma_addr, slot_index) & 81a243170f720e Jiakun Shuai 2025-07-07 1049 iotlb_align_mask) != (orig_addr & iotlb_align_mask)) { 81a243170f720e Jiakun Shuai 2025-07-07 1050 index = wrap_area_index(pool, index + 1); 81a243170f720e Jiakun Shuai 2025-07-07 1051 slots_checked++; 81a243170f720e Jiakun Shuai 2025-07-07 1052 continue; 81a243170f720e Jiakun Shuai 2025-07-07 1053 } 81a243170f720e Jiakun Shuai 2025-07-07 1054 81a243170f720e Jiakun Shuai 2025-07-07 1055 if (!iommu_is_span_boundary(slot_index, nslots, 81a243170f720e Jiakun Shuai 2025-07-07 1056 nr_slots(tbl_dma_addr), 81a243170f720e Jiakun Shuai 2025-07-07 1057 max_slots)) { 81a243170f720e Jiakun Shuai 2025-07-07 1058 if (pool->slots[slot_index].list >= nslots) 81a243170f720e Jiakun Shuai 2025-07-07 1059 goto found; 81a243170f720e Jiakun Shuai 2025-07-07 1060 } 81a243170f720e Jiakun Shuai 2025-07-07 1061 index = wrap_area_index(pool, index + stride); 81a243170f720e Jiakun Shuai 2025-07-07 1062 slots_checked += stride; 81a243170f720e Jiakun Shuai 2025-07-07 1063 } 81a243170f720e Jiakun Shuai 2025-07-07 1064 } else { 81a243170f720e Jiakun Shuai 2025-07-07 1065 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1066 } 81a243170f720e Jiakun Shuai 2025-07-07 1067 81a243170f720e Jiakun Shuai 2025-07-07 1068 not_found: 81a243170f720e Jiakun Shuai 2025-07-07 1069 spin_unlock_irqrestore(&area->lock, flags); 81a243170f720e Jiakun Shuai 2025-07-07 1070 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1071 81a243170f720e Jiakun Shuai 2025-07-07 1072 found: 81a243170f720e Jiakun Shuai 2025-07-07 1073 /* 81a243170f720e Jiakun Shuai 2025-07-07 1074 * If we find a slot that indicates we have 'nslots' number of 81a243170f720e Jiakun Shuai 2025-07-07 1075 * contiguous buffers, we allocate the buffers from that slot onwards 81a243170f720e Jiakun Shuai 2025-07-07 1076 * and set the list of free entries to '0' indicating unavailable. 81a243170f720e Jiakun Shuai 2025-07-07 1077 */ 81a243170f720e Jiakun Shuai 2025-07-07 1078 for (i = slot_index; i < slot_index + nslots; i++) { 81a243170f720e Jiakun Shuai 2025-07-07 1079 pool->slots[i].list = 0; 81a243170f720e Jiakun Shuai 2025-07-07 1080 pool->slots[i].alloc_size = alloc_size - (offset + 81a243170f720e Jiakun Shuai 2025-07-07 1081 ((i - slot_index) << P_IO_TLB_SHIFT)); 81a243170f720e Jiakun Shuai 2025-07-07 1082 } 81a243170f720e Jiakun Shuai 2025-07-07 1083 for (i = slot_index - 1; 81a243170f720e Jiakun Shuai 2025-07-07 1084 io_tlb_offset(i) != P_IO_TLB_SEGSIZE - 1 && 81a243170f720e Jiakun Shuai 2025-07-07 1085 pool->slots[i].list; i--) 81a243170f720e Jiakun Shuai 2025-07-07 1086 pool->slots[i].list = ++count; 81a243170f720e Jiakun Shuai 2025-07-07 1087 81a243170f720e Jiakun Shuai 2025-07-07 1088 /* 81a243170f720e Jiakun Shuai 2025-07-07 1089 * Update the indices to avoid searching in the next round. 81a243170f720e Jiakun Shuai 2025-07-07 1090 */ 81a243170f720e Jiakun Shuai 2025-07-07 1091 area->index = wrap_area_index(pool, index + nslots); 81a243170f720e Jiakun Shuai 2025-07-07 1092 area->used += nslots; 81a243170f720e Jiakun Shuai 2025-07-07 1093 spin_unlock_irqrestore(&area->lock, flags); 81a243170f720e Jiakun Shuai 2025-07-07 1094 81a243170f720e Jiakun Shuai 2025-07-07 1095 return slot_index; 81a243170f720e Jiakun Shuai 2025-07-07 1096 } 81a243170f720e Jiakun Shuai 2025-07-07 1097 81a243170f720e Jiakun Shuai 2025-07-07 1098 /** 81a243170f720e Jiakun Shuai 2025-07-07 1099 * pswiotlb_pool_find_slots() - search for slots in one memory pool 81a243170f720e Jiakun Shuai 2025-07-07 1100 * @dev: Device which maps the buffer. 81a243170f720e Jiakun Shuai 2025-07-07 1101 * @pool: Memory pool to be searched. 81a243170f720e Jiakun Shuai 2025-07-07 1102 * @orig_addr: Original (non-bounced)Phytium IO buffer address. 81a243170f720e Jiakun Shuai 2025-07-07 1103 * @alloc_size: Total requested size of the bounce buffer, 81a243170f720e Jiakun Shuai 2025-07-07 1104 * including initial alignment padding. 81a243170f720e Jiakun Shuai 2025-07-07 1105 * @alloc_align_mask: Required alignment of the allocated buffer. 81a243170f720e Jiakun Shuai 2025-07-07 1106 * 81a243170f720e Jiakun Shuai 2025-07-07 1107 * Search through one memory pool to find a sequence of slots that match the 81a243170f720e Jiakun Shuai 2025-07-07 1108 * allocation constraints. 81a243170f720e Jiakun Shuai 2025-07-07 1109 * 81a243170f720e Jiakun Shuai 2025-07-07 1110 * Return: Index of the first allocated slot, or -1 on error. 81a243170f720e Jiakun Shuai 2025-07-07 1111 */ 81a243170f720e Jiakun Shuai 2025-07-07 1112 static int pswiotlb_pool_find_slots(struct device *dev, int nid, struct p_io_tlb_pool *pool, 81a243170f720e Jiakun Shuai 2025-07-07 1113 phys_addr_t orig_addr, size_t alloc_size, 81a243170f720e Jiakun Shuai 2025-07-07 1114 unsigned int alloc_align_mask) 81a243170f720e Jiakun Shuai 2025-07-07 @1115 { 81a243170f720e Jiakun Shuai 2025-07-07 1116 int start = raw_smp_processor_id() & (pool->nareas - 1); 81a243170f720e Jiakun Shuai 2025-07-07 1117 int i = start, index; 81a243170f720e Jiakun Shuai 2025-07-07 1118 81a243170f720e Jiakun Shuai 2025-07-07 1119 do { 81a243170f720e Jiakun Shuai 2025-07-07 1120 index = pswiotlb_area_find_slots(dev, nid, pool, i, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1121 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1122 if (index >= 0) { 81a243170f720e Jiakun Shuai 2025-07-07 1123 if ((pool != &p_io_tlb_default_mem[nid].defpool) && 81a243170f720e Jiakun Shuai 2025-07-07 1124 !pool->transient) { 81a243170f720e Jiakun Shuai 2025-07-07 1125 bitmap_set(pool->busy_record, i, 1); 81a243170f720e Jiakun Shuai 2025-07-07 1126 } 81a243170f720e Jiakun Shuai 2025-07-07 1127 return index; 81a243170f720e Jiakun Shuai 2025-07-07 1128 } 81a243170f720e Jiakun Shuai 2025-07-07 1129 if (++i >= pool->nareas) 81a243170f720e Jiakun Shuai 2025-07-07 1130 i = 0; 81a243170f720e Jiakun Shuai 2025-07-07 1131 } while (i != start); 81a243170f720e Jiakun Shuai 2025-07-07 1132 81a243170f720e Jiakun Shuai 2025-07-07 1133 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1134 } 81a243170f720e Jiakun Shuai 2025-07-07 1135 81a243170f720e Jiakun Shuai 2025-07-07 1136 /** 81a243170f720e Jiakun Shuai 2025-07-07 1137 * pswiotlb_find_slots() - search for slots in the whole pswiotlb 81a243170f720e Jiakun Shuai 2025-07-07 1138 * @dev: Device which maps the buffer. 81a243170f720e Jiakun Shuai 2025-07-07 1139 * @orig_addr: Original (non-bounced) Phytium IO buffer address. 81a243170f720e Jiakun Shuai 2025-07-07 1140 * @alloc_size: Total requested size of the bounce buffer, 81a243170f720e Jiakun Shuai 2025-07-07 1141 * including initial alignment padding. 81a243170f720e Jiakun Shuai 2025-07-07 1142 * @alloc_align_mask: Required alignment of the allocated buffer. 81a243170f720e Jiakun Shuai 2025-07-07 1143 * @retpool: Used memory pool, updated on return. 81a243170f720e Jiakun Shuai 2025-07-07 1144 * 81a243170f720e Jiakun Shuai 2025-07-07 1145 * Search through the whole Phytium software IO TLB to find a sequence of slots that 81a243170f720e Jiakun Shuai 2025-07-07 1146 * match the allocation constraints. 81a243170f720e Jiakun Shuai 2025-07-07 1147 * 81a243170f720e Jiakun Shuai 2025-07-07 1148 * Return: Index of the first allocated slot, or -1 on error. 81a243170f720e Jiakun Shuai 2025-07-07 1149 */ 81a243170f720e Jiakun Shuai 2025-07-07 1150 static int pswiotlb_find_slots(struct device *dev, int nid, phys_addr_t orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1151 size_t alloc_size, unsigned int alloc_align_mask, 81a243170f720e Jiakun Shuai 2025-07-07 1152 struct p_io_tlb_pool **retpool) 81a243170f720e Jiakun Shuai 2025-07-07 @1153 { 81a243170f720e Jiakun Shuai 2025-07-07 1154 struct p_io_tlb_mem *mem = &dev->dma_p_io_tlb_mem[nid]; 81a243170f720e Jiakun Shuai 2025-07-07 1155 struct p_io_tlb_pool *pool; 81a243170f720e Jiakun Shuai 2025-07-07 1156 int index; 81a243170f720e Jiakun Shuai 2025-07-07 1157 int try_pool_idx; 81a243170f720e Jiakun Shuai 2025-07-07 1158 int i; 81a243170f720e Jiakun Shuai 2025-07-07 @1159 int cpuid; 81a243170f720e Jiakun Shuai 2025-07-07 1160 int current_ratio; 81a243170f720e Jiakun Shuai 2025-07-07 1161 unsigned long pswiotlb_mem; 81a243170f720e Jiakun Shuai 2025-07-07 1162 unsigned long nslabs_per_pool = dynamic_inc_thr_npslabs; 81a243170f720e Jiakun Shuai 2025-07-07 1163 81a243170f720e Jiakun Shuai 2025-07-07 1164 cpuid = raw_smp_processor_id(); 81a243170f720e Jiakun Shuai 2025-07-07 1165 81a243170f720e Jiakun Shuai 2025-07-07 1166 rcu_read_lock(); 81a243170f720e Jiakun Shuai 2025-07-07 1167 #ifndef CONFIG_ARM64_4K_PAGES 81a243170f720e Jiakun Shuai 2025-07-07 1168 for (i = 0; i < 15; i++) { 81a243170f720e Jiakun Shuai 2025-07-07 1169 if (i == 0) { 81a243170f720e Jiakun Shuai 2025-07-07 1170 pool = mem->pool_addr[0]; 81a243170f720e Jiakun Shuai 2025-07-07 1171 index = pswiotlb_pool_find_slots(dev, nid, pool, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1172 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1173 } else if (i == 1 && mem->capacity > (cpuid + 1)) { 81a243170f720e Jiakun Shuai 2025-07-07 1174 pool = mem->pool_addr[cpuid + 1]; 81a243170f720e Jiakun Shuai 2025-07-07 1175 index = pswiotlb_pool_find_slots(dev, nid, pool, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1176 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1177 } else { 81a243170f720e Jiakun Shuai 2025-07-07 1178 try_pool_idx = get_random_u32() % mem->capacity; 81a243170f720e Jiakun Shuai 2025-07-07 1179 pool = mem->pool_addr[try_pool_idx]; 81a243170f720e Jiakun Shuai 2025-07-07 1180 index = pswiotlb_pool_find_slots(dev, nid, pool, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1181 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1182 } 81a243170f720e Jiakun Shuai 2025-07-07 1183 81a243170f720e Jiakun Shuai 2025-07-07 1184 if (index >= 0) { 81a243170f720e Jiakun Shuai 2025-07-07 1185 rcu_read_unlock(); 81a243170f720e Jiakun Shuai 2025-07-07 1186 goto found; 81a243170f720e Jiakun Shuai 2025-07-07 1187 } 81a243170f720e Jiakun Shuai 2025-07-07 1188 } 81a243170f720e Jiakun Shuai 2025-07-07 1189 #else 81a243170f720e Jiakun Shuai 2025-07-07 1190 for (i = 0; i < 15; i++) { 81a243170f720e Jiakun Shuai 2025-07-07 1191 try_pool_idx = get_random_u32() % mem->capacity; 81a243170f720e Jiakun Shuai 2025-07-07 1192 pool = mem->pool_addr[try_pool_idx]; 81a243170f720e Jiakun Shuai 2025-07-07 1193 index = pswiotlb_pool_find_slots(dev, nid, pool, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1194 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1195 81a243170f720e Jiakun Shuai 2025-07-07 1196 if (index >= 0) { 81a243170f720e Jiakun Shuai 2025-07-07 1197 rcu_read_unlock(); 81a243170f720e Jiakun Shuai 2025-07-07 1198 goto found; 81a243170f720e Jiakun Shuai 2025-07-07 1199 } 81a243170f720e Jiakun Shuai 2025-07-07 1200 } 81a243170f720e Jiakun Shuai 2025-07-07 1201 #endif 81a243170f720e Jiakun Shuai 2025-07-07 1202 rcu_read_unlock(); 81a243170f720e Jiakun Shuai 2025-07-07 1203 if (nslabs_per_pool > SLABS_PER_PAGE << MAX_ORDER) 81a243170f720e Jiakun Shuai 2025-07-07 1204 nslabs_per_pool = SLABS_PER_PAGE << MAX_ORDER; 81a243170f720e Jiakun Shuai 2025-07-07 1205 81a243170f720e Jiakun Shuai 2025-07-07 1206 nslabs_per_pool = ALIGN(nslabs_per_pool >> 1, P_IO_TLB_SEGSIZE); 81a243170f720e Jiakun Shuai 2025-07-07 1207 pswiotlb_mem = P_IO_TLB_DEFAULT_SIZE + 81a243170f720e Jiakun Shuai 2025-07-07 1208 (nslabs_per_pool << P_IO_TLB_SHIFT) * (mem->whole_size - 1); 81a243170f720e Jiakun Shuai 2025-07-07 1209 current_ratio = (pswiotlb_mem * 100 + mem->node_total_mem / 2) / mem->node_total_mem; 81a243170f720e Jiakun Shuai 2025-07-07 1210 if (current_ratio >= P_IO_TLB_EXT_WATERMARK) { 81a243170f720e Jiakun Shuai 2025-07-07 1211 dev_warn_once(dev, "Total pswiotlb (%ld MB) exceeds the watermark (%d%%)\n" 81a243170f720e Jiakun Shuai 2025-07-07 1212 "of memory (%ld MB) in node %d, pswiotlb expansion is prohibited.\n", 81a243170f720e Jiakun Shuai 2025-07-07 1213 pswiotlb_mem >> 20, P_IO_TLB_EXT_WATERMARK, 81a243170f720e Jiakun Shuai 2025-07-07 1214 mem->node_total_mem >> 20, nid); 81a243170f720e Jiakun Shuai 2025-07-07 1215 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1216 } 81a243170f720e Jiakun Shuai 2025-07-07 1217 81a243170f720e Jiakun Shuai 2025-07-07 1218 if (!mem->can_grow) 81a243170f720e Jiakun Shuai 2025-07-07 1219 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1220 81a243170f720e Jiakun Shuai 2025-07-07 1221 pool = pswiotlb_formal_alloc(dev, mem); 81a243170f720e Jiakun Shuai 2025-07-07 1222 if (!pool) 81a243170f720e Jiakun Shuai 2025-07-07 1223 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1224 81a243170f720e Jiakun Shuai 2025-07-07 1225 /* retry */ 81a243170f720e Jiakun Shuai 2025-07-07 1226 rcu_read_lock(); 81a243170f720e Jiakun Shuai 2025-07-07 1227 index = pswiotlb_pool_find_slots(dev, nid, pool, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1228 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1229 rcu_read_unlock(); 81a243170f720e Jiakun Shuai 2025-07-07 1230 81a243170f720e Jiakun Shuai 2025-07-07 1231 if (index < 0) { 81a243170f720e Jiakun Shuai 2025-07-07 1232 pswiotlb_dyn_free(&pool->rcu); 81a243170f720e Jiakun Shuai 2025-07-07 1233 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1234 } 81a243170f720e Jiakun Shuai 2025-07-07 1235 81a243170f720e Jiakun Shuai 2025-07-07 1236 found: 81a243170f720e Jiakun Shuai 2025-07-07 1237 WRITE_ONCE(dev->dma_uses_p_io_tlb, true); 81a243170f720e Jiakun Shuai 2025-07-07 1238 81a243170f720e Jiakun Shuai 2025-07-07 1239 /* 81a243170f720e Jiakun Shuai 2025-07-07 1240 * The general barrier orders reads and writes against a presumed store 81a243170f720e Jiakun Shuai 2025-07-07 1241 * of the PSWIOTLB buffer address by a device driver (to a driver private 81a243170f720e Jiakun Shuai 2025-07-07 1242 * data structure). It serves two purposes. 81a243170f720e Jiakun Shuai 2025-07-07 1243 * 81a243170f720e Jiakun Shuai 2025-07-07 1244 * First, the store to dev->dma_uses_p_io_tlb must be ordered before the 81a243170f720e Jiakun Shuai 2025-07-07 1245 * presumed store. This guarantees that the returned buffer address 81a243170f720e Jiakun Shuai 2025-07-07 1246 * cannot be passed to another CPU before updating dev->dma_uses_p_io_tlb. 81a243170f720e Jiakun Shuai 2025-07-07 1247 * 81a243170f720e Jiakun Shuai 2025-07-07 1248 * Second, the load from mem->pools must be ordered before the same 81a243170f720e Jiakun Shuai 2025-07-07 1249 * presumed store. This guarantees that the returned buffer address 81a243170f720e Jiakun Shuai 2025-07-07 1250 * cannot be observed by another CPU before an update of the RCU list 81a243170f720e Jiakun Shuai 2025-07-07 1251 * that was made by pswiotlb_dyn_alloc() on a third CPU (cf. multicopy 81a243170f720e Jiakun Shuai 2025-07-07 1252 * atomicity). 81a243170f720e Jiakun Shuai 2025-07-07 1253 * 81a243170f720e Jiakun Shuai 2025-07-07 1254 * See also the comment in is_pswiotlb_buffer(). 81a243170f720e Jiakun Shuai 2025-07-07 1255 */ 81a243170f720e Jiakun Shuai 2025-07-07 1256 smp_mb(); 81a243170f720e Jiakun Shuai 2025-07-07 1257 81a243170f720e Jiakun Shuai 2025-07-07 1258 *retpool = pool; 81a243170f720e Jiakun Shuai 2025-07-07 1259 return index; 81a243170f720e Jiakun Shuai 2025-07-07 1260 } 81a243170f720e Jiakun Shuai 2025-07-07 1261 #ifdef CONFIG_DEBUG_FS 81a243170f720e Jiakun Shuai 2025-07-07 1262 :::::: The code at line 1159 was first introduced by commit :::::: 81a243170f720e9b8772c7b0a1dfb2922264e0c6 dma: phytium: Add PSWIOTLB mechanism to improve DMA performance :::::: TO: Jiakun Shuai <shuaijiakun1288(a)phytium.com.cn> :::::: CC: Jiakun Shuai <shuaijiakun1288(a)phytium.com.cn> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] arch/arm64/kernel/vdso/gettimeofday.c:268:13: warning: no previous prototype for '__kernel_clock_gettime'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Andrew, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: f43f336031282e8ea7e5f7f887c5a6ff7b9c99b0 [1942/1942] arm64:vdso: Rewrite gettimeofday into C. config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20251214/202512140916.VwvjFYEj-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140916.VwvjFYEj-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140916.VwvjFYEj-lkp@intel.com/ Note: functions only called from assembly code should be annotated with the asmlinkage attribute All warnings (new ones prefixed by >>): >> arch/arm64/kernel/vdso/gettimeofday.c:268:13: warning: no previous prototype for '__kernel_clock_gettime' [-Wmissing-prototypes] 268 | notrace int __kernel_clock_gettime(clockid_t clock, struct timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~ arch/arm64/kernel/vdso/gettimeofday.c:302:13: warning: no previous prototype for '__kernel_gettimeofday' [-Wmissing-prototypes] 302 | notrace int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~ >> arch/arm64/kernel/vdso/gettimeofday.c:325:5: warning: no previous prototype for '__kernel_clock_getres' [-Wmissing-prototypes] 325 | int __kernel_clock_getres(clockid_t clock_id, struct timespec *res) | ^~~~~~~~~~~~~~~~~~~~~ -- >> arch/arm64/kernel/vdso/gettimeofday.c:268:13: warning: no previous prototype for '__kernel_clock_gettime' [-Wmissing-prototypes] 268 | notrace int __kernel_clock_gettime(clockid_t clock, struct timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~ arch/arm64/kernel/vdso/gettimeofday.c:302:13: warning: no previous prototype for '__kernel_gettimeofday' [-Wmissing-prototypes] 302 | notrace int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~ >> arch/arm64/kernel/vdso/gettimeofday.c:325:5: warning: no previous prototype for '__kernel_clock_getres' [-Wmissing-prototypes] 325 | int __kernel_clock_getres(clockid_t clock_id, struct timespec *res) | ^~~~~~~~~~~~~~~~~~~~~ vim +/__kernel_clock_gettime +268 arch/arm64/kernel/vdso/gettimeofday.c 267 > 268 notrace int __kernel_clock_gettime(clockid_t clock, struct timespec *ts) 269 { 270 const struct vdso_data *vd = &_vdso_data; 271 272 switch (clock) { 273 case CLOCK_REALTIME: 274 if (do_realtime(vd, ts)) 275 goto fallback; 276 break; 277 case CLOCK_MONOTONIC: 278 if (do_monotonic(vd, ts)) 279 goto fallback; 280 break; 281 case CLOCK_MONOTONIC_RAW: 282 if (do_monotonic_raw(vd, ts)) 283 goto fallback; 284 break; 285 case CLOCK_REALTIME_COARSE: 286 do_realtime_coarse(vd, ts); 287 break; 288 case CLOCK_MONOTONIC_COARSE: 289 do_monotonic_coarse(vd, ts); 290 break; 291 default: 292 goto fallback; 293 } 294 295 return 0; 296 fallback: 297 return clock_gettime_fallback(clock, ts); 298 } 299 300 301 302 notrace int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz) 303 { 304 const struct vdso_data *vd = &_vdso_data; 305 306 if (likely(tv != NULL)) { 307 struct timespec ts; 308 309 if (do_realtime(vd, &ts)) 310 return gettimeofday_fallback(tv, tz); 311 312 tv->tv_sec = ts.tv_sec; 313 tv->tv_usec = ts.tv_nsec / 1000; 314 } 315 316 if (unlikely(tz != NULL)) { 317 tz->tz_minuteswest = vd->tz_minuteswest; 318 tz->tz_dsttime = vd->tz_dsttime; 319 } 320 321 return 0; 322 } 323 324 > 325 int __kernel_clock_getres(clockid_t clock_id, struct timespec *res) -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/iommu/arm-smmu-v3-context.c:591:5: warning: no previous prototype for 'arm_smmu_get_cd_mpam'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Xingang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 2b7032bc021bef1eeca51dac8213fd3abce61dc4 [1942/1942] iommu/arm-smmu-v3: Add support to get SMMU mpam configuration config: arm64-randconfig-002-20251213 (https://download.01.org/0day-ci/archive/20251214/202512140917.x1FlS27Y-lkp@…) compiler: aarch64-linux-gcc (GCC) 11.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140917.x1FlS27Y-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140917.x1FlS27Y-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/iommu/arm-smmu-v3-context.c:569:5: warning: no previous prototype for 'arm_smmu_set_cd_mpam' [-Wmissing-prototypes] 569 | int arm_smmu_set_cd_mpam(struct iommu_pasid_table_ops *ops, | ^~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/arm-smmu-v3-context.c:591:5: warning: no previous prototype for 'arm_smmu_get_cd_mpam' [-Wmissing-prototypes] 591 | int arm_smmu_get_cd_mpam(struct iommu_pasid_table_ops *ops, | ^~~~~~~~~~~~~~~~~~~~ -- drivers/iommu/arm-smmu-v3.c:4296:5: warning: no previous prototype for 'arm_smmu_set_dev_mpam' [-Wmissing-prototypes] 4296 | int arm_smmu_set_dev_mpam(struct device *dev, int ssid, int partid, int pmg, | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/arm-smmu-v3.c:4338:5: warning: no previous prototype for 'arm_smmu_get_dev_mpam' [-Wmissing-prototypes] 4338 | int arm_smmu_get_dev_mpam(struct device *dev, int ssid, int *partid, int *pmg, | ^~~~~~~~~~~~~~~~~~~~~ drivers/iommu/arm-smmu-v3.c:4298: warning: Function parameter or member 'dev' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4298: warning: Function parameter or member 'ssid' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4298: warning: Function parameter or member 'partid' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4298: warning: Function parameter or member 'pmg' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4298: warning: Function parameter or member 's1mpam' not described in 'arm_smmu_set_dev_mpam' >> drivers/iommu/arm-smmu-v3.c:4340: warning: Function parameter or member 'ssid' not described in 'arm_smmu_get_dev_mpam' >> drivers/iommu/arm-smmu-v3.c:4340: warning: Function parameter or member 'partid' not described in 'arm_smmu_get_dev_mpam' >> drivers/iommu/arm-smmu-v3.c:4340: warning: Function parameter or member 'pmg' not described in 'arm_smmu_get_dev_mpam' drivers/iommu/arm-smmu-v3.c:4340: warning: Function parameter or member 's1mpam' not described in 'arm_smmu_get_dev_mpam' vim +/arm_smmu_get_cd_mpam +591 drivers/iommu/arm-smmu-v3-context.c 590 > 591 int arm_smmu_get_cd_mpam(struct iommu_pasid_table_ops *ops, 592 int ssid, int *partid, int *pmg) 593 { 594 struct arm_smmu_cd_tables *tbl = pasid_ops_to_tables(ops); 595 u64 val; 596 __le64 *cdptr = arm_smmu_get_cd_ptr(tbl, ssid); 597 598 if (!cdptr) 599 return -ENOMEM; 600 601 val = le64_to_cpu(cdptr[5]); 602 *partid = FIELD_GET(CTXDESC_CD_5_PARTID_MASK, val); 603 *pmg = FIELD_GET(CTXDESC_CD_5_PMG_MASK, val); 604 605 return 0; 606 } 607 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] block/genhd.c:642:5: warning: no previous prototype for 'disk_scan_partitions'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Yu, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: cdfb5c11ad89867cd28c903369fbfebe3f36ca26 [1941/1941] block: fix kabi broken in ioctl.c config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251214/202512140221.GVjDgRQq-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140221.GVjDgRQq-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140221.GVjDgRQq-lkp@intel.com/ All warnings (new ones prefixed by >>): >> block/genhd.c:642:5: warning: no previous prototype for 'disk_scan_partitions' [-Wmissing-prototypes] 642 | int disk_scan_partitions(struct gendisk *disk, fmode_t mode) | ^~~~~~~~~~~~~~~~~~~~ block/genhd.c:533: warning: Function parameter or member 'devt' not described in 'blk_invalidate_devt' vim +/disk_scan_partitions +642 block/genhd.c d2bf1b6723ed0e Tejun Heo 2010-12-08 641 efc73feb2901d2 Christoph Hellwig 2023-04-07 @642 int disk_scan_partitions(struct gendisk *disk, fmode_t mode) b9484a857f600c Yu Kuai 2022-08-09 643 { b9484a857f600c Yu Kuai 2022-08-09 644 struct block_device *bdev; efc73feb2901d2 Christoph Hellwig 2023-04-07 645 int ret; b9484a857f600c Yu Kuai 2022-08-09 646 efc73feb2901d2 Christoph Hellwig 2023-04-07 647 if (!disk_part_scan_enabled(disk)) efc73feb2901d2 Christoph Hellwig 2023-04-07 648 return -EINVAL; b9484a857f600c Yu Kuai 2022-08-09 649 b9484a857f600c Yu Kuai 2022-08-09 650 bdev = bdget_disk(disk, 0); b9484a857f600c Yu Kuai 2022-08-09 651 if (!bdev) efc73feb2901d2 Christoph Hellwig 2023-04-07 652 return -ENOMEM; b9484a857f600c Yu Kuai 2022-08-09 653 b9484a857f600c Yu Kuai 2022-08-09 654 bdev->bd_invalidated = 1; efc73feb2901d2 Christoph Hellwig 2023-04-07 655 efc73feb2901d2 Christoph Hellwig 2023-04-07 656 ret = blkdev_get(bdev, mode, NULL); efc73feb2901d2 Christoph Hellwig 2023-04-07 657 if (!ret) efc73feb2901d2 Christoph Hellwig 2023-04-07 658 blkdev_put(bdev, mode); efc73feb2901d2 Christoph Hellwig 2023-04-07 659 efc73feb2901d2 Christoph Hellwig 2023-04-07 660 return ret; fbbec472351c99 Christoph Hellwig 2023-04-07 661 } fbbec472351c99 Christoph Hellwig 2023-04-07 662 :::::: The code at line 642 was first introduced by commit :::::: efc73feb2901d27dcd01fa859d1378aee42850aa block: merge disk_scan_partitions and blkdev_reread_part :::::: TO: Christoph Hellwig <hch(a)lst.de> :::::: CC: Yongqiang Liu <duanzi(a)zju.edu.cn> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • ...
  • 2195
  • Older →

HyperKitty Powered by HyperKitty