Hi Maarten,

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on v4.14-rc1 next-20170918]
[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/Maarten-Lankhorst/drm-i915-Unset-legacy_cursor_update-early-in-intel_atomic_commit-v2/20170918-223150
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-x012-201738 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/i915/intel_display.c: In function 'intel_atomic_commit':
   drivers/gpu/drm/i915/intel_display.c:12608:3: error: implicit declaration of 
function 'for_each_new_intel_crtc_in_state' 
[-Werror=implicit-function-declaration]
      for_each_new_intel_crtc_in_state(intel_state, crtc, new_crtc_state, i)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from include/uapi/linux/posix_types.h:4,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/linux/list.h:4,
                    from include/linux/dmi.h:4,
                    from drivers/gpu/drm/i915/intel_display.c:27:
   include/linux/compiler.h:156:2: error: expected ';' before 'if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
     ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
>> drivers/gpu/drm/i915/intel_display.c:12609:4: note: in expansion of macro 
>> 'if'
       if (new_crtc_state->wm.need_postvbl_update ||
       ^~
   drivers/gpu/drm/i915/intel_display.c: At top level:
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'strcpy' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:390:2: note: in expansion of macro 'if'
     if (p_size == (size_t)-1 && q_size == (size_t)-1)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'kmemdup' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:380:2: note: in expansion of macro 'if'
     if (p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'kmemdup' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:378:2: note: in expansion of macro 'if'
     if (__builtin_constant_p(size) && p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memchr_inv' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:369:2: note: in expansion of macro 'if'
     if (p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memchr_inv' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:367:2: note: in expansion of macro 'if'
     if (__builtin_constant_p(size) && p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memchr' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:358:2: note: in expansion of macro 'if'
     if (p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memchr' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:356:2: note: in expansion of macro 'if'
     if (__builtin_constant_p(size) && p_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memcmp' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:348:2: note: in expansion of macro 'if'
     if (p_size < size || q_size < size)
     ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memcmp' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:345:3: note: in expansion of macro 'if'
      if (q_size < size)
      ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memcmp' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:343:3: note: in expansion of macro 'if'
      if (p_size < size)
      ^~
   include/linux/compiler.h:162:4: warning: '______f' is static but declared in 
inline function 'memcmp' which is not static
       ______f = {     \
       ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   include/linux/string.h:342:2: note: in expansion of macro 'if'

vim +/if +12609 drivers/gpu/drm/i915/intel_display.c

 12561  
 12562  /**
 12563   * intel_atomic_commit - commit validated state object
 12564   * @dev: DRM device
 12565   * @state: the top-level driver state object
 12566   * @nonblock: nonblocking commit
 12567   *
 12568   * This function commits a top-level state object that has been 
validated
 12569   * with drm_atomic_helper_check().
 12570   *
 12571   * RETURNS
 12572   * Zero for success or -errno.
 12573   */
 12574  static int intel_atomic_commit(struct drm_device *dev,
 12575                                 struct drm_atomic_state *state,
 12576                                 bool nonblock)
 12577  {
 12578          struct intel_atomic_state *intel_state = 
to_intel_atomic_state(state);
 12579          struct drm_i915_private *dev_priv = to_i915(dev);
 12580          int ret = 0;
 12581  
 12582          drm_atomic_state_get(state);
 12583          i915_sw_fence_init(&intel_state->commit_ready,
 12584                             intel_atomic_commit_ready);
 12585  
 12586          /*
 12587           * The intel_legacy_cursor_update() fast path takes care
 12588           * of avoiding the vblank waits for simple cursor
 12589           * movement and flips. For cursor on/off and size changes,
 12590           * we want to perform the vblank waits so that watermark
 12591           * updates happen during the correct frames. Gen9+ have
 12592           * double buffered watermarks and so shouldn't need this.
 12593           *
 12594           * Unset state->legacy_cursor_update before the call to
 12595           * drm_atomic_helper_setup_commit() because otherwise
 12596           * drm_atomic_helper_wait_for_flip_done() is a noop and
 12597           * we get FIFO underruns because we didn't wait
 12598           * for vblank.
 12599           *
 12600           * FIXME doing watermarks and fb cleanup from a vblank worker
 12601           * (assuming we had any) would solve these problems.
 12602           */
 12603          if (INTEL_GEN(dev_priv) < 9 && state->legacy_cursor_update) {
 12604                  struct intel_crtc_state *new_crtc_state;
 12605                  struct intel_crtc *crtc;
 12606                  int i;
 12607  
 12608                  for_each_new_intel_crtc_in_state(intel_state, crtc, 
new_crtc_state, i)
 12609                          if (new_crtc_state->wm.need_postvbl_update ||
 12610                              new_crtc_state->update_wm_post)
 12611                                  state->legacy_cursor_update = false;
 12612          }
 12613  
 12614          ret = intel_atomic_prepare_commit(dev, state);
 12615          if (ret) {
 12616                  DRM_DEBUG_ATOMIC("Preparing state failed with %i\n", 
ret);
 12617                  i915_sw_fence_commit(&intel_state->commit_ready);
 12618                  return ret;
 12619          }
 12620  
 12621          ret = drm_atomic_helper_setup_commit(state, nonblock);
 12622          if (!ret)
 12623                  ret = drm_atomic_helper_swap_state(state, true);
 12624  
 12625          if (ret) {
 12626                  i915_sw_fence_commit(&intel_state->commit_ready);
 12627  
 12628                  drm_atomic_helper_cleanup_planes(dev, state);
 12629                  return ret;
 12630          }
 12631          dev_priv->wm.distrust_bios_wm = false;
 12632          intel_shared_dpll_swap_state(state);
 12633          intel_atomic_track_fbs(state);
 12634  
 12635          if (intel_state->modeset) {
 12636                  memcpy(dev_priv->min_pixclk, intel_state->min_pixclk,
 12637                         sizeof(intel_state->min_pixclk));
 12638                  dev_priv->active_crtcs = intel_state->active_crtcs;
 12639                  dev_priv->cdclk.logical = intel_state->cdclk.logical;
 12640                  dev_priv->cdclk.actual = intel_state->cdclk.actual;
 12641          }
 12642  
 12643          drm_atomic_state_get(state);
 12644          INIT_WORK(&state->commit_work, intel_atomic_commit_work);
 12645  
 12646          i915_sw_fence_commit(&intel_state->commit_ready);
 12647          if (nonblock)
 12648                  queue_work(system_unbound_wq, &state->commit_work);
 12649          else
 12650                  intel_atomic_commit_tail(state);
 12651  
 12652  
 12653          return 0;
 12654  }
 12655  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to