Re: [PATCH V2 1/2] PCI/ASPM: Add ASPM BIOS override function
by kernel test robot
Hi "David,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on v5.16-rc4]
[also build test ERROR on next-20211207]
[cannot apply to helgaas-pci/next]
[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]
url: https://github.com/0day-ci/linux/commits/David-E-Box/PCI-ASPM-Add-ASPM-BI...
base: 0fcfb00b28c0b7884635dacf38e46d60bf3d4eb1
config: arm64-randconfig-r022-20211207 (https://download.01.org/0day-ci/archive/20211208/202112081821.vVNb7kbL-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/78c85417651fe465aafee7ef1841ab756...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review David-E-Box/PCI-ASPM-Add-ASPM-BIOS-override-function/20211208-082303
git checkout 78c85417651fe465aafee7ef1841ab75619b165b
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash ./ drivers/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from drivers/pci/controller/pci-aardvark.c:28:
>> drivers/pci/controller/../pci.h:571:82: error: expected ';' after return statement
static inline int pcie_aspm_policy_override(struct pci_dev *dev) { return -EINVAL }
^
;
1 error generated.
--
In file included from drivers/pci/controller/dwc/pci-dra7xx.c:32:
>> drivers/pci/controller/dwc/../../pci.h:571:82: error: expected ';' after return statement
static inline int pcie_aspm_policy_override(struct pci_dev *dev) { return -EINVAL }
^
;
1 error generated.
--
In file included from drivers/pci/pcie/portdrv_core.c:19:
>> drivers/pci/pcie/../pci.h:571:82: error: expected ';' after return statement
static inline int pcie_aspm_policy_override(struct pci_dev *dev) { return -EINVAL }
^
;
1 error generated.
--
In file included from drivers/pci/hotplug/pci_hotplug_core.c:32:
>> drivers/pci/hotplug/../pci.h:571:82: error: expected ';' after return statement
static inline int pcie_aspm_policy_override(struct pci_dev *dev) { return -EINVAL }
^
;
1 error generated.
--
In file included from drivers/xen/pci.c:18:
>> drivers/xen/../pci/pci.h:571:82: error: expected ';' after return statement
static inline int pcie_aspm_policy_override(struct pci_dev *dev) { return -EINVAL }
^
;
1 error generated.
--
In file included from drivers/pci/controller/mobiveil/pcie-mobiveil.c:18:
In file included from drivers/pci/controller/mobiveil/pcie-mobiveil.h:18:
>> drivers/pci/controller/mobiveil/../../pci.h:571:82: error: expected ';' after return statement
static inline int pcie_aspm_policy_override(struct pci_dev *dev) { return -EINVAL }
^
;
1 error generated.
vim +571 drivers/pci/controller/../pci.h
553
554 /* PCI error reporting and recovery */
555 pci_ers_result_t pcie_do_recovery(struct pci_dev *dev,
556 pci_channel_state_t state,
557 pci_ers_result_t (*reset_subordinates)(struct pci_dev *pdev));
558
559 bool pcie_wait_for_link(struct pci_dev *pdev, bool active);
560 #ifdef CONFIG_PCIEASPM
561 void pcie_aspm_init_link_state(struct pci_dev *pdev);
562 void pcie_aspm_exit_link_state(struct pci_dev *pdev);
563 void pcie_aspm_pm_state_change(struct pci_dev *pdev);
564 void pcie_aspm_powersave_config_link(struct pci_dev *pdev);
565 int pcie_aspm_policy_override(struct pci_dev *dev);
566 #else
567 static inline void pcie_aspm_init_link_state(struct pci_dev *pdev) { }
568 static inline void pcie_aspm_exit_link_state(struct pci_dev *pdev) { }
569 static inline void pcie_aspm_pm_state_change(struct pci_dev *pdev) { }
570 static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev) { }
> 571 static inline int pcie_aspm_policy_override(struct pci_dev *dev) { return -EINVAL }
572 #endif
573
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[dlemoal-libata:ata-msg 34/61] drivers/ata/sata_fsl.c:318:29: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'void *'
by kernel test robot
tree: git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata.git ata-msg
head: 7d6ff0ace26c7e7f01d532d244de0b9811765f47
commit: efab2a8f108886fa8d2d0108941bb1ccb36f8526 [34/61] sata_fsl: move DPRINTK to ata debugging
config: powerpc-mpc837x_rdb_defconfig (https://download.01.org/0day-ci/archive/20211208/202112081807.hUOrVSCI-lk...)
compiler: powerpc-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata.git/commit...
git remote add dlemoal-libata git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata.git
git fetch --no-tags dlemoal-libata ata-msg
git checkout efab2a8f108886fa8d2d0108941bb1ccb36f8526
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/ata/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/device.h:15,
from include/linux/platform_device.h:13,
from drivers/ata/sata_fsl.c:15:
drivers/ata/sata_fsl.c: In function 'fsl_sata_set_irq_coalescing':
drivers/ata/sata_fsl.c:316:17: error: passing argument 2 of '_dev_printk' from incompatible pointer type [-Werror=incompatible-pointer-types]
316 | dev_dbg(&host->dev, "interrupt coalescing, count = 0x%x, ticks = %x\n",
| ^~~~~~~~~~
| |
| struct device **
include/linux/dev_printk.h:129:36: note: in definition of macro 'dev_printk'
129 | _dev_printk(level, dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/ata/sata_fsl.c:316:9: note: in expansion of macro 'dev_dbg'
316 | dev_dbg(&host->dev, "interrupt coalescing, count = 0x%x, ticks = %x\n",
| ^~~~~~~
include/linux/dev_printk.h:41:58: note: expected 'const struct device *' but argument is of type 'struct device **'
41 | void _dev_printk(const char *level, const struct device *dev,
| ~~~~~~~~~~~~~~~~~~~~~^~~
drivers/ata/sata_fsl.c:318:17: error: passing argument 2 of '_dev_printk' from incompatible pointer type [-Werror=incompatible-pointer-types]
318 | dev_dbg(&host->dev, "ICC register status: (hcr base: 0x%x) = 0x%x\n",
| ^~~~~~~~~~
| |
| struct device **
include/linux/dev_printk.h:129:36: note: in definition of macro 'dev_printk'
129 | _dev_printk(level, dev, fmt, ##__VA_ARGS__); \
| ^~~
drivers/ata/sata_fsl.c:318:9: note: in expansion of macro 'dev_dbg'
318 | dev_dbg(&host->dev, "ICC register status: (hcr base: 0x%x) = 0x%x\n",
| ^~~~~~~
include/linux/dev_printk.h:41:58: note: expected 'const struct device *' but argument is of type 'struct device **'
41 | void _dev_printk(const char *level, const struct device *dev,
| ~~~~~~~~~~~~~~~~~~~~~^~~
>> drivers/ata/sata_fsl.c:318:29: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'void *' [-Wformat=]
318 | dev_dbg(&host->dev, "ICC register status: (hcr base: 0x%x) = 0x%x\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:129:41: note: in definition of macro 'dev_printk'
129 | _dev_printk(level, dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:163:45: note: in expansion of macro 'dev_fmt'
163 | dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__); \
| ^~~~~~~
drivers/ata/sata_fsl.c:318:9: note: in expansion of macro 'dev_dbg'
318 | dev_dbg(&host->dev, "ICC register status: (hcr base: 0x%x) = 0x%x\n",
| ^~~~~~~
drivers/ata/sata_fsl.c:318:65: note: format string is defined here
318 | dev_dbg(&host->dev, "ICC register status: (hcr base: 0x%x) = 0x%x\n",
| ~^
| |
| unsigned int
| %p
In file included from include/linux/device.h:15,
from include/linux/platform_device.h:13,
from drivers/ata/sata_fsl.c:15:
drivers/ata/sata_fsl.c: In function 'sata_fsl_init_controller':
drivers/ata/sata_fsl.c:1361:22: error: 'ap' undeclared (first use in this function); did you mean 'up'?
1361 | ata_port_dbg(ap, "icc = 0x%x\n", ioread32(hcr_base + ICC));
| ^~
include/linux/dev_printk.h:129:36: note: in definition of macro 'dev_printk'
129 | _dev_printk(level, dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/libata.h:1502:9: note: in expansion of macro 'dev_dbg'
1502 | dev_dbg(&ap->tdev, "%s: " fmt, __func__, ##__VA_ARGS__)
| ^~~~~~~
drivers/ata/sata_fsl.c:1361:9: note: in expansion of macro 'ata_port_dbg'
1361 | ata_port_dbg(ap, "icc = 0x%x\n", ioread32(hcr_base + ICC));
| ^~~~~~~~~~~~
drivers/ata/sata_fsl.c:1361:22: note: each undeclared identifier is reported only once for each function it appears in
1361 | ata_port_dbg(ap, "icc = 0x%x\n", ioread32(hcr_base + ICC));
| ^~
include/linux/dev_printk.h:129:36: note: in definition of macro 'dev_printk'
129 | _dev_printk(level, dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/libata.h:1502:9: note: in expansion of macro 'dev_dbg'
1502 | dev_dbg(&ap->tdev, "%s: " fmt, __func__, ##__VA_ARGS__)
| ^~~~~~~
drivers/ata/sata_fsl.c:1361:9: note: in expansion of macro 'ata_port_dbg'
1361 | ata_port_dbg(ap, "icc = 0x%x\n", ioread32(hcr_base + ICC));
| ^~~~~~~~~~~~
drivers/ata/sata_fsl.c: At top level:
drivers/ata/sata_fsl.c:1399:22: warning: initialized field overwritten [-Woverride-init]
1399 | .can_queue = SATA_FSL_QUEUE_DEPTH,
| ^~~~~~~~~~~~~~~~~~~~
drivers/ata/sata_fsl.c:1399:22: note: (near initialization for 'sata_fsl_sht.can_queue')
In file included from include/linux/device.h:15,
from include/linux/platform_device.h:13,
from drivers/ata/sata_fsl.c:15:
drivers/ata/sata_fsl.c: In function 'sata_fsl_probe':
drivers/ata/sata_fsl.c:1470:22: error: 'ap' undeclared (first use in this function); did you mean 'up'?
1470 | ata_port_dbg(ap, "@reset i/o = 0x%x\n", ioread32(csr_base + TRANSCFG));
| ^~
include/linux/dev_printk.h:129:36: note: in definition of macro 'dev_printk'
129 | _dev_printk(level, dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/libata.h:1502:9: note: in expansion of macro 'dev_dbg'
1502 | dev_dbg(&ap->tdev, "%s: " fmt, __func__, ##__VA_ARGS__)
| ^~~~~~~
drivers/ata/sata_fsl.c:1470:9: note: in expansion of macro 'ata_port_dbg'
1470 | ata_port_dbg(ap, "@reset i/o = 0x%x\n", ioread32(csr_base + TRANSCFG));
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +318 drivers/ata/sata_fsl.c
290
291 static void fsl_sata_set_irq_coalescing(struct ata_host *host,
292 unsigned int count, unsigned int ticks)
293 {
294 struct sata_fsl_host_priv *host_priv = host->private_data;
295 void __iomem *hcr_base = host_priv->hcr_base;
296 unsigned long flags;
297
298 if (count > ICC_MAX_INT_COUNT_THRESHOLD)
299 count = ICC_MAX_INT_COUNT_THRESHOLD;
300 else if (count < ICC_MIN_INT_COUNT_THRESHOLD)
301 count = ICC_MIN_INT_COUNT_THRESHOLD;
302
303 if (ticks > ICC_MAX_INT_TICKS_THRESHOLD)
304 ticks = ICC_MAX_INT_TICKS_THRESHOLD;
305 else if ((ICC_MIN_INT_TICKS_THRESHOLD == ticks) &&
306 (count > ICC_MIN_INT_COUNT_THRESHOLD))
307 ticks = ICC_SAFE_INT_TICKS;
308
309 spin_lock_irqsave(&host->lock, flags);
310 iowrite32((count << 24 | ticks), hcr_base + ICC);
311
312 intr_coalescing_count = count;
313 intr_coalescing_ticks = ticks;
314 spin_unlock_irqrestore(&host->lock, flags);
315
316 dev_dbg(&host->dev, "interrupt coalescing, count = 0x%x, ticks = %x\n",
317 intr_coalescing_count, intr_coalescing_ticks);
> 318 dev_dbg(&host->dev, "ICC register status: (hcr base: 0x%x) = 0x%x\n",
319 hcr_base, ioread32(hcr_base + ICC));
320 }
321
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH 21/32] KVM: s390: pci: provide routines for enabling/disabling interrupt forwarding
by kernel test robot
Hi Matthew,
I love your patch! Yet something to improve:
[auto build test ERROR on v5.16-rc4]
[cannot apply to s390/features kvms390/next awilliam-vfio/next next-20211208]
[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]
url: https://github.com/0day-ci/linux/commits/Matthew-Rosato/KVM-s390-enable-z...
base: 0fcfb00b28c0b7884635dacf38e46d60bf3d4eb1
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20211208/202112081717.0Nu4b7a2-lk...)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/6604d174d51ffe79c280462e77e8f75c1...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Rosato/KVM-s390-enable-zPCI-for-interpretive-execution/20211208-050204
git checkout 6604d174d51ffe79c280462e77e8f75c107b2076
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash arch/s390/kvm/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/vdso/const.h:5,
from include/linux/const.h:4,
from include/uapi/linux/kernel.h:6,
from include/linux/cache.h:5,
from include/linux/printk.h:9,
from include/asm-generic/bug.h:22,
from arch/s390/include/asm/bug.h:68,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/percpu.h:5,
from include/linux/context_tracking_state.h:5,
from include/linux/hardirq.h:5,
from include/linux/kvm_host.h:7,
from arch/s390/kvm/pci.c:10:
arch/s390/kvm/pci.c: In function 'kvm_s390_pci_aen_exit':
arch/s390/include/asm/pci.h:27:41: error: 'CONFIG_PCI_NR_FUNCTIONS' undeclared (first use in this function); did you mean 'CONFIG_FAIL_FUNCTION'?
27 | #define ZPCI_NR_DEVICES CONFIG_PCI_NR_FUNCTIONS
| ^~~~~~~~~~~~~~~~~~~~~~~
include/uapi/linux/const.h:32:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
32 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
include/linux/mm.h:224:26: note: in expansion of macro 'ALIGN'
224 | #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE)
| ^~~~~
arch/s390/kvm/pci.c:56:26: note: in expansion of macro 'PAGE_ALIGN'
56 | size = get_order(PAGE_ALIGN(ZPCI_NR_DEVICES *
| ^~~~~~~~~~
arch/s390/kvm/pci.c:56:37: note: in expansion of macro 'ZPCI_NR_DEVICES'
56 | size = get_order(PAGE_ALIGN(ZPCI_NR_DEVICES *
| ^~~~~~~~~~~~~~~
arch/s390/include/asm/pci.h:27:41: note: each undeclared identifier is reported only once for each function it appears in
27 | #define ZPCI_NR_DEVICES CONFIG_PCI_NR_FUNCTIONS
| ^~~~~~~~~~~~~~~~~~~~~~~
include/uapi/linux/const.h:32:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
32 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
include/linux/mm.h:224:26: note: in expansion of macro 'ALIGN'
224 | #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE)
| ^~~~~
arch/s390/kvm/pci.c:56:26: note: in expansion of macro 'PAGE_ALIGN'
56 | size = get_order(PAGE_ALIGN(ZPCI_NR_DEVICES *
| ^~~~~~~~~~
arch/s390/kvm/pci.c:56:37: note: in expansion of macro 'ZPCI_NR_DEVICES'
56 | size = get_order(PAGE_ALIGN(ZPCI_NR_DEVICES *
| ^~~~~~~~~~~~~~~
In file included from include/linux/pci.h:1886,
from arch/s390/kvm/pci.c:11:
arch/s390/kvm/pci.c: In function 'kvm_s390_pci_aen_init':
arch/s390/include/asm/pci.h:27:41: error: 'CONFIG_PCI_NR_FUNCTIONS' undeclared (first use in this function); did you mean 'CONFIG_FAIL_FUNCTION'?
27 | #define ZPCI_NR_DEVICES CONFIG_PCI_NR_FUNCTIONS
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/s390/kvm/pci.c:73:30: note: in expansion of macro 'ZPCI_NR_DEVICES'
73 | aift.kzdev = kcalloc(ZPCI_NR_DEVICES, sizeof(struct kvm_zdev),
| ^~~~~~~~~~~~~~~
arch/s390/kvm/pci.c: In function 'kvm_zpci_set_airq':
>> arch/s390/kvm/pci.c:128:19: error: implicit declaration of function 'ZPCI_CREATE_REQ' [-Werror=implicit-function-declaration]
128 | u64 req = ZPCI_CREATE_REQ(zdev->fh, 0, ZPCI_MOD_FC_REG_INT);
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/ZPCI_CREATE_REQ +128 arch/s390/kvm/pci.c
> 11 #include <linux/pci.h>
12 #include <asm/kvm_pci.h>
13 #include <asm/pci.h>
14 #include <asm/pci_insn.h>
15 #include <asm/sclp.h>
16 #include "pci.h"
17 #include "kvm-s390.h"
18
19 static struct zpci_aift aift;
20
21 static inline int __set_irq_noiib(u16 ctl, u8 isc)
22 {
23 union zpci_sic_iib iib = {{0}};
24
25 return zpci_set_irq_ctrl(ctl, isc, &iib);
26 }
27
28 struct zpci_aift *kvm_s390_pci_get_aift(void)
29 {
30 return &aift;
31 }
32
33 /* Caller must hold the aift lock before calling this function */
34 void kvm_s390_pci_aen_exit(void)
35 {
36 struct zpci_gaite *gait;
37 unsigned long flags;
38 struct airq_iv *sbv;
39 struct kvm_zdev **gait_kzdev;
40 int size;
41
42 /* Clear the GAIT and forwarding summary vector */
43 __set_irq_noiib(SIC_SET_AENI_CONTROLS, 0);
44
45 spin_lock_irqsave(&aift.gait_lock, flags);
46 gait = aift.gait;
47 sbv = aift.sbv;
48 gait_kzdev = aift.kzdev;
49 aift.gait = 0;
50 aift.sbv = 0;
51 aift.kzdev = 0;
52 spin_unlock_irqrestore(&aift.gait_lock, flags);
53
54 if (sbv)
55 airq_iv_release(sbv);
56 size = get_order(PAGE_ALIGN(ZPCI_NR_DEVICES *
57 sizeof(struct zpci_gaite)));
58 free_pages((unsigned long)gait, size);
59 kfree(gait_kzdev);
60 }
61
62 int kvm_s390_pci_aen_init(u8 nisc)
63 {
64 union zpci_sic_iib iib = {{0}};
65 struct page *page;
66 int rc = 0, size;
67
68 /* If already enabled for AEN, bail out now */
69 if (aift.gait || aift.sbv)
70 return -EPERM;
71
72 mutex_lock(&aift.lock);
73 aift.kzdev = kcalloc(ZPCI_NR_DEVICES, sizeof(struct kvm_zdev),
74 GFP_KERNEL);
75 if (!aift.kzdev) {
76 rc = -ENOMEM;
77 goto unlock;
78 }
79 aift.sbv = airq_iv_create(ZPCI_NR_DEVICES, AIRQ_IV_ALLOC, 0);
80 if (!aift.sbv) {
81 rc = -ENOMEM;
82 goto free_zdev;
83 }
84 size = get_order(PAGE_ALIGN(ZPCI_NR_DEVICES *
85 sizeof(struct zpci_gaite)));
86 page = alloc_pages(GFP_KERNEL | __GFP_ZERO, size);
87 if (!page) {
88 rc = -ENOMEM;
89 goto free_sbv;
90 }
91 aift.gait = (struct zpci_gaite *)page_to_phys(page);
92
93 iib.aipb.faisb = (u64)aift.sbv->vector;
94 iib.aipb.gait = (u64)aift.gait;
95 iib.aipb.afi = nisc;
96 iib.aipb.faal = ZPCI_NR_DEVICES;
97
98 /* Setup Adapter Event Notification Interpretation */
99 if (zpci_set_irq_ctrl(SIC_SET_AENI_CONTROLS, 0, &iib)) {
100 rc = -EIO;
101 goto free_gait;
102 }
103
104 /* Enable floating IRQs */
105 if (__set_irq_noiib(SIC_IRQ_MODE_SINGLE, nisc)) {
106 rc = -EIO;
107 kvm_s390_pci_aen_exit();
108 }
109
110 goto unlock;
111
112 free_gait:
113 size = get_order(PAGE_ALIGN(ZPCI_NR_DEVICES *
114 sizeof(struct zpci_gaite)));
115 free_pages((unsigned long)aift.gait, size);
116 free_sbv:
117 airq_iv_release(aift.sbv);
118 free_zdev:
119 kfree(aift.kzdev);
120 unlock:
121 mutex_unlock(&aift.lock);
122 return rc;
123 }
124
125 /* Modify PCI: Register floating adapter interruption forwarding */
126 static int kvm_zpci_set_airq(struct zpci_dev *zdev)
127 {
> 128 u64 req = ZPCI_CREATE_REQ(zdev->fh, 0, ZPCI_MOD_FC_REG_INT);
129 struct zpci_fib fib = {0};
130 u8 status;
131
132 fib.fmt0.isc = zdev->kzdev->fib.fmt0.isc;
133 fib.fmt0.sum = 1; /* enable summary notifications */
134 fib.fmt0.noi = airq_iv_end(zdev->aibv);
135 fib.fmt0.aibv = (unsigned long) zdev->aibv->vector;
136 fib.fmt0.aibvo = 0;
137 fib.fmt0.aisb = (unsigned long) aift.sbv->vector + (zdev->aisb/64) * 8;
138 fib.fmt0.aisbo = zdev->aisb & 63;
139 fib.gd = zdev->gd;
140
141 return zpci_mod_fc(req, &fib, &status) ? -EIO : 0;
142 }
143
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[ti:ti-rt-linux-5.10.y 9021/10213] drivers/gpu/drm/omapdrm/omap_wb_cap.c:512:13: warning: variable 'ret' set but not used
by kernel test robot
Hi Benoit,
FYI, the error/warning still remains.
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-rt-linux-5.10.y
head: 541ec9a6995c3dd881d6f0b63cc714a08ded457d
commit: b5eff5a26c1aa3a3872533555a4678d510d07f87 [9021/10213] drm/omap: add WB support
config: arm-allyesconfig (https://download.01.org/0day-ci/archive/20211208/202112081614.68G1VspQ-lk...)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
git fetch --no-tags ti ti-rt-linux-5.10.y
git checkout b5eff5a26c1aa3a3872533555a4678d510d07f87
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/gpu/drm/omapdrm/omap_wb_cap.c: In function 'stop_streaming':
>> drivers/gpu/drm/omapdrm/omap_wb_cap.c:512:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
512 | int ret;
| ^~~
vim +/ret +512 drivers/gpu/drm/omapdrm/omap_wb_cap.c
502
503 /*
504 * Stop the DMA engine. Any remaining buffers in the DMA queue are dequeued
505 * and passed on to the vb2 framework marked as STATE_ERROR.
506 */
507 static void stop_streaming(struct vb2_queue *vq)
508 {
509 struct wbcap_dev *wbcap = vb2_get_drv_priv(vq);
510 struct omap_drm_private *priv = wbcap->dev->drm_dev->dev_private;
511 struct drm_crtc *crtc;
> 512 int ret;
513
514 log_dbg(wbcap, "Stopping WB\n");
515 log_dbg(wbcap, "current state: %d\n", wbcap->state);
516
517 wbcap->stopping = true;
518 ret = wait_event_timeout(wbcap->event,
519 !wbcap->stopping,
520 msecs_to_jiffies(250));
521
522 log_dbg(wbcap, "Returning VB2 buffers\n");
523
524 if (priv->dispc_ops->wb_go_busy(priv->dispc))
525 log_err(wbcap, "WARNING, WB BUSY when stopping\n");
526
527 /* Release all active buffers */
528 return_all_buffers(wbcap, VB2_BUF_STATE_ERROR);
529
530 /* Disable vsync irq on the input crtc */
531 crtc = priv->pipes[wb_inputs[wbcap->input].crtc_index].crtc;
532 drm_crtc_vblank_put(crtc);
533
534 priv->dispc_ops->runtime_put(priv->dispc);
535 }
536
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH 23/32] KVM: s390: pci: handle refresh of PCI translations
by kernel test robot
Hi Matthew,
I love your patch! Perhaps something to improve:
[auto build test WARNING on v5.16-rc4]
[cannot apply to s390/features kvms390/next awilliam-vfio/next next-20211207]
[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]
url: https://github.com/0day-ci/linux/commits/Matthew-Rosato/KVM-s390-enable-z...
base: 0fcfb00b28c0b7884635dacf38e46d60bf3d4eb1
config: s390-allyesconfig (https://download.01.org/0day-ci/archive/20211208/202112081537.qiFqvLb1-lk...)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/84cb5df859beb99f52b3d3b133ff1f9b5...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Rosato/KVM-s390-enable-zPCI-for-interpretive-execution/20211208-050204
git checkout 84cb5df859beb99f52b3d3b133ff1f9b5a459558
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash arch/s390/kvm/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/s390/kvm/pci.c:179:16: warning: no previous prototype for 'dma_walk_guest_cpu_trans' [-Wmissing-prototypes]
179 | unsigned long *dma_walk_guest_cpu_trans(struct kvm_vcpu *vcpu,
| ^~~~~~~~~~~~~~~~~~~~~~~~
vim +/dma_walk_guest_cpu_trans +179 arch/s390/kvm/pci.c
178
> 179 unsigned long *dma_walk_guest_cpu_trans(struct kvm_vcpu *vcpu,
180 struct kvm_zdev_ioat *ioat,
181 dma_addr_t dma_addr)
182 {
183 unsigned long *rto, *sto, *pto;
184 unsigned int rtx, rts, sx, px, idx;
185 struct page *page;
186 gpa_t addr;
187 int i;
188
189 /* Pin guest segment table if needed */
190 rtx = calc_rtx(dma_addr);
191 rto = ioat->head[(rtx / ZPCI_TABLE_ENTRIES_PER_PAGE)];
192 rts = rtx * ZPCI_TABLE_PAGES;
193 if (!ioat->seg[rts]) {
194 if (!reg_entry_isvalid(rto[rtx % ZPCI_TABLE_ENTRIES_PER_PAGE]))
195 return NULL;
196 sto = get_rt_sto(rto[rtx % ZPCI_TABLE_ENTRIES_PER_PAGE]);
197 addr = ((u64)sto & ZPCI_RTE_ADDR_MASK);
198 idx = srcu_read_lock(&vcpu->kvm->srcu);
199 for (i = 0; i < ZPCI_TABLE_PAGES; i++) {
200 page = gfn_to_page(vcpu->kvm, gpa_to_gfn(addr));
201 if (is_error_page(page)) {
202 srcu_read_unlock(&vcpu->kvm->srcu, idx);
203 return NULL;
204 }
205 ioat->seg[rts + i] = page_to_virt(page) +
206 (addr & ~PAGE_MASK);
207 addr += PAGE_SIZE;
208 }
209 srcu_read_unlock(&vcpu->kvm->srcu, idx);
210 }
211
212 /* Allocate pin pointers for another segment table if needed */
213 if (!ioat->pt[rtx]) {
214 ioat->pt[rtx] = kcalloc(ZPCI_TABLE_ENTRIES,
215 (sizeof(unsigned long *)), GFP_KERNEL);
216 if (!ioat->pt[rtx])
217 return NULL;
218 }
219 /* Pin guest page table if needed */
220 sx = calc_sx(dma_addr);
221 sto = ioat->seg[(rts + (sx / ZPCI_TABLE_ENTRIES_PER_PAGE))];
222 if (!ioat->pt[rtx][sx]) {
223 if (!reg_entry_isvalid(sto[sx % ZPCI_TABLE_ENTRIES_PER_PAGE]))
224 return NULL;
225 pto = get_st_pto(sto[sx % ZPCI_TABLE_ENTRIES_PER_PAGE]);
226 if (!pto)
227 return NULL;
228 addr = ((u64)pto & ZPCI_STE_ADDR_MASK);
229 idx = srcu_read_lock(&vcpu->kvm->srcu);
230 page = gfn_to_page(vcpu->kvm, gpa_to_gfn(addr));
231 srcu_read_unlock(&vcpu->kvm->srcu, idx);
232 if (is_error_page(page))
233 return NULL;
234 ioat->pt[rtx][sx] = page_to_virt(page) + (addr & ~PAGE_MASK);
235 }
236 pto = ioat->pt[rtx][sx];
237
238 /* Return guest PTE */
239 px = calc_px(dma_addr);
240 return &pto[px];
241 }
242
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[ti:ti-rt-linux-5.10.y 4414/10213] drivers/pci/controller/dwc/pci-keystone.c:299:6: warning: no previous prototype for 'ks_pcie_irq_eoi'
by kernel test robot
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-rt-linux-5.10.y
head: 541ec9a6995c3dd881d6f0b63cc714a08ded457d
commit: f765f578153d8bfc7a035b1fce2c09d2c41bd980 [4414/10213] PCI: keystone: Convert to using hierarchy domain for legacy interrupts
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20211208/202112081531.fmc4XcBk-lk...)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
git fetch --no-tags ti ti-rt-linux-5.10.y
git checkout f765f578153d8bfc7a035b1fce2c09d2c41bd980
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/net/ethernet/ti/ drivers/pci/controller/dwc/ drivers/remoteproc/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/pci/controller/dwc/pci-keystone.c:299:6: warning: no previous prototype for 'ks_pcie_irq_eoi' [-Wmissing-prototypes]
299 | void ks_pcie_irq_eoi(struct irq_data *data)
| ^~~~~~~~~~~~~~~
>> drivers/pci/controller/dwc/pci-keystone.c:308:6: warning: no previous prototype for 'ks_pcie_irq_enable' [-Wmissing-prototypes]
308 | void ks_pcie_irq_enable(struct irq_data *data)
| ^~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/dwc/pci-keystone.c:317:6: warning: no previous prototype for 'ks_pcie_irq_disable' [-Wmissing-prototypes]
317 | void ks_pcie_irq_disable(struct irq_data *data)
| ^~~~~~~~~~~~~~~~~~~
vim +/ks_pcie_irq_eoi +299 drivers/pci/controller/dwc/pci-keystone.c
298
> 299 void ks_pcie_irq_eoi(struct irq_data *data)
300 {
301 struct keystone_pcie *ks_pcie = irq_data_get_irq_chip_data(data);
302 irq_hw_number_t hwirq = data->hwirq;
303
304 ks_pcie_app_writel(ks_pcie, IRQ_EOI, hwirq);
305 irq_chip_eoi_parent(data);
306 }
307
> 308 void ks_pcie_irq_enable(struct irq_data *data)
309 {
310 struct keystone_pcie *ks_pcie = irq_data_get_irq_chip_data(data);
311 irq_hw_number_t hwirq = data->hwirq;
312
313 ks_pcie_app_writel(ks_pcie, IRQ_ENABLE_SET(hwirq), INTx_EN);
314 irq_chip_enable_parent(data);
315 }
316
> 317 void ks_pcie_irq_disable(struct irq_data *data)
318 {
319 struct keystone_pcie *ks_pcie = irq_data_get_irq_chip_data(data);
320 irq_hw_number_t hwirq = data->hwirq;
321
322 ks_pcie_app_writel(ks_pcie, IRQ_ENABLE_CLR(hwirq), INTx_EN);
323 irq_chip_disable_parent(data);
324 }
325
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[intel-tdx:guest 112/144] drivers/firmware/efi/libstub/x86-stub.c:646:31: warning: cast from pointer to integer of different size
by kernel test robot
tree: https://github.com/intel/tdx.git guest
head: 41fe88a1b3c28543f49fa6ed9e0e9b6650ed7614
commit: 102129224696b1fd61f13fc1493fd922cd281448 [112/144] efi/x86: Implement support for unaccepted memory
config: i386-randconfig-a003-20211207 (https://download.01.org/0day-ci/archive/20211208/202112081509.OILzXDqW-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/intel/tdx/commit/102129224696b1fd61f13fc1493fd922cd281448
git remote add intel-tdx https://github.com/intel/tdx.git
git fetch --no-tags intel-tdx guest
git checkout 102129224696b1fd61f13fc1493fd922cd281448
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/firmware/efi/libstub/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/firmware/efi/libstub/x86-stub.c: In function 'allocate_e820':
>> drivers/firmware/efi/libstub/x86-stub.c:646:31: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
646 | params->unaccepted_memory = (u64)unaccepted_memory;
| ^
vim +646 drivers/firmware/efi/libstub/x86-stub.c
579
580 static efi_status_t allocate_e820(struct boot_params *params,
581 struct efi_boot_memmap *map,
582 struct setup_data **e820ext,
583 u32 *e820ext_size)
584 {
585 efi_status_t status;
586 __u32 nr_desc;
587 bool unaccepted_memory_present = false;
588 u64 max_addr = 0;
589 int i;
590
591 status = efi_get_memory_map(map);
592 if (status != EFI_SUCCESS)
593 return status;
594
595 nr_desc = *map->map_size / *map->desc_size;
596 if (nr_desc > ARRAY_SIZE(params->e820_table) - EFI_MMAP_NR_SLACK_SLOTS) {
597 u32 nr_e820ext = nr_desc - ARRAY_SIZE(params->e820_table) +
598 EFI_MMAP_NR_SLACK_SLOTS;
599
600 status = alloc_e820ext(nr_e820ext, e820ext, e820ext_size);
601 if (status != EFI_SUCCESS)
602 goto out;
603 }
604
605 if (!IS_ENABLED(CONFIG_UNACCEPTED_MEMORY))
606 goto out;
607
608 /* Check if there's any unaccepted memory and find the max address */
609 for (i = 0; i < nr_desc; i++) {
610 efi_memory_desc_t *d;
611
612 d = efi_early_memdesc_ptr(*map->map, *map->desc_size, i);
613 if (d->type == EFI_UNACCEPTED_MEMORY)
614 unaccepted_memory_present = true;
615 if (d->phys_addr + d->num_pages * PAGE_SIZE > max_addr)
616 max_addr = d->phys_addr + d->num_pages * PAGE_SIZE;
617 }
618
619 /*
620 * If unaccepted memory present allocate a bitmap to track what memory
621 * has to be accepted before access.
622 *
623 * One bit in the bitmap represents 2MiB in the address space: one 4k
624 * page is enough to track 64GiB or physical address space.
625 *
626 * In the worst case scenario -- a huge hole in the middle of the
627 * address space -- It needs 256MiB to handle 4PiB of the address
628 * space.
629 *
630 * TODO: handle situation if params->unaccepted_memory has already set.
631 * It's required to deal with kexec.
632 *
633 * The bitmap will be populated in setup_e820() according to the memory
634 * map after efi_exit_boot_services().
635 */
636 if (unaccepted_memory_present) {
637 unsigned long *unaccepted_memory = NULL;
638 u64 size = DIV_ROUND_UP(max_addr, PMD_SIZE * BITS_PER_BYTE);
639
640 status = efi_allocate_pages(size,
641 (unsigned long *)&unaccepted_memory,
642 ULONG_MAX);
643 if (status != EFI_SUCCESS)
644 goto out;
645 memset(unaccepted_memory, 0, size);
> 646 params->unaccepted_memory = (u64)unaccepted_memory;
647 }
648
649 out:
650 efi_bs_call(free_pool, *map->map);
651 return status;
652
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH 14/32] KVM: s390: pci: do initial setup for AEN interpretation
by kernel test robot
Hi Matthew,
I love your patch! Yet something to improve:
[auto build test ERROR on v5.16-rc4]
[cannot apply to s390/features kvms390/next awilliam-vfio/next next-20211207]
[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]
url: https://github.com/0day-ci/linux/commits/Matthew-Rosato/KVM-s390-enable-z...
base: 0fcfb00b28c0b7884635dacf38e46d60bf3d4eb1
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20211208/202112081547.UVwzE8hh-lk...)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/a4580b9cbc02e756b893862d072f264af...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Rosato/KVM-s390-enable-zPCI-for-interpretive-execution/20211208-050204
git checkout a4580b9cbc02e756b893862d072f264af6f8d30d
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash arch/s390/kvm/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/s390/kvm/pci.c: In function '__set_irq_noiib':
arch/s390/kvm/pci.c:19:15: error: variable 'iib' has initializer but incomplete type
19 | union zpci_sic_iib iib = {{0}};
| ^~~~~~~~~~~~
arch/s390/kvm/pci.c:19:35: error: extra brace group at end of initializer
19 | union zpci_sic_iib iib = {{0}};
| ^
arch/s390/kvm/pci.c:19:35: note: (near initialization for 'iib')
arch/s390/kvm/pci.c:19:35: warning: excess elements in union initializer
arch/s390/kvm/pci.c:19:35: note: (near initialization for 'iib')
arch/s390/kvm/pci.c:19:28: error: storage size of 'iib' isn't known
19 | union zpci_sic_iib iib = {{0}};
| ^~~
arch/s390/kvm/pci.c:21:16: error: implicit declaration of function 'zpci_set_irq_ctrl'; did you mean 'zpci_set_irq'? [-Werror=implicit-function-declaration]
21 | return zpci_set_irq_ctrl(ctl, isc, &iib);
| ^~~~~~~~~~~~~~~~~
| zpci_set_irq
arch/s390/kvm/pci.c:19:28: warning: unused variable 'iib' [-Wunused-variable]
19 | union zpci_sic_iib iib = {{0}};
| ^~~
arch/s390/kvm/pci.c: In function 'kvm_s390_pci_aen_exit':
arch/s390/kvm/pci.c:39:25: error: 'SIC_SET_AENI_CONTROLS' undeclared (first use in this function)
39 | __set_irq_noiib(SIC_SET_AENI_CONTROLS, 0);
| ^~~~~~~~~~~~~~~~~~~~~
arch/s390/kvm/pci.c:39:25: note: each undeclared identifier is reported only once for each function it appears in
In file included from include/vdso/const.h:5,
from include/linux/const.h:4,
from include/uapi/linux/kernel.h:6,
from include/linux/cache.h:5,
from include/linux/printk.h:9,
from include/asm-generic/bug.h:22,
from arch/s390/include/asm/bug.h:68,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/percpu.h:5,
from include/linux/context_tracking_state.h:5,
from include/linux/hardirq.h:5,
from include/linux/kvm_host.h:7,
from arch/s390/kvm/pci.c:10:
>> arch/s390/include/asm/pci.h:27:41: error: 'CONFIG_PCI_NR_FUNCTIONS' undeclared (first use in this function); did you mean 'CONFIG_FAIL_FUNCTION'?
27 | #define ZPCI_NR_DEVICES CONFIG_PCI_NR_FUNCTIONS
| ^~~~~~~~~~~~~~~~~~~~~~~
include/uapi/linux/const.h:32:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
32 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
include/linux/mm.h:224:26: note: in expansion of macro 'ALIGN'
224 | #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE)
| ^~~~~
arch/s390/kvm/pci.c:52:26: note: in expansion of macro 'PAGE_ALIGN'
52 | size = get_order(PAGE_ALIGN(ZPCI_NR_DEVICES *
| ^~~~~~~~~~
arch/s390/kvm/pci.c:52:37: note: in expansion of macro 'ZPCI_NR_DEVICES'
52 | size = get_order(PAGE_ALIGN(ZPCI_NR_DEVICES *
| ^~~~~~~~~~~~~~~
arch/s390/kvm/pci.c: In function 'kvm_s390_pci_aen_init':
arch/s390/kvm/pci.c:60:15: error: variable 'iib' has initializer but incomplete type
60 | union zpci_sic_iib iib = {{0}};
| ^~~~~~~~~~~~
arch/s390/kvm/pci.c:60:35: error: extra brace group at end of initializer
60 | union zpci_sic_iib iib = {{0}};
| ^
arch/s390/kvm/pci.c:60:35: note: (near initialization for 'iib')
arch/s390/kvm/pci.c:60:35: warning: excess elements in union initializer
arch/s390/kvm/pci.c:60:35: note: (near initialization for 'iib')
arch/s390/kvm/pci.c:60:28: error: storage size of 'iib' isn't known
60 | union zpci_sic_iib iib = {{0}};
| ^~~
In file included from include/linux/pci.h:1886,
from arch/s390/kvm/pci.c:11:
>> arch/s390/include/asm/pci.h:27:41: error: 'CONFIG_PCI_NR_FUNCTIONS' undeclared (first use in this function); did you mean 'CONFIG_FAIL_FUNCTION'?
27 | #define ZPCI_NR_DEVICES CONFIG_PCI_NR_FUNCTIONS
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/s390/kvm/pci.c:69:30: note: in expansion of macro 'ZPCI_NR_DEVICES'
69 | aift.kzdev = kcalloc(ZPCI_NR_DEVICES, sizeof(struct kvm_zdev),
| ^~~~~~~~~~~~~~~
arch/s390/kvm/pci.c:95:31: error: 'SIC_SET_AENI_CONTROLS' undeclared (first use in this function)
95 | if (zpci_set_irq_ctrl(SIC_SET_AENI_CONTROLS, 0, &iib)) {
| ^~~~~~~~~~~~~~~~~~~~~
arch/s390/kvm/pci.c:101:29: error: 'SIC_IRQ_MODE_SINGLE' undeclared (first use in this function)
101 | if (__set_irq_noiib(SIC_IRQ_MODE_SINGLE, nisc)) {
| ^~~~~~~~~~~~~~~~~~~
arch/s390/kvm/pci.c:60:28: warning: unused variable 'iib' [-Wunused-variable]
60 | union zpci_sic_iib iib = {{0}};
| ^~~
cc1: some warnings being treated as errors
vim +27 arch/s390/include/asm/pci.h
cd24834130ac655 Jan Glauber 2012-11-29 25
c840927cf5f24d0 Sebastian Ott 2019-02-12 26 #define ZPCI_NR_DMA_SPACES 1
c840927cf5f24d0 Sebastian Ott 2019-02-12 @27 #define ZPCI_NR_DEVICES CONFIG_PCI_NR_FUNCTIONS
969ae01bab2fe93 Niklas Schnelle 2020-03-17 28 #define ZPCI_DOMAIN_BITMAP_SIZE (1 << 16)
c840927cf5f24d0 Sebastian Ott 2019-02-12 29
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks