diff mbox series

drm/i915/icl: Fix AUX-B HW not done issue w/o AUX-A

Message ID 20190524173532.6444-1-imre.deak@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/icl: Fix AUX-B HW not done issue w/o AUX-A | expand

Commit Message

Imre Deak May 24, 2019, 5:35 p.m. UTC
Atm AUX-B transfers can fail with the following error if AUX-A is not
enabled:

[  594.594108] [drm:intel_dp_aux_xfer [i915]] dp_aux_ch timeout status 0x7c2003ff
[  594.615854] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp aux hw did not signal timeout!
[  594.632851] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp aux hw did not signal timeout!
[  594.632915] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0xac2003ff
[  594.641786] ------------[ cut here ]------------
[  594.641790] dp_aux_ch not started status 0xac2003ff
[  594.641874] WARNING: CPU: 4 PID: 1366 at drivers/gpu/drm/i915/intel_dp.c:1268 intel_dp_aux_xfer+0x232/0x890 [i915]

Ville noticed this issue already earlier and managed to work around it
by keeping AUX-A always powered whenever AUX-B was used. He also
reported the issue to HW folks and they have now root caused the problem
and updated BSpec with a fix (see internal BSpec/Index/21257,
HSD/1607152412).

I noticed the same error - even with the WA being applied - while doing
AUX transfers with Chamelium being connected with a DP cable to the
source but letting Chamelium imitate an unplug. This is probably some
unstandard way on Chamelium's behalf of disconnecting itself from the
AUX pins. For instance it could still pull on the AUX pins which would
prevent the source from detecting AUX timeouts in the proper way,
leading to the ERRORs or WARNs seen in the logs in the Reference: bug
below.

In case I disconnect the sink properly (the cable itself, not via the
Chamelium unplug xmlrpc command) then the AUX timeout signaling works
properly and so there won't be any ERRORs/WARNs emitted.

Reference: https://bugs.freedesktop.org/show_bug.cgi?id=110718
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h        | 3 +++
 drivers/gpu/drm/i915/intel_combo_phy.c | 6 ++++++
 2 files changed, 9 insertions(+)

Comments

Ville Syrjälä May 27, 2019, 1:13 p.m. UTC | #1
On Fri, May 24, 2019 at 08:35:32PM +0300, Imre Deak wrote:
> Atm AUX-B transfers can fail with the following error if AUX-A is not
> enabled:
> 
> [  594.594108] [drm:intel_dp_aux_xfer [i915]] dp_aux_ch timeout status 0x7c2003ff
> [  594.615854] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp aux hw did not signal timeout!
> [  594.632851] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp aux hw did not signal timeout!
> [  594.632915] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0xac2003ff
> [  594.641786] ------------[ cut here ]------------
> [  594.641790] dp_aux_ch not started status 0xac2003ff
> [  594.641874] WARNING: CPU: 4 PID: 1366 at drivers/gpu/drm/i915/intel_dp.c:1268 intel_dp_aux_xfer+0x232/0x890 [i915]
> 
> Ville noticed this issue already earlier and managed to work around it
> by keeping AUX-A always powered whenever AUX-B was used. He also
> reported the issue to HW folks and they have now root caused the problem
> and updated BSpec with a fix (see internal BSpec/Index/21257,
> HSD/1607152412).
> 
> I noticed the same error - even with the WA being applied - while doing
> AUX transfers with Chamelium being connected with a DP cable to the
> source but letting Chamelium imitate an unplug. This is probably some
> unstandard way on Chamelium's behalf of disconnecting itself from the
> AUX pins. For instance it could still pull on the AUX pins which would
> prevent the source from detecting AUX timeouts in the proper way,
> leading to the ERRORs or WARNs seen in the logs in the Reference: bug
> below.
> 
> In case I disconnect the sink properly (the cable itself, not via the
> Chamelium unplug xmlrpc command) then the AUX timeout signaling works
> properly and so there won't be any ERRORs/WARNs emitted.
> 
> Reference: https://bugs.freedesktop.org/show_bug.cgi?id=110718
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/i915_reg.h        | 3 +++
>  drivers/gpu/drm/i915/intel_combo_phy.c | 6 ++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 87e8780711d7..bae4a2547eb2 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -1846,6 +1846,9 @@ enum i915_power_well_id {
>  #define   VOLTAGE_INFO_MASK		(3 << 24)
>  #define   VOLTAGE_INFO_SHIFT		24
>  
> +#define ICL_PORT_COMP_DW8(port)		_MMIO(_ICL_PORT_COMP_DW(8, port))
> +#define   IREFGEN			(1 << 24)
> +
>  #define CNL_PORT_COMP_DW9		_MMIO(0x162124)
>  #define ICL_PORT_COMP_DW9(port)		_MMIO(_ICL_PORT_COMP_DW(9, port))
>  
> diff --git a/drivers/gpu/drm/i915/intel_combo_phy.c b/drivers/gpu/drm/i915/intel_combo_phy.c
> index 19a9333b727a..98213cc58736 100644
> --- a/drivers/gpu/drm/i915/intel_combo_phy.c
> +++ b/drivers/gpu/drm/i915/intel_combo_phy.c
> @@ -275,6 +275,12 @@ static void icl_combo_phys_init(struct drm_i915_private *dev_priv)
>  
>  		cnl_set_procmon_ref_values(dev_priv, port);
>  
> +		if (port == PORT_A) {
> +			val = I915_READ(ICL_PORT_COMP_DW8(port));
> +			val |= IREFGEN;
> +			I915_WRITE(ICL_PORT_COMP_DW8(port), val);
> +		}
> +
>  		val = I915_READ(ICL_PORT_COMP_DW0(port));
>  		val |= COMP_INIT;
>  		I915_WRITE(ICL_PORT_COMP_DW0(port), val);
> -- 
> 2.17.1
Imre Deak May 27, 2019, 2:44 p.m. UTC | #2
On Mon, May 27, 2019 at 06:50:14AM +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: drm/i915/icl: Fix AUX-B HW not done issue w/o AUX-A
> URL   : https://patchwork.freedesktop.org/series/61123/
> State : failure

Thanks for the review pushed to -dinq.

> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_6142_full -> Patchwork_13095_full
> ====================================================
> 
> Summary
> -------
> 
>   **FAILURE**
> 
>   Serious unknown changes coming with Patchwork_13095_full absolutely need to be
>   verified manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in Patchwork_13095_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_13095_full:
> 
> ### Piglit changes ###
> 
> #### Possible regressions ####
> 
>   * spec@glsl-1.30@execution@tex-miplevel-selection texture(bias) cubearray (NEW):
>     - pig-snb-2600:       NOTRUN -> [FAIL][1]
>    [1]: None

Unrelated platform, there is no combo PHY on SNB.

> 
>   
> New tests
> ---------
> 
>   New tests have been introduced between CI_DRM_6142_full and Patchwork_13095_full:
> 
> ### New Piglit tests (1) ###
> 
>   * spec@glsl-1.30@execution@tex-miplevel-selection texture(bias) cubearray:
>     - Statuses : 1 fail(s)
>     - Exec time: [6.78] s
> 
>   
> 
> Known issues
> ------------
> 
>   Here are the changes found in Patchwork_13095_full that come from known issues:
> 
> ### IGT changes ###
> 
> #### Issues hit ####
> 
>   * igt@gem_exec_create@forked:
>     - shard-skl:          [PASS][2] -> [INCOMPLETE][3] ([fdo#108838])
>    [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-skl3/igt@gem_exec_create@forked.html
>    [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-skl4/igt@gem_exec_create@forked.html
> 
>   * igt@gem_tiled_swapping@non-threaded:
>     - shard-kbl:          [PASS][4] -> [FAIL][5] ([fdo#108686])
>    [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-kbl3/igt@gem_tiled_swapping@non-threaded.html
>    [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-kbl4/igt@gem_tiled_swapping@non-threaded.html
> 
>   * igt@gem_workarounds@suspend-resume-context:
>     - shard-apl:          [PASS][6] -> [DMESG-WARN][7] ([fdo#108566]) +4 similar issues
>    [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-apl2/igt@gem_workarounds@suspend-resume-context.html
>    [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-apl1/igt@gem_workarounds@suspend-resume-context.html
> 
>   * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait:
>     - shard-iclb:         [PASS][8] -> [INCOMPLETE][9] ([fdo#107713] / [fdo#108840])
>    [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-iclb5/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html
>    [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-iclb2/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html
> 
>   * igt@kms_dp_dsc@basic-dsc-enable-edp:
>     - shard-iclb:         [PASS][10] -> [SKIP][11] ([fdo#109349])
>    [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html
>    [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-iclb1/igt@kms_dp_dsc@basic-dsc-enable-edp.html
> 
>   * igt@kms_flip@basic-plain-flip:
>     - shard-kbl:          [PASS][12] -> [INCOMPLETE][13] ([fdo#103665])
>    [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-kbl3/igt@kms_flip@basic-plain-flip.html
>    [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-kbl4/igt@kms_flip@basic-plain-flip.html
> 
>   * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
>     - shard-iclb:         [PASS][14] -> [FAIL][15] ([fdo#103167]) +6 similar issues
>    [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
>    [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
> 
>   * igt@kms_plane_lowres@pipe-a-tiling-y:
>     - shard-iclb:         [PASS][16] -> [FAIL][17] ([fdo#103166])
>    [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-iclb3/igt@kms_plane_lowres@pipe-a-tiling-y.html
>    [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-iclb1/igt@kms_plane_lowres@pipe-a-tiling-y.html
> 
>   * igt@kms_psr2_su@frontbuffer:
>     - shard-iclb:         [PASS][18] -> [SKIP][19] ([fdo#109642])
>    [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
>    [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-iclb1/igt@kms_psr2_su@frontbuffer.html
> 
>   * igt@kms_psr@psr2_cursor_mmap_cpu:
>     - shard-iclb:         [PASS][20] -> [SKIP][21] ([fdo#109441]) +2 similar issues
>    [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
>    [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-iclb3/igt@kms_psr@psr2_cursor_mmap_cpu.html
> 
>   
> #### Possible fixes ####
> 
>   * igt@gem_exec_schedule@preemptive-hang-render:
>     - shard-glk:          [INCOMPLETE][22] ([fdo#103359] / [k.org#198133]) -> [PASS][23]
>    [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-glk7/igt@gem_exec_schedule@preemptive-hang-render.html
>    [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-glk7/igt@gem_exec_schedule@preemptive-hang-render.html
> 
>   * igt@gem_tiled_swapping@non-threaded:
>     - shard-apl:          [DMESG-WARN][24] ([fdo#108686]) -> [PASS][25]
>    [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-apl8/igt@gem_tiled_swapping@non-threaded.html
>    [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-apl5/igt@gem_tiled_swapping@non-threaded.html
> 
>   * igt@gem_workarounds@suspend-resume-context:
>     - shard-kbl:          [DMESG-WARN][26] ([fdo#108566]) -> [PASS][27]
>    [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-kbl1/igt@gem_workarounds@suspend-resume-context.html
>    [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-kbl1/igt@gem_workarounds@suspend-resume-context.html
> 
>   * igt@i915_pm_rpm@system-suspend:
>     - shard-skl:          [INCOMPLETE][28] ([fdo#104108] / [fdo#107807]) -> [PASS][29]
>    [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-skl2/igt@i915_pm_rpm@system-suspend.html
>    [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-skl8/igt@i915_pm_rpm@system-suspend.html
> 
>   * igt@i915_pm_rpm@system-suspend-devices:
>     - shard-skl:          [INCOMPLETE][30] ([fdo#107807]) -> [PASS][31]
>    [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-skl5/igt@i915_pm_rpm@system-suspend-devices.html
>    [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-skl4/igt@i915_pm_rpm@system-suspend-devices.html
> 
>   * igt@i915_suspend@sysfs-reader:
>     - shard-apl:          [DMESG-WARN][32] ([fdo#108566]) -> [PASS][33] +9 similar issues
>    [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-apl1/igt@i915_suspend@sysfs-reader.html
>    [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-apl2/igt@i915_suspend@sysfs-reader.html
> 
>   * igt@kms_cursor_crc@pipe-b-cursor-64x64-onscreen:
>     - shard-skl:          [FAIL][34] ([fdo#103232]) -> [PASS][35]
>    [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-skl10/igt@kms_cursor_crc@pipe-b-cursor-64x64-onscreen.html
>    [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-skl2/igt@kms_cursor_crc@pipe-b-cursor-64x64-onscreen.html
> 
>   * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
>     - shard-glk:          [FAIL][36] ([fdo#104873]) -> [PASS][37]
>    [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-glk2/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
>    [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-glk7/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
> 
>   * igt@kms_flip@flip-vs-suspend:
>     - shard-hsw:          [INCOMPLETE][38] ([fdo#103540]) -> [PASS][39]
>    [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-hsw6/igt@kms_flip@flip-vs-suspend.html
>    [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-hsw5/igt@kms_flip@flip-vs-suspend.html
> 
>   * igt@kms_flip@flip-vs-suspend-interruptible:
>     - shard-skl:          [INCOMPLETE][40] ([fdo#109507]) -> [PASS][41]
>    [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-skl7/igt@kms_flip@flip-vs-suspend-interruptible.html
>    [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-skl2/igt@kms_flip@flip-vs-suspend-interruptible.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt:
>     - shard-iclb:         [FAIL][42] ([fdo#103167]) -> [PASS][43] +7 similar issues
>    [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt.html
>    [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt.html
> 
>   * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min:
>     - shard-skl:          [FAIL][44] ([fdo#108145]) -> [PASS][45]
>    [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-skl9/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html
>    [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-skl6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html
> 
>   * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
>     - shard-skl:          [FAIL][46] ([fdo#108145] / [fdo#110403]) -> [PASS][47]
>    [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-skl10/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
>    [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-skl2/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
> 
>   * igt@kms_psr@psr2_cursor_render:
>     - shard-iclb:         [SKIP][48] ([fdo#109441]) -> [PASS][49] +2 similar issues
>    [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-iclb7/igt@kms_psr@psr2_cursor_render.html
>    [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-iclb2/igt@kms_psr@psr2_cursor_render.html
> 
>   
> #### Warnings ####
> 
>   * igt@gem_mmap_gtt@forked-big-copy-xy:
>     - shard-iclb:         [TIMEOUT][50] ([fdo#109673]) -> [INCOMPLETE][51] ([fdo#107713] / [fdo#109100])
>    [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-iclb5/igt@gem_mmap_gtt@forked-big-copy-xy.html
>    [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-iclb7/igt@gem_mmap_gtt@forked-big-copy-xy.html
> 
>   * igt@gem_tiled_swapping@non-threaded:
>     - shard-hsw:          [FAIL][52] ([fdo#108686]) -> [INCOMPLETE][53] ([fdo#103540])
>    [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-hsw5/igt@gem_tiled_swapping@non-threaded.html
>    [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-hsw5/igt@gem_tiled_swapping@non-threaded.html
> 
>   * igt@i915_pm_rpm@pc8-residency:
>     - shard-skl:          [INCOMPLETE][54] ([fdo#107807]) -> [SKIP][55] ([fdo#109271])
>    [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-skl9/igt@i915_pm_rpm@pc8-residency.html
>    [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-skl6/igt@i915_pm_rpm@pc8-residency.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff:
>     - shard-skl:          [FAIL][56] ([fdo#108040]) -> [FAIL][57] ([fdo#103167])
>    [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-skl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff.html
>    [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-skl3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff.html
> 
>   * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-onoff:
>     - shard-skl:          [FAIL][58] ([fdo#103167]) -> [FAIL][59] ([fdo#108040])
>    [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-skl4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-onoff.html
>    [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-skl3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-onoff.html
> 
>   * igt@prime_vgem@fence-wait-bsd1:
>     - shard-snb:          [FAIL][60] -> [INCOMPLETE][61] ([fdo#105411])
>    [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6142/shard-snb5/igt@prime_vgem@fence-wait-bsd1.html
>    [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13095/shard-snb6/igt@prime_vgem@fence-wait-bsd1.html
> 
>   
>   [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
>   [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
>   [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
>   [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
>   [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
>   [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
>   [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
>   [fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
>   [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
>   [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
>   [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
>   [fdo#108040]: https://bugs.freedesktop.org/show_bug.cgi?id=108040
>   [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
>   [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
>   [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
>   [fdo#108838]: https://bugs.freedesktop.org/show_bug.cgi?id=108838
>   [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
>   [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
>   [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
>   [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
>   [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
>   [fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507
>   [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
>   [fdo#109673]: https://bugs.freedesktop.org/show_bug.cgi?id=109673
>   [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
>   [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133
> 
> 
> Participating hosts (10 -> 11)
> ------------------------------
> 
>   Additional (1): pig-snb-2600 
> 
> 
> Build changes
> -------------
> 
>   * Linux: CI_DRM_6142 -> Patchwork_13095
> 
>   CI_DRM_6142: a388075b2bdc3f714c11e90afb32d65e121987f3 @ git://anongit.freedesktop.org/gfx-ci/linux
>   IGT_5015: cdd6b0a7630762cec14596b9863f418b48c32f46 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
>   Patchwork_13095: 682b71274eaad4e14c28c07c37da9758c602bb3d @ 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_13095/
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 87e8780711d7..bae4a2547eb2 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -1846,6 +1846,9 @@  enum i915_power_well_id {
 #define   VOLTAGE_INFO_MASK		(3 << 24)
 #define   VOLTAGE_INFO_SHIFT		24
 
+#define ICL_PORT_COMP_DW8(port)		_MMIO(_ICL_PORT_COMP_DW(8, port))
+#define   IREFGEN			(1 << 24)
+
 #define CNL_PORT_COMP_DW9		_MMIO(0x162124)
 #define ICL_PORT_COMP_DW9(port)		_MMIO(_ICL_PORT_COMP_DW(9, port))
 
diff --git a/drivers/gpu/drm/i915/intel_combo_phy.c b/drivers/gpu/drm/i915/intel_combo_phy.c
index 19a9333b727a..98213cc58736 100644
--- a/drivers/gpu/drm/i915/intel_combo_phy.c
+++ b/drivers/gpu/drm/i915/intel_combo_phy.c
@@ -275,6 +275,12 @@  static void icl_combo_phys_init(struct drm_i915_private *dev_priv)
 
 		cnl_set_procmon_ref_values(dev_priv, port);
 
+		if (port == PORT_A) {
+			val = I915_READ(ICL_PORT_COMP_DW8(port));
+			val |= IREFGEN;
+			I915_WRITE(ICL_PORT_COMP_DW8(port), val);
+		}
+
 		val = I915_READ(ICL_PORT_COMP_DW0(port));
 		val |= COMP_INIT;
 		I915_WRITE(ICL_PORT_COMP_DW0(port), val);