Re: [PATCH] drm/i915: Add debugfs to read any DPCD register

Daniel Vetter
2015-04-10T09:09:43Z

On Fri, Apr 10, 2015 at 08:06:41AM +0000, He, Shuang wrote:
> > -----Original Message-----
> > From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch] On Behalf Of Daniel
> > Vetter
> > Sent: Friday, April 10, 2015 3:39 PM
> > To: He, Shuang
> > Cc: Gao, Ethan; intel-gfx@lists.freedesktop.org; R, Durgadoss
> > Subject: Re: [Intel-gfx] [PATCH] drm/i915: Add debugfs to read any DPCD
> > register
> >
> > On Thu, Apr 09, 2015 at 02:54:13PM -0700, shuang.he@intel.com wrote:
> > > Tested-By: Intel Graphics QA PRTS (Patch Regression Test System Contact:
> > shuang.he@intel.com)
> > > Task id: 6145
> > > -------------------------------------Summary-------------------------------------
> > > Platform Delta drm-intel-nightly Series Applied
> > > PNV 276/276 276/276
> > > ILK 302/302 302/302
> > > SNB -21 313/313 292/313
> > > IVB 337/337 337/337
> > > BYT 286/286 286/286
> > > HSW 395/395 395/395
> > > BDW 321/321 321/321
> > > -------------------------------------Detailed-------------------------------------
> > > Platform Test drm-intel-nightly Series Applied
> > > SNB igt@kms_mmio_vs_cs_flip@setplane_vs_cs_flip
> > DMESG_WARN(4)PASS(3) DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@kms_rotation_crc@primary-rotation DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@cursor DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@cursor-dpms DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@debugfs-forcewake-user DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@dpms-mode-unset-non-lpsp
> > DMESG_WARN(4)PASS(3) DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@dpms-non-lpsp DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@drm-resources-equal DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@fences DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@fences-dpms DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@gem-execbuf DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@gem-idle DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@gem-mmap-cpu DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@gem-mmap-gtt DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@gem-pread DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@i2c DMESG_WARN(4)PASS(3) DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@modeset-non-lpsp DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@modeset-non-lpsp-stress-no-wait
> > DMESG_WARN(4)PASS(3) DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@pci-d3-state DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@reg-read-ioctl DMESG_WARN(4)PASS(3)
> > DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > SNB igt@pm_rpm@rte DMESG_WARN(4)PASS(3) DMESG_WARN(1)
> > > (dmesg patch
> > applied)drm:intel_dp_start_link_train[i915]]*ERROR*too_many_voltage_ret
> > ries,give_up@too many voltage .* give up
> > >
> > drm:intel_dp_complete_link_train[i915]]*ERROR*failed_to_train_DP,aborti
> > ng@failed to train .* aborting
> > > Note: You need to pay more attention to line start with '*'
> >
> > Something seems wrong with your test infrastructure, I've seen a bunch of
> > result (from completely unrelated patches) that DP link training is
> > failing all over the place on snb (and sometimes ilk).
> [He, Shuang] Yes, it seems to happen on same test machine. Is it possible to related to some kernel issue? I see those dmesg warnings happens for almost same set of tests in two rounds of testing on that test machine: igt@pm_rpm*
> http://lists.freedesktop.org/archives/intel-gfx/2015-April/064274.html
> http://lists.freedesktop.org/archives/intel-gfx/2015-April/064289.html
> while other testing didn't use same hardware seems doesn't have this issue:
> http://lists.freedesktop.org/archives/intel-gfx/2015-April/064166.html
> Is it possible it's hardware specific issue?

Well imo the problem here is that PRTS reports something as a regression
which seems to affect all kernels. That's just noise.

Of course the bug itself is still real (and probably a regression), but I
haven't seen a PRTS bisect result for it yet either. Is that stuck
somewhere in the queue?
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation