[Intel-gfx] [PATCH] drm/i915/dsi: Silence atomic update failure with DSI panel

kbuild test robot lkp at intel.com
Fri Sep 8 08:54:32 UTC 2017


Hi Mika,

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v4.13 next-20170908]
[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/Mika-Kahola/drm-i915-dsi-Silence-atomic-update-failure-with-DSI-panel/20170908-160933
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-x001-201736 (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 errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/intel_sprite.c: In function 'intel_pipe_update_end':
>> drivers/gpu/drm/i915/intel_sprite.c:209:27: error: 'new_crtc_state' undeclared (first use in this function)
     if (!intel_crtc_has_type(new_crtc_state, INTEL_OUTPUT_DSI)) {
                              ^~~~~~~~~~~~~~
   drivers/gpu/drm/i915/intel_sprite.c:209:27: note: each undeclared identifier is reported only once for each function it appears in

vim +/new_crtc_state +209 drivers/gpu/drm/i915/intel_sprite.c

   170	
   171	/**
   172	 * intel_pipe_update_end() - end update of a set of display registers
   173	 * @crtc: the crtc of which the registers were updated
   174	 * @start_vbl_count: start vblank counter (used for error checking)
   175	 *
   176	 * Mark the end of an update started with intel_pipe_update_start(). This
   177	 * re-enables interrupts and verifies the update was actually completed
   178	 * before a vblank using the value of @start_vbl_count.
   179	 */
   180	void intel_pipe_update_end(struct intel_crtc *crtc)
   181	{
   182		enum pipe pipe = crtc->pipe;
   183		int scanline_end = intel_get_crtc_scanline(crtc);
   184		u32 end_vbl_count = intel_crtc_get_vblank_counter(crtc);
   185		ktime_t end_vbl_time = ktime_get();
   186		struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
   187	
   188		trace_i915_pipe_update_end(crtc, end_vbl_count, scanline_end);
   189	
   190		/* We're still in the vblank-evade critical section, this can't race.
   191		 * Would be slightly nice to just grab the vblank count and arm the
   192		 * event outside of the critical section - the spinlock might spin for a
   193		 * while ... */
   194		if (crtc->base.state->event) {
   195			WARN_ON(drm_crtc_vblank_get(&crtc->base) != 0);
   196	
   197			spin_lock(&crtc->base.dev->event_lock);
   198			drm_crtc_arm_vblank_event(&crtc->base, crtc->base.state->event);
   199			spin_unlock(&crtc->base.dev->event_lock);
   200	
   201			crtc->base.state->event = NULL;
   202		}
   203	
   204		local_irq_enable();
   205	
   206		if (intel_vgpu_active(dev_priv))
   207			return;
   208	
 > 209		if (!intel_crtc_has_type(new_crtc_state, INTEL_OUTPUT_DSI)) {
   210			if (crtc->debug.start_vbl_count &&
   211			    crtc->debug.start_vbl_count != end_vbl_count) {
   212				DRM_ERROR("Atomic update failure on pipe %c (start=%u end=%u) time %lld us, min %d, max %d, scanline start %d, end %d\n",
   213					  pipe_name(pipe), crtc->debug.start_vbl_count,
   214					  end_vbl_count,
   215					  ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time),
   216					  crtc->debug.min_vbl, crtc->debug.max_vbl,
   217					  crtc->debug.scanline_start, scanline_end);
   218			}
   219	#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE
   220			else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) >
   221				 VBLANK_EVASION_TIME_US)
   222				DRM_WARN("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n",
   223					 pipe_name(pipe),
   224					 ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time),
   225					 VBLANK_EVASION_TIME_US);
   226	#endif
   227		}
   228	}
   229	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 23087 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20170908/16ffa499/attachment-0001.gz>


More information about the Intel-gfx mailing list