Re: [PATCH v2 09/15] cxl: define a driver interface for HPA free space enumaration

kernel test robot
2024-07-16T00:54:20Z

Hi,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on v6.10 next-20240715]
[cannot apply to cxl/next cxl/pending horms-ipvs/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/alejandro-lucero-palau-amd-com/cxl-add-type2-device-basic-support/20240716-015920
base: linus/master
patch link: https://lore.kernel.org/r/20240715172835.24757-10-alejandro.lucero-palau%40amd.com
patch subject: [PATCH v2 09/15] cxl: define a driver interface for HPA free space enumaration
config: i386-buildonly-randconfig-004-20240716 (https://download.01.org/0day-ci/archive/20240716/202407160818.7GrterxM-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240716/202407160818.7GrterxM-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/202407160818.7GrterxM-lkp@intel.com/

All warnings (new ones prefixed by >>):

In file included from drivers/net/ethernet/sfc/efx_cxl.c:17:
drivers/net/ethernet/sfc/efx_cxl.h:11:9: warning: 'EFX_CXL_H' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
11 | #ifndef EFX_CXL_H
| ^~~~~~~~~
drivers/net/ethernet/sfc/efx_cxl.h:12:9: note: 'EFX_CLX_H' is defined here; did you mean 'EFX_CXL_H'?
12 | #define EFX_CLX_H
| ^~~~~~~~~
| EFX_CXL_H
>> drivers/net/ethernet/sfc/efx_cxl.c:89:7: warning: format specifies type 'unsigned long long' but the argument has type 'resource_size_t' (aka 'unsigned int') [-Wformat]
88 | pci_info(pci_dev, "CXL accel not enough free HPA space %llu < %u\n",
| ~~~~
| %u
89 | max, EFX_CTPIO_BUFFER_SIZE);
| ^~~
include/linux/pci.h:2683:67: note: expanded from macro 'pci_info'
2683 | #define pci_info(pdev, fmt, arg...) dev_info(&(pdev)->dev, fmt, ##arg)
| ~~~ ^~~
include/linux/dev_printk.h:160:67: note: expanded from macro 'dev_info'
160 | dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ~~~ ^~~~~~~~~~~
2 warnings generated.

vim +89 drivers/net/ethernet/sfc/efx_cxl.c

15
16 #include "net_driver.h"
> 17 #include "efx_cxl.h"
18
19 #define EFX_CTPIO_BUFFER_SIZE (1024*1024*256)
20
21 void efx_cxl_init(struct efx_nic *efx)
22 {
23 struct pci_dev *pci_dev = efx->pci_dev;
24 struct efx_cxl *cxl = efx->cxl;
25 resource_size_t max = 0;
26 struct resource res;
27 u16 dvsec;
28
29 dvsec = pci_find_dvsec_capability(pci_dev, PCI_VENDOR_ID_CXL,
30 CXL_DVSEC_PCIE_DEVICE);
31
32 if (!dvsec)
33 return;
34
35 pci_info(pci_dev, "CXL CXL_DVSEC_PCIE_DEVICE capability found");
36
37 cxl->cxlds = cxl_accel_state_create(&pci_dev->dev,
38 CXL_ACCEL_DRIVER_CAP_HDM);
39 if (IS_ERR(cxl->cxlds)) {
40 pci_info(pci_dev, "CXL accel device state failed");
41 return;
42 }
43
44 cxl_accel_set_dvsec(cxl->cxlds, dvsec);
45 cxl_accel_set_serial(cxl->cxlds, pci_dev->dev.id);
46
47 res = DEFINE_RES_MEM(0, EFX_CTPIO_BUFFER_SIZE);
48 cxl_accel_set_resource(cxl->cxlds, res, CXL_ACCEL_RES_DPA);
49
50 res = DEFINE_RES_MEM_NAMED(0, EFX_CTPIO_BUFFER_SIZE, "ram");
51 cxl_accel_set_resource(cxl->cxlds, res, CXL_ACCEL_RES_RAM);
52
53 if (cxl_pci_accel_setup_regs(pci_dev, cxl->cxlds)) {
54 pci_info(pci_dev, "CXL accel setup regs failed");
55 return;
56 }
57
58 if (cxl_accel_request_resource(cxl->cxlds, true))
59 pci_info(pci_dev, "CXL accel resource request failed");
60
61 if (!cxl_await_media_ready(cxl->cxlds)) {
62 cxl_accel_set_media_ready(cxl->cxlds);
63 } else {
64 pci_info(pci_dev, "CXL accel media not active");
65 return;
66 }
67
68 cxl->cxlmd = devm_cxl_add_memdev(&pci_dev->dev, cxl->cxlds);
69 if (IS_ERR(cxl->cxlmd)) {
70 pci_info(pci_dev, "CXL accel memdev creation failed");
71 return;
72 }
73
74 cxl->endpoint = cxl_acquire_endpoint(cxl->cxlmd);
75 if (IS_ERR(cxl->endpoint))
76 pci_info(pci_dev, "CXL accel acquire endpoint failed");
77
78 cxl->cxlrd = cxl_get_hpa_freespace(cxl->endpoint, 1,
79 CXL_DECODER_F_RAM | CXL_DECODER_F_TYPE2,
80 &max);
81
82 if (IS_ERR(cxl->cxlrd)) {
83 pci_info(pci_dev, "CXL accel get HPA failed");
84 goto out;
85 }
86
87 if (max < EFX_CTPIO_BUFFER_SIZE)
88 pci_info(pci_dev, "CXL accel not enough free HPA space %llu < %u\n",
> 89 max, EFX_CTPIO_BUFFER_SIZE);
90 out:
91 cxl_release_endpoint(cxl->cxlmd, cxl->endpoint);
92 }
93

--
0-DAY CI Kernel Test Service