Hi Benjamin,

[auto build test ERROR on powerpc/next]
[also build test ERROR on v4.11-rc5 next-20170405]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Benjamin-Herrenschmidt/powerpc-Add-more-PPC-bit-conversion-macros/20170406-041935
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=powerpc 

All errors (new ones prefixed by >>):

   arch/powerpc/kvm/book3s_xive.c: In function 'xive_lock_and_mask':
>> arch/powerpc/kvm/book3s_xive.c:340:18: error: 'OPAL_XIVE_IRQ_MASK_VIA_FW' 
>> undeclared (first use in this function)
     if (xd->flags & OPAL_XIVE_IRQ_MASK_VIA_FW) {
                     ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/powerpc/kvm/book3s_xive.c:340:18: note: each undeclared identifier is 
reported only once for each function it appears in
   arch/powerpc/kvm/book3s_xive.c: In function 'xive_finish_unmask':
   arch/powerpc/kvm/book3s_xive.c:396:18: error: 'OPAL_XIVE_IRQ_MASK_VIA_FW' 
undeclared (first use in this function)
     if (xd->flags & OPAL_XIVE_IRQ_MASK_VIA_FW) {
                     ^~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/powerpc/kvm/book3s_xive.c:404:21: error: 'OPAL_XIVE_IRQ_LSI' undeclared 
>> (first use in this function)
      if (!(xd->flags & OPAL_XIVE_IRQ_LSI))
                        ^~~~~~~~~~~~~~~~~

vim +/OPAL_XIVE_IRQ_MASK_VIA_FW +340 arch/powerpc/kvm/book3s_xive.c

   334           * lazy masking instead.
   335           *
   336           * For now, we work around this in unmask by forcing
   337           * an interrupt whenever we unmask a non-LSI via FW
   338           * (if ever).
   339           */
 > 340          if (xd->flags & OPAL_XIVE_IRQ_MASK_VIA_FW) {
   341                  xive_native_configure_irq(hw_num,
   342                                            xive->vp_base + 
state->act_server,
   343                                            MASKED, state->number);
   344                  /* set old_p so we can track if an H_EOI was done */
   345                  state->old_p = true;
   346                  state->old_q = false;
   347          } else {
   348                  /* Set PQ to 10, return old P and old Q and remember 
them */
   349                  val = xive_vm_esb_load(xd, XIVE_ESB_SET_PQ_10);
   350                  state->old_p = !!(val & 2);
   351                  state->old_q = !!(val & 1);
   352  
   353                  /*
   354                   * Synchronize hardware to sensure the queues are 
updated
   355                   * when masking
   356                   */
   357                  xive_native_sync_source(hw_num);
   358          }
   359  
   360          return old_prio;
   361  }
   362  
   363  static void xive_lock_for_unmask(struct kvmppc_xive_src_block *sb,
   364                                   struct kvmppc_xive_irq_state *state)
   365  {
   366          /*
   367           * Take the lock try again if racing with H_EOI
   368           */
   369          for (;;) {
   370                  arch_spin_lock(&sb->lock);
   371                  if (!state->in_eoi)
   372                          break;
   373                  arch_spin_unlock(&sb->lock);
   374          }
   375  }
   376  
   377  static void xive_finish_unmask(struct kvmppc_xive *xive,
   378                                 struct kvmppc_xive_src_block *sb,
   379                                 struct kvmppc_xive_irq_state *state,
   380                                 u8 prio)
   381  {
   382          struct xive_irq_data *xd;
   383          u32 hw_num;
   384  
   385          /* If we aren't changing a thing, move on */
   386          if (state->guest_priority != MASKED)
   387                  goto bail;
   388  
   389          /* Get the right irq */
   390          kvmppc_xive_select_irq(state, &hw_num, &xd);
   391  
   392          /*
   393           * See command in xive_lock_and_mask() concerning masking
   394           * via firmware.
   395           */
   396          if (xd->flags & OPAL_XIVE_IRQ_MASK_VIA_FW) {
   397                  xive_native_configure_irq(hw_num,
   398                                            xive->vp_base + 
state->act_server,
   399                                            state->act_priority, 
state->number);
   400                  /* If an EOI is needed, do it here */
   401                  if (!state->old_p)
   402                          xive_vm_source_eoi(hw_num, xd);
   403                  /* If this is not an LSI, force a trigger */
 > 404                  if (!(xd->flags & OPAL_XIVE_IRQ_LSI))
   405                          xive_irq_trigger(xd);
   406                  goto bail;
   407          }

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to