diff mbox series

[CI,1/6] drm/i915/tgl: Add initial dkl pll support

Message ID 20190924210040.142075-1-jose.souza@intel.com (mailing list archive)
State New, archived
Headers show
Series [CI,1/6] drm/i915/tgl: Add initial dkl pll support | expand

Commit Message

Souza, Jose Sept. 24, 2019, 9 p.m. UTC
From: Lucas De Marchi <lucas.demarchi@intel.com>

The disable function can be the same as for MG phy since the same
registers are used. The others are different as registers changed,
also adding a empty dkl_pll_write() to be implemented later.

v2:
Setting the right HIP_INDEX_REG bits (José)

v3:
Masking non-computed registers of mg_pll_tdc_coldst_bias
when getting hardware state
Sharing mg_pll_enable() with TGL

Reviewed-by: Imre Deak <imre.deak@intel.com>
Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 96 ++++++++++++++++++-
 1 file changed, 94 insertions(+), 2 deletions(-)

Comments

Souza, Jose Sept. 25, 2019, 7:21 p.m. UTC | #1
On Wed, 2019-09-25 at 16:22 +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: series starting with [CI,1/6] drm/i915/tgl: Add initial dkl
> pll support
> URL   : https://patchwork.freedesktop.org/series/67181/
> State : success
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_6952_full -> Patchwork_14521_full
> ====================================================
> 
> Summary
> -------
> 
>   **SUCCESS**
> 
>   No regressions found.

Merged to dinq, thanks for the reviews Lucas, Imre and Matt.

> 
>   
> 
> Known issues
> ------------
> 
>   Here are the changes found in Patchwork_14521_full that come from
> known issues:
> 
> ### IGT changes ###
> 
> #### Issues hit ####
> 
>   * igt@gem_exec_schedule@preempt-queue-bsd:
>     - shard-iclb:         [PASS][1] -> [SKIP][2] ([fdo#111325]) +3
> similar issues
>    [1]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb7/igt@gem_exec_schedule@preempt-queue-bsd.html
>    [2]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb1/igt@gem_exec_schedule@preempt-queue-bsd.html
> 
>   * igt@kms_cursor_crc@pipe-b-cursor-suspend:
>     - shard-skl:          [PASS][3] -> [INCOMPLETE][4] ([fdo#110741])
>    [3]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-skl9/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
>    [4]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-skl9/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
> 
>   * igt@kms_draw_crc@draw-method-rgb565-render-xtiled:
>     - shard-skl:          [PASS][5] -> [FAIL][6] ([fdo#103184] /
> [fdo#103232])
>    [5]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-skl6/igt@kms_draw_crc@draw-method-rgb565-render-xtiled.html
>    [6]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-skl5/igt@kms_draw_crc@draw-method-rgb565-render-xtiled.html
> 
>   * igt@kms_flip@flip-vs-expired-vblank:
>     - shard-apl:          [PASS][7] -> [FAIL][8] ([fdo#105363])
>    [7]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl6/igt@kms_flip@flip-vs-expired-vblank.html
>    [8]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-apl3/igt@kms_flip@flip-vs-expired-vblank.html
> 
>   * igt@kms_flip@flip-vs-expired-vblank-interruptible:
>     - shard-skl:          [PASS][9] -> [FAIL][10] ([fdo#105363])
>    [9]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-skl3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
>    [10]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-skl2/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
> 
>   * igt@kms_flip@modeset-vs-vblank-race-interruptible:
>     - shard-glk:          [PASS][11] -> [FAIL][12] ([fdo#111609])
>    [11]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-glk2/igt@kms_flip@modeset-vs-vblank-race-interruptible.html
>    [12]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-glk8/igt@kms_flip@modeset-vs-vblank-race-interruptible.html
> 
>   * igt@kms
> _frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
>     - shard-iclb:         [PASS][13] -> [FAIL][14] ([fdo#103167]) +1
> similar issue
>    [13]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
>    [14]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-rte:
>     - shard-iclb:         [PASS][15] -> [FAIL][16] ([fdo#103167] /
> [fdo#110378])
>    [15]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-rte.html
>    [16]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-rte.html
> 
>   * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
>     - shard-iclb:         [PASS][17] -> [DMESG-WARN][18]
> ([fdo#111764])
>    [17]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
>    [18]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb1/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
> 
>   * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
>     - shard-apl:          [PASS][19] -> [DMESG-WARN][20]
> ([fdo#108566]) +3 similar issues
>    [19]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
>    [20]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-apl2/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
>     - shard-skl:          [PASS][21] -> [INCOMPLETE][22]
> ([fdo#104108])
>    [21]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-skl10/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
>    [22]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-skl8/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
> 
>   * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min:
>     - shard-skl:          [PASS][23] -> [FAIL][24] ([fdo#108145])
>    [23]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-skl10/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html
>    [24]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-skl6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html
> 
>   * igt@kms_plane_cursor@pipe-c-overlay-size-256:
>     - shard-hsw:          [PASS][25] -> [DMESG-WARN][26]
> ([fdo#102614])
>    [25]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-hsw5/igt@kms_plane_cursor@pipe-c-overlay-size-256.html
>    [26]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-hsw5/igt@kms_plane_cursor@pipe-c-overlay-size-256.html
> 
>   * igt@kms_psr@psr2_no_drrs:
>     - shard-iclb:         [PASS][27] -> [SKIP][28] ([fdo#109441])
>    [27]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
>    [28]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb4/igt@kms_psr@psr2_no_drrs.html
> 
>   * igt@kms_setmode@basic:
>     - shard-hsw:          [PASS][29] -> [FAIL][30] ([fdo#99912])
>    [29]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-hsw5/igt@kms_setmode@basic.html
>    [30]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-hsw8/igt@kms_setmode@basic.html
> 
>   * igt@kms_vblank@pipe-c-ts-continuation-suspend:
>     - shard-kbl:          [PASS][31] -> [DMESG-WARN][32]
> ([fdo#108566]) +1 similar issue
>    [31]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-kbl4/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
>    [32]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-kbl3/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
> 
>   * igt@prime_vgem@fence-wait-bsd2:
>     - shard-iclb:         [PASS][33] -> [SKIP][34] ([fdo#109276]) +14
> similar issues
>    [33]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb2/igt@prime_vgem@fence-wait-bsd2.html
>    [34]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb6/igt@prime_vgem@fence-wait-bsd2.html
> 
>   
> #### Possible fixes ####
> 
>   * igt@gem_ctx_isolation@vcs0-s3:
>     - shard-skl:          [INCOMPLETE][35] ([fdo#104108]) ->
> [PASS][36]
>    [35]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-skl1/igt@gem_ctx_isolation@vcs0-s3.html
>    [36]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-skl10/igt@gem_ctx_isolation@vcs0-s3.html
> 
>   * igt@gem_ctx_shared@exec-single-timeline-bsd1:
>     - shard-iclb:         [SKIP][37] ([fdo#109276]) -> [PASS][38] +11
> similar issues
>    [37]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb6/igt@gem_ctx_shared@exec-single-timeline-bsd1.html
>    [38]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb2/igt@gem_ctx_shared@exec-single-timeline-bsd1.html
> 
>   * igt@gem_ctx_switch@bcs0-heavy-queue:
>     - shard-apl:          [INCOMPLETE][39] ([fdo#103927]) ->
> [PASS][40] +1 similar issue
>    [39]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl4/igt@gem_ctx_switch@bcs0-heavy-queue.html
>    [40]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-apl8/igt@gem_ctx_switch@bcs0-heavy-queue.html
> 
>   * igt@gem_exec_schedule@reorder-wide-bsd:
>     - shard-iclb:         [SKIP][41] ([fdo#111325]) -> [PASS][42] +4
> similar issues
>    [41]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb4/igt@gem_exec_schedule@reorder-wide-bsd.html
>    [42]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb5/igt@gem_exec_schedule@reorder-wide-bsd.html
> 
>   * igt@gem_softpin@noreloc-s3:
>     - shard-kbl:          [DMESG-WARN][43] ([fdo#108566]) ->
> [PASS][44]
>    [43]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-kbl3/igt@gem_softpin@noreloc-s3.html
>    [44]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-kbl2/igt@gem_softpin@noreloc-s3.html
> 
>   * igt@gem_tiled_swapping@non-threaded:
>     - shard-apl:          [DMESG-WARN][45] ([fdo#108686]) ->
> [PASS][46]
>    [45]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl7/igt@gem_tiled_swapping@non-threaded.html
>    [46]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-apl5/igt@gem_tiled_swapping@non-threaded.html
> 
>   * {igt@i915_pm_dc@dc6-psr}:
>     - shard-iclb:         [FAIL][47] ([fdo#110548]) -> [PASS][48]
>    [47]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb6/igt@i915_pm_dc@dc6-psr.html
>    [48]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb5/igt@i915_pm_dc@dc6-psr.html
> 
>   * igt@i915_suspend@fence-restore-tiled2untiled:
>     - shard-apl:          [DMESG-WARN][49] ([fdo#108566]) ->
> [PASS][50] +4 similar issues
>    [49]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl4/igt@i915_suspend@fence-restore-tiled2untiled.html
>    [50]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-apl5/igt@i915_suspend@fence-restore-tiled2untiled.html
> 
>   * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
>     - shard-hsw:          [INCOMPLETE][51] ([fdo#103540]) ->
> [PASS][52]
>    [51]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-hsw4/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
>    [52]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-hsw1/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
> 
>   * igt@kms_flip@flip-vs-expired-vblank:
>     - shard-skl:          [FAIL][53] ([fdo#105363]) -> [PASS][54]
>    [53]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-skl1/igt@kms_flip@flip-vs-expired-vblank.html
>    [54]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-skl4/igt@kms_flip@flip-vs-expired-vblank.html
> 
>   * igt@kms_flip@flip-vs-suspend:
>     - shard-skl:          [INCOMPLETE][55] ([fdo#109507]) ->
> [PASS][56]
>    [55]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-skl4/igt@kms_flip@flip-vs-suspend.html
>    [56]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-skl1/igt@kms_flip@flip-vs-suspend.html
> 
>   * igt@kms_flip@plain-flip-ts-check-interruptible:
>     - shard-skl:          [FAIL][57] ([fdo#100368]) -> [PASS][58]
>    [57]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-skl7/igt@kms_flip@plain-flip-ts-check-interruptible.html
>    [58]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-skl8/igt@kms_flip@plain-flip-ts-check-interruptible.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-blt:
>     - shard-iclb:         [FAIL][59] ([fdo#103167]) -> [PASS][60] +1
> similar issue
>    [59]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-blt.html
>    [60]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-blt.html
> 
>   * igt@kms_plane_lowres@pipe-a-tiling-x:
>     - shard-iclb:         [FAIL][61] ([fdo#103166]) -> [PASS][62]
>    [61]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb8/igt@kms_plane_lowres@pipe-a-tiling-x.html
>    [62]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb2/igt@kms_plane_lowres@pipe-a-tiling-x.html
> 
>   * igt@kms_psr2_su@frontbuffer:
>     - shard-iclb:         [SKIP][63] ([fdo#109642] / [fdo#111068]) ->
> [PASS][64]
>    [63]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb6/igt@kms_psr2_su@frontbuffer.html
>    [64]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
> 
>   * igt@kms_psr@psr2_cursor_render:
>     - shard-iclb:         [SKIP][65] ([fdo#109441]) -> [PASS][66]
>    [65]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb1/igt@kms_psr@psr2_cursor_render.html
>    [66]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb2/igt@kms_psr@psr2_cursor_render.html
> 
>   * igt@kms_setmode@basic:
>     - shard-apl:          [FAIL][67] ([fdo#99912]) -> [PASS][68]
>    [67]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-apl7/igt@kms_setmode@basic.html
>    [68]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-apl5/igt@kms_setmode@basic.html
> 
>   
> #### Warnings ####
> 
>   * igt@gem_ctx_isolation@vcs1-nonpriv:
>     - shard-iclb:         [FAIL][69] ([fdo#111329]) -> [SKIP][70]
> ([fdo#109276])
>    [69]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb2/igt@gem_ctx_isolation@vcs1-nonpriv.html
>    [70]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb6/igt@gem_ctx_isolation@vcs1-nonpriv.html
> 
>   * igt@gem_mocs_settings@mocs-isolation-bsd2:
>     - shard-iclb:         [SKIP][71] ([fdo#109276]) -> [FAIL][72]
> ([fdo#111330])
>    [71]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6952/shard-iclb6/igt@gem_mocs_settings@mocs-isolation-bsd2.html
>    [72]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14521/shard-iclb2/igt@gem_mocs_settings@mocs-isolation-bsd2.html
> 
>   
>   {name}: This element is suppressed. This means it is ignored when
> computing
>           the status of the difference (SUCCESS, WARNING, or
> FAILURE).
> 
>   [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368
>   [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
>   [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#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
>   [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
>   [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
>   [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
>   [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#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
>   [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#110378]: https://bugs.freedesktop.org/show_bug.cgi?id=110378
>   [fdo#110548]: https://bugs.freedesktop.org/show_bug.cgi?id=110548
>   [fdo#110741]: https://bugs.freedesktop.org/show_bug.cgi?id=110741
>   [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
>   [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
>   [fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
>   [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
>   [fdo#111609]: https://bugs.freedesktop.org/show_bug.cgi?id=111609
>   [fdo#111764]: https://bugs.freedesktop.org/show_bug.cgi?id=111764
>   [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
> 
> 
> Participating hosts (9 -> 9)
> ------------------------------
> 
>   No changes in participating hosts
> 
> 
> Build changes
> -------------
> 
>   * CI: CI-20190529 -> None
>   * Linux: CI_DRM_6952 -> Patchwork_14521
> 
>   CI-20190529: 20190529
>   CI_DRM_6952: ec3b5d92c87e554e407f308b4183f21d59c4a13d @
> git://anongit.freedesktop.org/gfx-ci/linux
>   IGT_5202: 3499c5eb17054e2abd88023fe962768140d24302 @
> git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
>   Patchwork_14521: 9b58317785c1d746a7d1efdb95cd05dff76072a4 @
> 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_14521/
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
index 84e734d44828..1d56027be12c 100644
--- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
+++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
@@ -3086,6 +3086,78 @@  static bool mg_pll_get_hw_state(struct drm_i915_private *dev_priv,
 	return ret;
 }
 
+static bool dkl_pll_get_hw_state(struct drm_i915_private *dev_priv,
+				 struct intel_shared_dpll *pll,
+				 struct intel_dpll_hw_state *hw_state)
+{
+	const enum intel_dpll_id id = pll->info->id;
+	enum tc_port tc_port = icl_pll_id_to_tc_port(id);
+	intel_wakeref_t wakeref;
+	bool ret = false;
+	u32 val;
+
+	wakeref = intel_display_power_get_if_enabled(dev_priv,
+						     POWER_DOMAIN_DISPLAY_CORE);
+	if (!wakeref)
+		return false;
+
+	val = I915_READ(MG_PLL_ENABLE(tc_port));
+	if (!(val & PLL_ENABLE))
+		goto out;
+
+	/*
+	 * All registers read here have the same HIP_INDEX_REG even though
+	 * they are on different building blocks
+	 */
+	I915_WRITE(HIP_INDEX_REG(tc_port), HIP_INDEX_VAL(tc_port, 0x2));
+
+	hw_state->mg_refclkin_ctl = I915_READ(DKL_REFCLKIN_CTL(tc_port));
+	hw_state->mg_refclkin_ctl &= MG_REFCLKIN_CTL_OD_2_MUX_MASK;
+
+	hw_state->mg_clktop2_hsclkctl =
+		I915_READ(DKL_CLKTOP2_HSCLKCTL(tc_port));
+	hw_state->mg_clktop2_hsclkctl &=
+		MG_CLKTOP2_HSCLKCTL_TLINEDRV_CLKSEL_MASK |
+		MG_CLKTOP2_HSCLKCTL_CORE_INPUTSEL_MASK |
+		MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_MASK |
+		MG_CLKTOP2_HSCLKCTL_DSDIV_RATIO_MASK;
+
+	hw_state->mg_clktop2_coreclkctl1 =
+		I915_READ(DKL_CLKTOP2_CORECLKCTL1(tc_port));
+	hw_state->mg_clktop2_coreclkctl1 &=
+		MG_CLKTOP2_CORECLKCTL1_A_DIVRATIO_MASK;
+
+	hw_state->mg_pll_div0 = I915_READ(DKL_PLL_DIV0(tc_port));
+	hw_state->mg_pll_div0 &= (DKL_PLL_DIV0_INTEG_COEFF_MASK |
+				  DKL_PLL_DIV0_PROP_COEFF_MASK |
+				  DKL_PLL_DIV0_FBPREDIV_MASK |
+				  DKL_PLL_DIV0_FBDIV_INT_MASK);
+
+	hw_state->mg_pll_div1 = I915_READ(DKL_PLL_DIV1(tc_port));
+	hw_state->mg_pll_div1 &= (DKL_PLL_DIV1_IREF_TRIM_MASK |
+				  DKL_PLL_DIV1_TDC_TARGET_CNT_MASK);
+
+	hw_state->mg_pll_ssc = I915_READ(DKL_PLL_SSC(tc_port));
+	hw_state->mg_pll_ssc &= (DKL_PLL_SSC_IREF_NDIV_RATIO_MASK |
+				 DKL_PLL_SSC_STEP_LEN_MASK |
+				 DKL_PLL_SSC_STEP_NUM_MASK |
+				 DKL_PLL_SSC_EN);
+
+	hw_state->mg_pll_bias = I915_READ(DKL_PLL_BIAS(tc_port));
+	hw_state->mg_pll_bias &= (DKL_PLL_BIAS_FRAC_EN_H |
+				  DKL_PLL_BIAS_FBDIV_FRAC_MASK);
+
+	hw_state->mg_pll_tdc_coldst_bias =
+		I915_READ(DKL_PLL_TDC_COLDST_BIAS(tc_port));
+	hw_state->mg_pll_tdc_coldst_bias &= (DKL_PLL_TDC_SSC_STEP_SIZE_MASK |
+					     DKL_PLL_TDC_FEED_FWD_GAIN_MASK);
+
+	ret = true;
+out:
+	intel_display_power_put(dev_priv, POWER_DOMAIN_DISPLAY_CORE, wakeref);
+	return ret;
+}
+
 static bool icl_pll_get_hw_state(struct drm_i915_private *dev_priv,
 				 struct intel_shared_dpll *pll,
 				 struct intel_dpll_hw_state *hw_state,
@@ -3220,6 +3292,12 @@  static void icl_mg_pll_write(struct drm_i915_private *dev_priv,
 	POSTING_READ(MG_PLL_TDC_COLDST_BIAS(tc_port));
 }
 
+static void dkl_pll_write(struct drm_i915_private *dev_priv,
+			  struct intel_shared_dpll *pll)
+{
+	/* TODO */
+}
+
 static void icl_pll_power_enable(struct drm_i915_private *dev_priv,
 				 struct intel_shared_dpll *pll,
 				 i915_reg_t enable_reg)
@@ -3312,7 +3390,10 @@  static void mg_pll_enable(struct drm_i915_private *dev_priv,
 
 	icl_pll_power_enable(dev_priv, pll, enable_reg);
 
-	icl_mg_pll_write(dev_priv, pll);
+	if (INTEL_GEN(dev_priv) >= 12)
+		dkl_pll_write(dev_priv, pll);
+	else
+		icl_mg_pll_write(dev_priv, pll);
 
 	/*
 	 * DVFS pre sequence would be here, but in our driver the cdclk code
@@ -3467,11 +3548,22 @@  static const struct intel_dpll_mgr ehl_pll_mgr = {
 	.dump_hw_state = icl_dump_hw_state,
 };
 
+static const struct intel_shared_dpll_funcs dkl_pll_funcs = {
+	.enable = mg_pll_enable,
+	.disable = mg_pll_disable,
+	.get_hw_state = dkl_pll_get_hw_state,
+};
+
 static const struct dpll_info tgl_plls[] = {
 	{ "DPLL 0", &combo_pll_funcs, DPLL_ID_ICL_DPLL0,  0 },
 	{ "DPLL 1", &combo_pll_funcs, DPLL_ID_ICL_DPLL1,  0 },
 	{ "TBT PLL",  &tbt_pll_funcs, DPLL_ID_ICL_TBTPLL, 0 },
-	/* TODO: Add typeC plls */
+	{ "TC PLL 1", &dkl_pll_funcs, DPLL_ID_ICL_MGPLL1, 0 },
+	{ "TC PLL 2", &dkl_pll_funcs, DPLL_ID_ICL_MGPLL2, 0 },
+	{ "TC PLL 3", &dkl_pll_funcs, DPLL_ID_ICL_MGPLL3, 0 },
+	{ "TC PLL 4", &dkl_pll_funcs, DPLL_ID_ICL_MGPLL4, 0 },
+	{ "TC PLL 5", &dkl_pll_funcs, DPLL_ID_TGL_MGPLL5, 0 },
+	{ "TC PLL 6", &dkl_pll_funcs, DPLL_ID_TGL_MGPLL6, 0 },
 	{ },
 };