Message ID | 20181121225441.18785-1-jose.souza@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v5,1/6] drm/i915: Avoid a full port detection in the first eDP short pulse | expand |
Merged to drm-intel-next-queued, thanks for the reviews Ville and Rodrigo. On Thu, 2018-11-22 at 03:23 +0000, Patchwork wrote: > == Series Details == > > Series: series starting with [v5,1/6] drm/i915: Avoid a full port > detection in the first eDP short pulse > URL : https://patchwork.freedesktop.org/series/52848/ > State : success > > == Summary == > > = CI Bug Log - changes from CI_DRM_5183_full -> Patchwork_10883_full > = > > == Summary - WARNING == > > Minor unknown changes coming with Patchwork_10883_full need to be > verified > manually. > > If you think the reported changes have nothing to do with the > changes > introduced in Patchwork_10883_full, please notify your bug team to > allow them > to document this new failure mode, which will reduce false > positives in CI. > > > > == Possible new issues == > > Here are the unknown changes that may have been introduced in > Patchwork_10883_full: > > === IGT changes === > > ==== Warnings ==== > > igt@kms_universal_plane@disable-primary-vs-flip-pipe-b: > shard-snb: SKIP -> PASS +9 > > igt@perf_pmu@rc6-runtime-pm-long: > shard-kbl: PASS -> SKIP > > igt@tools_test@tools_test: > shard-apl: PASS -> SKIP > > > == Known issues == > > Here are the changes found in Patchwork_10883_full that come from > known issues: > > === IGT changes === > > ==== Issues hit ==== > > igt@gem_cpu_reloc@full: > shard-skl: NOTRUN -> INCOMPLETE (fdo#108073) > > igt@gem_exec_schedule@pi-ringfull-vebox: > shard-skl: NOTRUN -> FAIL (fdo#103158) > > igt@gem_mmap_gtt@forked-big-copy-odd: > shard-apl: PASS -> INCOMPLETE (fdo#103927) > > igt@kms_busy@extended-modeset-hang-newfb-render-a: > shard-skl: NOTRUN -> DMESG-WARN (fdo#107956) +4 > > igt@kms_color@pipe-b-degamma: > shard-skl: PASS -> FAIL (fdo#104782) > > igt@kms_cursor_crc@cursor-128x42-sliding: > shard-glk: PASS -> FAIL (fdo#103232) > > igt@kms_cursor_crc@cursor-64x21-random: > shard-apl: PASS -> FAIL (fdo#103232) +2 > > igt@kms_flip@flip-vs-expired-vblank-interruptible: > shard-glk: PASS -> FAIL (fdo#102887, fdo#105363) > > igt@kms_flip@plain-flip-ts-check: > shard-kbl: PASS -> DMESG-WARN (fdo#103558, fdo#105602, > fdo#103313) +4 > > igt@kms_frontbuffer_tracking@fbc-1p-rte: > shard-kbl: PASS -> DMESG-WARN (fdo#103558, fdo#103313) > > igt@kms > _frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu: > shard-glk: PASS -> FAIL (fdo#103167) +3 > > igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render: > shard-skl: PASS -> FAIL (fdo#103167) > > igt@kms_frontbuffer_tracking@fbcpsr-stridechange: > shard-skl: NOTRUN -> FAIL (fdo#105683) > > igt@kms > _frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite: > shard-skl: NOTRUN -> FAIL (fdo#103167) > > igt@kms_plane@pixel-format-pipe-b-planes: > shard-skl: NOTRUN -> DMESG-WARN (fdo#106885) > > igt@kms_plane_alpha_blend@pipe-a-alpha-transparant-fb: > shard-skl: NOTRUN -> FAIL (fdo#108145) +1 > > igt@kms_plane_multiple@atomic-pipe-a-tiling-y: > shard-apl: PASS -> FAIL (fdo#103166) +1 > > igt@kms_plane_multiple@atomic-pipe-b-tiling-x: > shard-glk: PASS -> FAIL (fdo#103166) +1 > > igt@kms_rotation_crc@primary-rotation-90: > shard-skl: PASS -> FAIL (fdo#107815, fdo#103925) > > > ==== Possible fixes ==== > > igt@gem_exec_schedule@preemptive-hang-render: > shard-apl: INCOMPLETE (fdo#103927) -> PASS > > igt@kms_cursor_crc@cursor-256x256-onscreen: > shard-glk: FAIL (fdo#103232) -> PASS +1 > > igt@kms_cursor_crc@cursor-64x21-sliding: > shard-apl: FAIL (fdo#103232) -> PASS +3 > > igt@kms_draw_crc@draw-method-rgb565-pwrite-xtiled: > shard-glk: FAIL (fdo#103184) -> PASS > > igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-onoff: > shard-glk: FAIL (fdo#103167) -> PASS +1 > > igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes: > shard-glk: INCOMPLETE (fdo#103359, k.org#198133) -> > PASS > > igt@kms_plane@plane-position-covered-pipe-c-planes: > shard-apl: FAIL (fdo#103166) -> PASS > > igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min: > shard-glk: DMESG-WARN (fdo#106538, fdo#105763) -> PASS > +4 > > igt@pm_rpm@universal-planes-dpms: > shard-skl: INCOMPLETE (fdo#107807) -> PASS +1 > > > ==== Warnings ==== > > igt@i915_suspend@shrink: > shard-skl: DMESG-WARN (fdo#108784) -> INCOMPLETE > (fdo#106886) > > igt@kms_plane@pixel-format-pipe-a-planes: > shard-skl: DMESG-FAIL (fdo#103166, fdo#106885) -> FAIL > (fdo#103166) > > > fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887 > fdo#103158 https://bugs.freedesktop.org/show_bug.cgi?id=103158 > fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166 > fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167 > fdo#103184 https://bugs.freedesktop.org/show_bug.cgi?id=103184 > fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232 > fdo#103313 https://bugs.freedesktop.org/show_bug.cgi?id=103313 > fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359 > fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558 > fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925 > fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927 > fdo#104782 https://bugs.freedesktop.org/show_bug.cgi?id=104782 > fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363 > fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602 > fdo#105683 https://bugs.freedesktop.org/show_bug.cgi?id=105683 > fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763 > fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538 > fdo#106885 https://bugs.freedesktop.org/show_bug.cgi?id=106885 > fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886 > fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807 > fdo#107815 https://bugs.freedesktop.org/show_bug.cgi?id=107815 > fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956 > fdo#108073 https://bugs.freedesktop.org/show_bug.cgi?id=108073 > fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145 > fdo#108784 https://bugs.freedesktop.org/show_bug.cgi?id=108784 > k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133 > > > == Participating hosts (7 -> 6) == > > Missing (1): shard-iclb > > > == Build changes == > > * Linux: CI_DRM_5183 -> Patchwork_10883 > > CI_DRM_5183: efce77bb4d804788e55a1ceb4386c812857f8cf7 @ > git://anongit.freedesktop.org/gfx-ci/linux > IGT_4724: 29ae0925abe1d3a0202059538559468ad947d42d @ > git://anongit.freedesktop.org/xorg/app/intel-gpu-tools > Patchwork_10883: 085a5d730b4050ef609a71dad16a390c0728512e @ > git://anongit.freedesktop.org/gfx-ci/linux > piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ > git://anongit.freedesktop.org/piglit > > == Logs == > > For more details see: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10883/shards.html
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 7699f9b7b2d2..a6c654e17955 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -3936,8 +3936,6 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp) static bool intel_dp_get_dpcd(struct intel_dp *intel_dp) { - u8 sink_count; - if (!intel_dp_read_dpcd(intel_dp)) return false; @@ -3947,25 +3945,35 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp) intel_dp_set_common_rates(intel_dp); } - if (drm_dp_dpcd_readb(&intel_dp->aux, DP_SINK_COUNT, &sink_count) <= 0) - return false; - /* - * Sink count can change between short pulse hpd hence - * a member variable in intel_dp will track any changes - * between short pulse interrupts. + * Some eDP panels do not set a valid value for sink count, that is why + * it don't care about read it here and in intel_edp_init_dpcd(). */ - intel_dp->sink_count = DP_GET_SINK_COUNT(sink_count); + if (!intel_dp_is_edp(intel_dp)) { + u8 count; + ssize_t r; - /* - * SINK_COUNT == 0 and DOWNSTREAM_PORT_PRESENT == 1 implies that - * a dongle is present but no display. Unless we require to know - * if a dongle is present or not, we don't need to update - * downstream port information. So, an early return here saves - * time from performing other operations which are not required. - */ - if (!intel_dp_is_edp(intel_dp) && !intel_dp->sink_count) - return false; + r = drm_dp_dpcd_readb(&intel_dp->aux, DP_SINK_COUNT, &count); + if (r < 1) + return false; + + /* + * Sink count can change between short pulse hpd hence + * a member variable in intel_dp will track any changes + * between short pulse interrupts. + */ + intel_dp->sink_count = DP_GET_SINK_COUNT(count); + + /* + * SINK_COUNT == 0 and DOWNSTREAM_PORT_PRESENT == 1 implies that + * a dongle is present but no display. Unless we require to know + * if a dongle is present or not, we don't need to update + * downstream port information. So, an early return here saves + * time from performing other operations which are not required. + */ + if (!intel_dp->sink_count) + return false; + } if (!drm_dp_is_branch(intel_dp->dpcd)) return true; /* native DP sink */