[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