All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Matthew Rosato <mjrosato@linux.ibm.com>, linux-s390@vger.kernel.org
Cc: kbuild-all@lists.01.org, alex.williamson@redhat.com,
	cohuck@redhat.com, schnelle@linux.ibm.com, farman@linux.ibm.com,
	pmorel@linux.ibm.com, borntraeger@linux.ibm.com,
	hca@linux.ibm.com, gor@linux.ibm.com,
	gerald.schaefer@linux.ibm.com
Subject: Re: [PATCH 21/32] KVM: s390: pci: provide routines for enabling/disabling interrupt forwarding
Date: Wed, 8 Dec 2021 18:58:18 +0800	[thread overview]
Message-ID: <202112081717.0Nu4b7a2-lkp@intel.com> (raw)
In-Reply-To: <20211207205743.150299-22-mjrosato@linux.ibm.com>

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-zPCI-for-interpretive-execution/20211208-050204
base:    0fcfb00b28c0b7884635dacf38e46d60bf3d4eb1
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20211208/202112081717.0Nu4b7a2-lkp@intel.com/config)
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/6604d174d51ffe79c280462e77e8f75c107b2076
        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@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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 21/32] KVM: s390: pci: provide routines for enabling/disabling interrupt forwarding
Date: Wed, 08 Dec 2021 18:58:18 +0800	[thread overview]
Message-ID: <202112081717.0Nu4b7a2-lkp@intel.com> (raw)
In-Reply-To: <20211207205743.150299-22-mjrosato@linux.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 10370 bytes --]

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-zPCI-for-interpretive-execution/20211208-050204
base:    0fcfb00b28c0b7884635dacf38e46d60bf3d4eb1
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20211208/202112081717.0Nu4b7a2-lkp(a)intel.com/config)
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/6604d174d51ffe79c280462e77e8f75c107b2076
        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@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(a)lists.01.org

  reply	other threads:[~2021-12-08 10:58 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-07 20:57 [PATCH 00/32] KVM: s390: enable zPCI for interpretive execution Matthew Rosato
2021-12-07 20:57 ` [PATCH 01/32] s390/sclp: detect the zPCI interpretation facility Matthew Rosato
2021-12-08 11:12   ` Christian Borntraeger
2021-12-08 14:33     ` Eric Farman
2021-12-08 13:06   ` Claudio Imbrenda
2021-12-07 20:57 ` [PATCH 02/32] s390/sclp: detect the AISII facility Matthew Rosato
2021-12-08 11:13   ` Christian Borntraeger
2021-12-08 13:07   ` Claudio Imbrenda
2021-12-07 20:57 ` [PATCH 03/32] s390/sclp: detect the AENI facility Matthew Rosato
2021-12-08 11:17   ` Christian Borntraeger
2021-12-08 13:08   ` Claudio Imbrenda
2021-12-07 20:57 ` [PATCH 04/32] s390/sclp: detect the AISI facility Matthew Rosato
2021-12-08 11:18   ` Christian Borntraeger
2021-12-08 13:09   ` Claudio Imbrenda
2021-12-07 20:57 ` [PATCH 05/32] s390/airq: pass more TPI info to airq handlers Matthew Rosato
2021-12-08 11:25   ` Christian Borntraeger
2021-12-08 13:14   ` Claudio Imbrenda
2021-12-13 14:35   ` Pierre Morel
2021-12-07 20:57 ` [PATCH 06/32] s390/airq: allow for airq structure that uses an input vector Matthew Rosato
2021-12-08 10:04   ` Thomas Huth
2021-12-08 12:59   ` Christian Borntraeger
2021-12-07 20:57 ` [PATCH 07/32] s390/pci: externalize the SIC operation controls and routine Matthew Rosato
2021-12-08 13:09   ` Christian Borntraeger
2021-12-08 13:53     ` Niklas Schnelle
2021-12-08 15:33       ` Matthew Rosato
2021-12-08 15:59         ` Niklas Schnelle
2021-12-08 16:20           ` Matthew Rosato
2021-12-08 16:41             ` Niklas Schnelle
2021-12-08 18:18               ` Niklas Schnelle
2021-12-07 20:57 ` [PATCH 08/32] s390/pci: stash associated GISA designation Matthew Rosato
2021-12-09 15:07   ` Christian Borntraeger
2021-12-10 19:01   ` Eric Farman
2021-12-13 14:59   ` Pierre Morel
2021-12-07 20:57 ` [PATCH 09/32] s390/pci: export some routines related to RPCIT processing Matthew Rosato
2021-12-09 15:20   ` Christian Borntraeger
2021-12-07 20:57 ` [PATCH 10/32] s390/pci: stash dtsm and maxstbl Matthew Rosato
2021-12-08 16:18   ` Niklas Schnelle
2021-12-09  9:13   ` Pierre Morel
2021-12-09 15:25   ` Christian Borntraeger
2021-12-07 20:57 ` [PATCH 11/32] s390/pci: add helper function to find device by handle Matthew Rosato
2021-12-09 15:28   ` Christian Borntraeger
2021-12-10 19:04   ` Eric Farman
2021-12-07 20:57 ` [PATCH 12/32] s390/pci: get SHM information from list pci Matthew Rosato
2021-12-08 12:21   ` Niklas Schnelle
2021-12-09 18:25     ` Matthew Rosato
2021-12-09 15:47   ` Christian Borntraeger
2021-12-10  8:45     ` Niklas Schnelle
2021-12-07 20:57 ` [PATCH 13/32] KVM: s390: pci: add basic kvm_zdev structure Matthew Rosato
2021-12-09 15:54   ` Christian Borntraeger
2021-12-10 19:04   ` Eric Farman
2021-12-13 15:19   ` Pierre Morel
2021-12-14  9:15   ` Pierre Morel
2021-12-17 20:26   ` Matthew Rosato
2021-12-20 17:26     ` Pierre Morel
2021-12-07 20:57 ` [PATCH 14/32] KVM: s390: pci: do initial setup for AEN interpretation Matthew Rosato
2021-12-08  7:53   ` kernel test robot
2021-12-08  7:53     ` kernel test robot
2021-12-09 19:54   ` Christian Borntraeger
2021-12-09 20:20     ` Matthew Rosato
2021-12-09 20:23       ` Christian Borntraeger
2021-12-10  8:36       ` Niklas Schnelle
2021-12-10  9:54   ` Pierre Morel
2021-12-10 10:55     ` Pierre Morel
2021-12-07 20:57 ` [PATCH 15/32] KVM: s390: pci: enable host forwarding of Adapter Event Notifications Matthew Rosato
2021-12-10 21:51   ` Eric Farman
2021-12-17 16:56   ` Christian Borntraeger
2021-12-17 17:42     ` Matthew Rosato
2021-12-07 20:57 ` [PATCH 16/32] KVM: s390: expose the guest zPCI interpretation facility Matthew Rosato
2021-12-17 15:05   ` Christian Borntraeger
2021-12-17 15:19     ` Matthew Rosato
2021-12-17 16:58       ` Christian Borntraeger
2021-12-17 17:13         ` Matthew Rosato
2021-12-07 20:57 ` [PATCH 17/32] KVM: s390: expose the guest Adapter Interruption Source ID facility Matthew Rosato
2021-12-17 15:06   ` Christian Borntraeger
2021-12-07 20:57 ` [PATCH 18/32] KVM: s390: expose guest Adapter Event Notification Interpretation facility Matthew Rosato
2021-12-07 20:57 ` [PATCH 19/32] KVM: s390: mechanism to enable guest zPCI Interpretation Matthew Rosato
2021-12-10 13:27   ` Christian Borntraeger
2021-12-10 14:21     ` Matthew Rosato
2021-12-07 20:57 ` [PATCH 20/32] KVM: s390: pci: provide routines for enabling/disabling interpretation Matthew Rosato
2021-12-08  9:44   ` Niklas Schnelle
2021-12-08 15:04     ` Matthew Rosato
2021-12-14  9:16   ` Pierre Morel
2021-12-07 20:57 ` [PATCH 21/32] KVM: s390: pci: provide routines for enabling/disabling interrupt forwarding Matthew Rosato
2021-12-08 10:58   ` kernel test robot [this message]
2021-12-08 10:58     ` kernel test robot
2021-12-14  9:26   ` Pierre Morel
2021-12-07 20:57 ` [PATCH 22/32] KVM: s390: pci: provide routines for enabling/disabling IOAT assist Matthew Rosato
2021-12-14 17:46   ` Pierre Morel
2021-12-14 18:13     ` Matthew Rosato
2021-12-07 20:57 ` [PATCH 23/32] KVM: s390: pci: handle refresh of PCI translations Matthew Rosato
2021-12-08  8:04   ` kernel test robot
2021-12-08  8:04     ` kernel test robot
2021-12-08 10:30   ` Niklas Schnelle
2021-12-08 18:04     ` Matthew Rosato
2021-12-14 16:59   ` Pierre Morel
2021-12-14 17:54     ` Matthew Rosato
2021-12-16 14:39       ` Niklas Schnelle
2021-12-16 14:51         ` Matthew Rosato
2021-12-17  9:41           ` Niklas Schnelle
2021-12-07 20:57 ` [PATCH 24/32] KVM: s390: intercept the rpcit instruction Matthew Rosato
2021-12-14 17:04   ` Pierre Morel
2021-12-14 18:00     ` Matthew Rosato
2021-12-07 20:57 ` [PATCH 25/32] vfio/pci: re-introduce CONFIG_VFIO_PCI_ZDEV Matthew Rosato
2021-12-17 16:49   ` Christian Borntraeger
2021-12-17 17:54     ` Matthew Rosato
2021-12-07 20:57 ` [PATCH 26/32] vfio-pci/zdev: wire up group notifier Matthew Rosato
2021-12-21 18:47   ` Alex Williamson
2021-12-07 20:57 ` [PATCH 27/32] vfio-pci/zdev: wire up zPCI interpretive execution support Matthew Rosato
2021-12-14 16:30   ` Pierre Morel
2021-12-21 18:48   ` Alex Williamson
2021-12-07 20:57 ` [PATCH 28/32] vfio-pci/zdev: wire up zPCI adapter interrupt forwarding support Matthew Rosato
2021-12-14  9:48   ` Pierre Morel
2021-12-07 20:57 ` [PATCH 29/32] vfio-pci/zdev: wire up zPCI IOAT assist support Matthew Rosato
2021-12-14  9:46   ` Pierre Morel
2021-12-07 20:57 ` [PATCH 30/32] vfio-pci/zdev: add DTSM to clp group capability Matthew Rosato
2021-12-14  9:58   ` Pierre Morel
2021-12-14 14:59     ` Matthew Rosato
2021-12-07 20:57 ` [PATCH 31/32] KVM: s390: introduce CPU feature for zPCI Interpretation Matthew Rosato
2021-12-07 20:57 ` [PATCH 32/32] MAINTAINERS: additional files related kvm s390 pci passthrough Matthew Rosato
2021-12-17 14:55   ` Christian Borntraeger
2021-12-21 19:11     ` Alex Williamson
2021-12-07 21:16 ` [PATCH 00/32] KVM: s390: enable zPCI for interpretive execution Matthew Rosato

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202112081717.0Nu4b7a2-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=farman@linux.ibm.com \
    --cc=gerald.schaefer@linux.ibm.com \
    --cc=gor@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mjrosato@linux.ibm.com \
    --cc=pmorel@linux.ibm.com \
    --cc=schnelle@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.