openwrt/staging/blogic.git
7 years agodrm/amd/display: clean up functions in dcn10_dpp_cm
Yue Hin Lau [Mon, 28 Aug 2017 18:05:17 +0000 (14:05 -0400)]
drm/amd/display: clean up functions in dcn10_dpp_cm

Signed-off-by: Yue Hin Lau <Yuehin.Lau@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: only polling VSync Phase within VSync peroroid
Charlene Liu [Mon, 28 Aug 2017 20:28:34 +0000 (16:28 -0400)]
drm/amd/display: only polling VSync Phase within VSync peroroid

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Yongqiang Sun <yongqiang.sun@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Fix time out on boot
Eric Yang [Mon, 28 Aug 2017 20:50:17 +0000 (16:50 -0400)]
drm/amd/display: Fix time out on boot

On boot, hubp 0 is powergated during enable accel mode, so we time out
when we try to blank in undo wa.

Fix: Check power gate status before set blank

Signed-off-by: Eric Yang <Eric.Yang2@amd.com>
Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Move dis_clk into dc_state.
Andrey Grodzovsky [Mon, 28 Aug 2017 18:25:01 +0000 (14:25 -0400)]
drm/amd/display: Move dis_clk into dc_state.

dis_clk is single instance across pipes.

Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: add aux arbitration logic
Charlene Liu [Thu, 24 Aug 2017 21:12:48 +0000 (17:12 -0400)]
drm/amd/display: add aux arbitration logic

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Add a clock source to a sharing pipe
Mikita Lipski [Wed, 23 Aug 2017 19:29:18 +0000 (15:29 -0400)]
drm/amd/display: Add a clock source to a sharing pipe

Fix to allow DVI displays to share the same clock source

Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
Reviewed-by: Roman Li <Roman.Li@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Rename dc resource_validate_ctx methods
Bhawanpreet Lakha [Mon, 28 Aug 2017 16:04:23 +0000 (12:04 -0400)]
drm/amd/display: Rename dc resource_validate_ctx methods

Rename dc_resource methods from validate_ctx to state

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Rename dc validate_context and current_context
Jerry Zuo [Fri, 25 Aug 2017 20:16:10 +0000 (16:16 -0400)]
drm/amd/display: Rename dc validate_context and current_context

Rename all the dc validate_context to dc_state and
dc current_context to current_state.

Signed-off-by: Jerry Zuo <Jerry.Zuo@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: clean up header file includes
Yue Hin Lau [Fri, 25 Aug 2017 20:13:55 +0000 (16:13 -0400)]
drm/amd/display: clean up header file includes

Signed-off-by: Yue Hin Lau <Yuehin.Lau@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Remove mpc from bios left over, keep double buffer disabled.
Yongqiang Sun [Tue, 22 Aug 2017 19:03:06 +0000 (15:03 -0400)]
drm/amd/display: Remove mpc from bios left over, keep double buffer disabled.

Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: DF C-state entry blocked when DPMS
Hersen Wu [Thu, 24 Aug 2017 21:40:00 +0000 (17:40 -0400)]
drm/amd/display: DF C-state entry blocked when DPMS

Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: move cm registers from ipp to dpp_cm
Yue Hin Lau [Sat, 19 Aug 2017 20:34:36 +0000 (16:34 -0400)]
drm/amd/display: move cm registers from ipp to dpp_cm

Signed-off-by: Yue Hin Lau <Yuehin.Lau@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Update DSCL
Eric Bernstein [Thu, 24 Aug 2017 20:16:50 +0000 (16:16 -0400)]
drm/amd/display: Update DSCL

Signed-off-by: Eric Bernstein <eric.bernstein@amd.com>
Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Fix MST downstream display not light up regression
Jerry Zuo [Thu, 24 Aug 2017 20:03:02 +0000 (16:03 -0400)]
drm/amd/display: Fix MST downstream display not light up regression

The fix is for the scenario: MST+SST chain together, and hook up
to the card.

Regression: Per stream validate_context build v2
Before dc_add_stream_to_ctx(), need to update/reset
stream signal type to SIGNAL_TYPE_DISPLAY_PORT_MST. Otherwise,
downstream device cannot be added to ctx due to the lack of signal
type info (SIGNAL_TYPE_NONE).
update_stream_signal() needs to be done after stream is created.

Signed-off-by: Jerry Zuo <Jerry.Zuo@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Use DRM provided page flip flag.
Andrey Grodzovsky [Wed, 23 Aug 2017 20:54:03 +0000 (16:54 -0400)]
drm/amd/display: Use DRM provided page flip flag.

Starting with 4.12 kernel DRM provides page flip flags so we
don't need to have our own copy.

Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: work around for 8k sleep crash
Yongqiang Sun [Thu, 24 Aug 2017 21:29:24 +0000 (17:29 -0400)]
drm/amd/display: work around for 8k sleep crash

Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: do not reset lane count in EQ fallback
Wenjing Liu [Wed, 23 Aug 2017 21:02:34 +0000 (17:02 -0400)]
drm/amd/display: do not reset lane count in EQ fallback

[Description]
According to DP1.4 specs we should not reset lane count back
when falling back in failing EQ training.
This causes PHY test pattern compliance to fail as infinite LT
when LT fails EQ to 4 RBR and fails CR in a loop.

Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Clean up flattening core_dc to dc
Bhawanpreet Lakha [Wed, 23 Aug 2017 19:44:42 +0000 (15:44 -0400)]
drm/amd/display: Clean up flattening core_dc to dc

Clean up some code related to flattening core_dc commit
(Remove redundent dc = dc, which was the result of removing
DC_TO_CORE() macro)

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Don't leak dc_stream_state.
Darren Salt [Tue, 12 Sep 2017 16:10:25 +0000 (17:10 +0100)]
drm/amd/display: Don't leak dc_stream_state.

Noticed while playing “Valley”, which was causing some 8MB of leakage per
second. kmemleak listed many entries looking like this:

    unreferenced object 0xffff8802c2951800 (size 1024):
      comm "Xorg", pid 2982, jiffies 4297410155 (age 392.787s)
      hex dump (first 32 bytes):
        00 50 f9 0c 04 88 ff ff 98 08 00 00 00 00 00 00  .P..............
        80 07 00 00 00 00 00 00 58 00 00 00 2c 00 00 00  ........X...,...
      backtrace:
        [<ffffffff810cd4c3>] create_object+0x13c/0x261
        [<ffffffff815abdc2>] kmemleak_alloc+0x20/0x3c
        [<ffffffff810cad1d>] slab_post_alloc_hook+0x42/0x52
        [<ffffffff810cb8e0>] kmem_cache_alloc+0x67/0x76
        [<ffffffff813bbb54>] dc_create_stream_for_sink+0x24/0x1cf
        [<ffffffff81373aaa>] create_stream_for_sink+0x6f/0x295
        [<ffffffff81373dc2>] dm_update_crtcs_state+0xa6/0x268
        [<ffffffff8137401e>] amdgpu_dm_atomic_check+0x9a/0x314
        [<ffffffff812ac3dd>] drm_atomic_check_only+0x17a/0x42d
        [<ffffffff812ac6a3>] drm_atomic_commit+0x13/0x4b
        [<ffffffff812ad1a5>] drm_atomic_connector_commit_dpms+0xcb/0xe8
        [<ffffffff812b1238>] drm_mode_obj_set_property_ioctl+0xe6/0x1e3
        [<ffffffff812b027b>] drm_mode_connector_property_set_ioctl+0x2b/0x2d
        [<ffffffff8129f427>] drm_ioctl_kernel+0x64/0x9d
        [<ffffffff8129f6a2>] drm_ioctl+0x230/0x316
        [<ffffffff812ca4d3>] amdgpu_drm_ioctl+0x4b/0x7d

v2: also handle break statements.

Signed-off-by: Darren Salt <devspam@moreofthesa.me.uk>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Refactor atomic check.
Andrey Grodzovsky [Fri, 18 Aug 2017 14:52:20 +0000 (10:52 -0400)]
drm/amd/display: Refactor atomic check.

Split into update crtcs and update plane functions.

Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Per plane validation context build.
Andrey Grodzovsky [Fri, 11 Aug 2017 14:43:45 +0000 (10:43 -0400)]
drm/amd/display: Per plane validation context build.

Introduce add/remove plane to/from context.
Make DC wrapper to use them in WIndows/Diags.
Use them in dc_update_surface_to_stream.
Call add/remove plane from Linux DM.

Remove dc_validation_set from dc_validate_global_state interface
and by this remove clean Linux DM from using it.

Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Block 6Ghz timing if SBIOS set HDMI_6G_en to 0
Charlene Liu [Wed, 23 Aug 2017 00:15:28 +0000 (20:15 -0400)]
drm/amd/display: Block 6Ghz timing if SBIOS set HDMI_6G_en to 0

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Safe stream encoder id in stream_status
Wenjing Liu [Tue, 22 Aug 2017 22:42:51 +0000 (18:42 -0400)]
drm/amd/display: Safe stream encoder id in stream_status

Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Fix return value from rx irq handler on up request
Wenjing Liu [Tue, 22 Aug 2017 19:49:57 +0000 (15:49 -0400)]
drm/amd/display: Fix return value from rx irq handler on up request

Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Stop including atomfimrwareid.h directly
Harry Wentland [Tue, 22 Aug 2017 13:35:41 +0000 (09:35 -0400)]
drm/amd/display: Stop including atomfimrwareid.h directly

It's already included in atomfirmware.h

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Roman Li <Roman.Li@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Remove old, misleading comment
Harry Wentland [Tue, 22 Aug 2017 14:29:40 +0000 (10:29 -0400)]
drm/amd/display: Remove old, misleading comment

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Roman Li <Roman.Li@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Remove unneeded code
Bhawanpreet Lakha [Mon, 21 Aug 2017 20:28:39 +0000 (16:28 -0400)]
drm/amd/display: Remove unneeded code

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: retry LT on failing LT in automated request
Wenjing Liu [Mon, 21 Aug 2017 20:43:08 +0000 (16:43 -0400)]
drm/amd/display: retry LT on failing LT in automated request

[Description]
Link training is not retried in automated link training request.
In case link training is occasionally failing, there is not way to retry
so the requested lane settings will not set.

Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Change log level for DCN powergatting
Bhawanpreet Lakha [Mon, 21 Aug 2017 15:46:17 +0000 (11:46 -0400)]
drm/amd/display: Change log level for DCN powergatting

Change log level from LOG_DC to LOG_DEBUG
LOG_DC spams dmesg on linux when hotpluging

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: retire dm_pp_apply_clock_for_voltage_request
Tony Cheng [Sun, 20 Aug 2017 18:25:19 +0000 (14:25 -0400)]
drm/amd/display: retire dm_pp_apply_clock_for_voltage_request

set dcfclk and fclk req with pp_smu_display_requirement_rv

Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Yongqiang Sun <yongqiang.sun@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: write dpcd 0x600 to 2 for DP/eDP when powerdown
Charlene Liu [Mon, 21 Aug 2017 16:59:41 +0000 (12:59 -0400)]
drm/amd/display: write dpcd 0x600 to 2 for DP/eDP when powerdown

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: version 3.1.01
Tony Cheng [Sat, 19 Aug 2017 12:55:58 +0000 (08:55 -0400)]
drm/amd/display: version 3.1.01

Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Enable double buffer when unblank crtc.
Yongqiang Sun [Mon, 21 Aug 2017 15:00:25 +0000 (11:00 -0400)]
drm/amd/display: Enable double buffer when unblank crtc.

Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: dc: Remove unneeded includes in DCN
Harry Wentland [Tue, 22 Aug 2017 14:29:23 +0000 (10:29 -0400)]
drm/amd/display: dc: Remove unneeded includes in DCN

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: memory leak dwb
Tony Cheng [Sat, 19 Aug 2017 20:36:13 +0000 (16:36 -0400)]
drm/amd/display: memory leak dwb

Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Yongqiang Sun <yongqiang.sun@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: cleanup naming of DCN DPP functions
Yue Hin Lau [Sat, 19 Aug 2017 16:10:28 +0000 (12:10 -0400)]
drm/amd/display: cleanup naming of DCN DPP functions

Signed-off-by: Yue Hin Lau <Yuehin.Lau@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Fixed mpc add, enable always scaler for video surface.
Dmytro Laktyushkin [Fri, 28 Jul 2017 12:16:27 +0000 (08:16 -0400)]
drm/amd/display: Fixed mpc add, enable always scaler for video surface.

Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: fix hubp mpcc and opp tracking
Dmytro Laktyushkin [Fri, 28 Jul 2017 12:16:27 +0000 (08:16 -0400)]
drm/amd/display: fix hubp mpcc and opp tracking

This should be handled by mi and mpc only

Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Remove unnecessary assignemnt
Harry Wentland [Thu, 17 Aug 2017 18:57:27 +0000 (14:57 -0400)]
drm/amd/display: Remove unnecessary assignemnt

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Disable stutter for Raven
Bhawanpreet Lakha [Thu, 17 Aug 2017 21:00:47 +0000 (17:00 -0400)]
drm/amd/display: Disable stutter for Raven

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Fix two MST not light up regressions
Jerry Zuo [Thu, 17 Aug 2017 20:05:37 +0000 (16:05 -0400)]
drm/amd/display: Fix two MST not light up regressions

1. Change 100104: Move verify link cap after read edid causes MST
   link_cap struct not being set. It leads to zero denominator
   pbn_per_slot value, leading to the crash at
   dal_fixed31_32_div(). Skip MST link training for now and will
   need to add MST specific link traning routine later.

2. Change 98822: Adding edp supports changes link setting
   condition from max_link to verified_link. It leads to MST is
   getting wrong link settings.
   e.g. LINK_SPREAD_05_DOWNSPREAD_30KHZ not set in MST case

Signed-off-by: Jerry Zuo <Jerry.Zuo@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: separate cm functions out from dcn10_dpp
Yue Hin Lau [Thu, 17 Aug 2017 21:17:37 +0000 (17:17 -0400)]
drm/amd/display: separate cm functions out from dcn10_dpp

Signed-off-by: Yue Hin Lau <Yuehin.Lau@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: re-enable audio after LT test
Wenjing Liu [Thu, 17 Aug 2017 20:24:11 +0000 (16:24 -0400)]
drm/amd/display: re-enable audio after LT test

[Description]
Audio should be attached to the same pipe once it is attached.
We will not remove audio endpoint in disable stream.
We will reeanble the audio after automated link training test

Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Cache edp config in dc link
Wenjing Liu [Tue, 15 Aug 2017 23:10:14 +0000 (19:10 -0400)]
drm/amd/display: Cache edp config in dc link

Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: separate scl functions out from dcn10_dpp
Yue Hin Lau [Tue, 15 Aug 2017 21:44:19 +0000 (17:44 -0400)]
drm/amd/display: separate scl functions out from dcn10_dpp

Signed-off-by: Yue Hin Lau <Yuehin.Lau@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Fix FBC disable for stereo
Roman Li [Thu, 17 Aug 2017 20:14:45 +0000 (16:14 -0400)]
drm/amd/display: Fix FBC disable for stereo

Removed FBC disable from dc_enable_stereo().
It should be implemented in stereo_setup callback, which is not
implemented yet. Otherwise it always disable FBC regardless
if stereo supported or not.

Signed-off-by: Roman Li <Roman.Li@amd.com>
Reviewed-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Log OTG registers with dcn10 hw state
Corbin McElhanney [Wed, 16 Aug 2017 15:49:07 +0000 (11:49 -0400)]
drm/amd/display: Log OTG registers with dcn10 hw state

Signed-off-by: Corbin McElhanney <corbin.mcelhanney@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: fix not enter/exit PSR with latest driver/SBIOS
Charlene Liu [Thu, 17 Aug 2017 00:25:42 +0000 (20:25 -0400)]
drm/amd/display: fix not enter/exit PSR with latest driver/SBIOS

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: increase polling interval for fbc status update
Roman Li [Wed, 16 Aug 2017 23:06:49 +0000 (19:06 -0400)]
drm/amd/display: increase polling interval for fbc status update

1.Fixing error message:
"wait counter exceeded, changes to HW not applied"
2. Added "FBC status changed to 0/1" logs

Signed-off-by: Roman Li <Roman.Li@amd.com>
Reviewed-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Enable Vega by default.
Harry Wentland [Fri, 15 Sep 2017 18:07:30 +0000 (14:07 -0400)]
drm/amd/display: Enable Vega by default.

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Move copy_construct from state_alloc to atomic_check.
Leo (Sunpeng) Li [Thu, 21 Sep 2017 20:13:00 +0000 (16:13 -0400)]
drm/amd/display: Move copy_construct from state_alloc to atomic_check.

Previously atomic_check assumed that dc_state is allocated and filled
in. This is not the case when we hit EDEADLK and have to backup and
retry.

We could change atomic_state_clear but that revealed some other
problems. For now let's create and construct dc_state in atomic_check.

Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Refactor dc_state creation into a function.
Leo (Sunpeng) Li [Thu, 7 Sep 2017 20:46:34 +0000 (16:46 -0400)]
drm/amd/display: Refactor dc_state creation into a function.

For less repetition and easy debugging.

Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Per stream validate_context build v2.
Andrey Grodzovsky [Mon, 31 Jul 2017 15:29:25 +0000 (11:29 -0400)]
drm/amd/display: Per stream validate_context build v2.

Until now new context would start as empty, then populated
with exsisting pipes + new. Now we start with duplication
of existing context and then add/delete from the context
pipes as needed.

This allows to do a per stream resource
population, start discarding dc_validation_set
and by this brings DC closer to to DRM.

v2: Add some fixes and rebase.

Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: refactor pplib/smu communication
Tony Cheng [Sun, 13 Aug 2017 17:50:52 +0000 (13:50 -0400)]
drm/amd/display: refactor pplib/smu communication

new per SoC interface instead legacy interface with lots of un-used
field that only cause confusion

model pp_smu like one of our HW objects with func_ptr interface
to call into it.  struct pp_smu as handle to call pp/smu

Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Implement HDMI retimer settings for RV AM4 support.
Zeyu Fan [Mon, 14 Aug 2017 22:43:11 +0000 (18:43 -0400)]
drm/amd/display: Implement HDMI retimer settings for RV AM4 support.

Signed-off-by: Zeyu Fan <Zeyu.Fan@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: move vm registers to hwsequencer
Yue Hin Lau [Mon, 14 Aug 2017 22:17:01 +0000 (18:17 -0400)]
drm/amd/display: move vm registers to hwsequencer

Signed-off-by: Yue Hin Lau <Yuehin.Lau@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: remove fake address reporting when blank
Tony Cheng [Thu, 3 Aug 2017 12:49:41 +0000 (08:49 -0400)]
drm/amd/display: remove fake address reporting when blank

Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Yongqiang Sun <yongqiang.sun@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Fix FBC compilation
Roman Li [Mon, 14 Aug 2017 21:35:08 +0000 (17:35 -0400)]
drm/amd/display: Fix FBC compilation

- Fixing compilation with ENABLE_FBC flag
  which was broken after flattening core_dc to dc

Signed-off-by: Roman Li <Roman.Li@amd.com>
Reviewed-by: Jerry Zuo <Jerry.Zuo@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Leave DCN config guard around fpu header
Harry Wentland [Thu, 10 Aug 2017 20:16:20 +0000 (16:16 -0400)]
drm/amd/display: Leave DCN config guard around fpu header

See
https://lists.freedesktop.org/archives/dri-devel/2017-August/149938.html

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Jordan Lazare <Jordan.Lazare@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: eDP power sequence T9 fail
Charlene Liu [Fri, 11 Aug 2017 17:22:02 +0000 (13:22 -0400)]
drm/amd/display: eDP power sequence T9 fail

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Anthony Koo <Anthony.Koo@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: blank otg before power gate front end.
Yongqiang Sun [Fri, 11 Aug 2017 15:23:30 +0000 (11:23 -0400)]
drm/amd/display: blank otg before power gate front end.

Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Use MAX_PIPES for DTO reg arrays
Dmytro Laktyushkin [Thu, 3 Aug 2017 20:41:48 +0000 (16:41 -0400)]
drm/amd/display: Use MAX_PIPES for DTO reg arrays

Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Flattening core_dc to dc
Bhawanpreet Lakha [Tue, 1 Aug 2017 19:00:25 +0000 (15:00 -0400)]
drm/amd/display: Flattening core_dc to dc

-Flattening core_dc to dc

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Use function pointer for update_plane_addr
Dmytro Laktyushkin [Thu, 3 Aug 2017 14:19:58 +0000 (10:19 -0400)]
drm/amd/display: Use function pointer for update_plane_addr

Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: fix eDP bootup/S4 backlight on
Charlene Liu [Wed, 9 Aug 2017 18:03:34 +0000 (14:03 -0400)]
drm/amd/display: fix eDP bootup/S4 backlight on

also pass-in correct dispclk tor DMCU

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Anthony Koo <Anthony.Koo@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: change dcn_ip and dcn_soc into pointers
Bhawanpreet Lakha [Thu, 3 Aug 2017 17:02:29 +0000 (13:02 -0400)]
drm/amd/display: change dcn_ip and dcn_soc into pointers

-Change dcn_ip into pointer
-Change dcn_soc into pointer

This is needed for flattening of core_dc into dc, as without
this the diags build fails

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Add comment explaining context free
Corbin McElhanney [Wed, 9 Aug 2017 14:30:28 +0000 (10:30 -0400)]
drm/amd/display: Add comment explaining context free

This comment explains a previous change that adds some complexity
to the context free in dc:

commit 9ad58779a895 ("drm/amd/display: Fix accessing freed memory")

Signed-off-by: Corbin McElhanney <corbin.mcelhanney@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: change bw_dceip and bw_vbios into pointers
Bhawanpreet Lakha [Wed, 2 Aug 2017 20:56:03 +0000 (16:56 -0400)]
drm/amd/display: change bw_dceip and bw_vbios into pointers

-Change bw_calcs_dceip into pointer
-Change bw_calcs_vbios into pointer

This is needed for flattening of core_dc into dc, as without this the
diags build fails

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: add display write back(DWB)
Duke Du [Thu, 3 Aug 2017 14:20:52 +0000 (10:20 -0400)]
drm/amd/display: add display write back(DWB)

Signed-off-by: Duke Du <Duke.Du@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Use atomic types for ref_count
Jerry Zuo [Mon, 31 Jul 2017 21:10:44 +0000 (17:10 -0400)]
drm/amd/display: Use atomic types for ref_count

Current ref_count inc/dec is not guarded by locks which leads to
a raced condition where two threads try to access the variable
at the same time. In this case, both might act on the same cached
value and inc/dec from the same value, rather than inc/dec by 2.

Signed-off-by: Jerry Zuo <Jerry.Zuo@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: fix gamma distortion on Vega
Roman Li [Thu, 10 Aug 2017 20:11:10 +0000 (16:11 -0400)]
drm/amd/display: fix gamma distortion on Vega

Added missing reg shift/masks to soc base

Signed-off-by: Roman Li <Roman.Li@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amdgpu: disable DC on KB/ML for now
Alex Deucher [Wed, 23 Aug 2017 13:42:22 +0000 (09:42 -0400)]
drm/amdgpu: disable DC on KB/ML for now

Until I've had time to test it better.

bug: https://bugs.freedesktop.org/show_bug.cgi?id=102372

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Add a TODO list
Harry Wentland [Thu, 10 Aug 2017 19:20:00 +0000 (15:20 -0400)]
drm/amd/display: Add a TODO list

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Jordan Lazare <jordan.lazare@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amdgpu/cik: add IP modules for DC for APUs
Alex Deucher [Thu, 10 Aug 2017 18:39:52 +0000 (14:39 -0400)]
drm/amdgpu/cik: add IP modules for DC for APUs

Enable DC for DCE8 APUs.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/disply/dc: add resource support for DCE8 APUs (v2)
Alex Deucher [Thu, 10 Aug 2017 18:39:51 +0000 (14:39 -0400)]
drm/amd/disply/dc: add resource support for DCE8 APUs (v2)

Add the appropriate resources for APUs:
KV:    4 pipes, 7 dig, 3 PPLLs
KB/ML: 2 pipes, 6 dig, 2 PPLLs

v2: rebase changes

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display/dc: add DCE_VERSION for DCE8 APUs
Alex Deucher [Thu, 10 Aug 2017 18:39:50 +0000 (14:39 -0400)]
drm/amd/display/dc: add DCE_VERSION for DCE8 APUs

DCE 8.1 = Kaveri
DCE 8.3 = Kabini/Mullins

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display/dc: add DIGG for KV
Alex Deucher [Thu, 10 Aug 2017 18:39:49 +0000 (14:39 -0400)]
drm/amd/display/dc: add DIGG for KV

KV has 7 possible DIG blocks.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amdgpu: add DCE8 APUs to dc_supported check
Alex Deucher [Thu, 10 Aug 2017 18:39:48 +0000 (14:39 -0400)]
drm/amdgpu: add DCE8 APUs to dc_supported check

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display/dm: add KV, KB, ML (v2)
Alex Deucher [Thu, 10 Aug 2017 18:39:47 +0000 (14:39 -0400)]
drm/amd/display/dm: add KV, KB, ML (v2)

Add DCE8 APUs to display manager.

v2: rebase changes

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display/dc: make dce120_link_encoder_create static
Alex Deucher [Thu, 10 Aug 2017 18:22:22 +0000 (14:22 -0400)]
drm/amd/display/dc: make dce120_link_encoder_create static

Only used in dce120_resource.c.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display/dc: Make dce110_validate_bandwidth static (v2)
Alex Deucher [Thu, 10 Aug 2017 18:22:21 +0000 (14:22 -0400)]
drm/amd/display/dc: Make dce110_validate_bandwidth static (v2)

Not used outside of the dce110_resource.c.

v2: make a bunch of other functions static as well.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Fix warnings about uninitialized use
Harry Wentland [Wed, 9 Aug 2017 01:01:20 +0000 (21:01 -0400)]
drm/amd/display: Fix warnings about uninitialized use

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Pass correct number for gamma entries
Harry Wentland [Tue, 8 Aug 2017 16:23:15 +0000 (12:23 -0400)]
drm/amd/display: Pass correct number for gamma entries

This was broken by "implement DXGI Gamma Ramps"

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Fix regression in dce110_apply_ctx_for_surfaces
Harry Wentland [Tue, 8 Aug 2017 15:35:10 +0000 (11:35 -0400)]
drm/amd/display: Fix regression in dce110_apply_ctx_for_surfaces

Caused by "add programming for 0 plane case" which was tested on DCN but
not on DCE.

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: fix HDMI 12bits last two bits are zero issue
Corbin McElhanney [Thu, 3 Aug 2017 18:20:14 +0000 (14:20 -0400)]
drm/amd/display: fix HDMI 12bits last two bits are zero issue

(FF-158) -[FF N-1] HDMI Deep Color Mode incorrect bit depth:
FMT_DYNAMIC_EXP_EN is being reset to 0

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: log watermarks
Tony Cheng [Fri, 4 Aug 2017 03:21:46 +0000 (23:21 -0400)]
drm/amd/display: log watermarks

Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Workaround for underflow.
Yongqiang Sun [Fri, 4 Aug 2017 19:42:36 +0000 (15:42 -0400)]
drm/amd/display: Workaround for underflow.

Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Fix hw state logging regression
Corbin McElhanney [Fri, 4 Aug 2017 19:30:45 +0000 (15:30 -0400)]
drm/amd/display: Fix hw state logging regression

Signed-off-by: Corbin McElhanney <corbin.mcelhanney@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Couple newline fixes
Harry Wentland [Sat, 5 Aug 2017 16:43:45 +0000 (12:43 -0400)]
drm/amd/display: Couple newline fixes

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Use public plane destroy helper
Harry Wentland [Sat, 5 Aug 2017 14:30:11 +0000 (10:30 -0400)]
drm/amd/display: Use public plane destroy helper

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: use some sensible time out
Tony Cheng [Fri, 4 Aug 2017 01:23:04 +0000 (21:23 -0400)]
drm/amd/display: use some sensible time out

40s time out is not sensible.

also make all udelay poll happen more frequently since CPU is busy anyways

Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Yongqiang Sun <yongqiang.sun@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Fix accessing freed memory
Corbin McElhanney [Thu, 3 Aug 2017 22:29:42 +0000 (18:29 -0400)]
drm/amd/display: Fix accessing freed memory

Signed-off-by: Corbin McElhanney <corbin.mcelhanney@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Clear water mark change request bit before programing.
Yongqiang Sun [Thu, 3 Aug 2017 19:46:10 +0000 (15:46 -0400)]
drm/amd/display: Clear water mark change request bit before programing.

Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: add programming for 0 plane case
Eric Yang [Thu, 3 Aug 2017 04:22:25 +0000 (00:22 -0400)]
drm/amd/display: add programming for 0 plane case

Signed-off-by: Eric Yang <Eric.Yang2@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Move verify link cap after read edid
Wenjing Liu [Thu, 3 Aug 2017 17:57:05 +0000 (13:57 -0400)]
drm/amd/display: Move verify link cap after read edid

DP link layer test 400.1.1 fails intermittently.
The test device will pull hpd low immediately
after verify link cap.
Driver reads edid when hpd low that causes the test to fail.

Move read edid before verify link cap, so driver will
read edid before starting link training

Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: implement DXGI Gamma Ramps
Anthony Koo [Thu, 3 Aug 2017 13:59:23 +0000 (09:59 -0400)]
drm/amd/display: implement DXGI Gamma Ramps

Support for gamma correction ramp in Floating Point format

Signed-off-by: Anthony Koo <anthony.koo@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: Add more pstate sanity checks
Corbin McElhanney [Thu, 3 Aug 2017 18:20:14 +0000 (14:20 -0400)]
drm/amd/display: Add more pstate sanity checks

Signed-off-by: Corbin McElhanney <corbin.mcelhanney@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: log underflow
Tony Cheng [Thu, 3 Aug 2017 13:22:14 +0000 (09:22 -0400)]
drm/amd/display: log underflow

as well as convert output in ref_cycle to nano sec

Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Logatharshan Thothiralingam <Logatharshan.Thothiralingam@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: log HW state when we about to encounter DF DPM hang
Tony Cheng [Thu, 3 Aug 2017 12:59:12 +0000 (08:59 -0400)]
drm/amd/display: log HW state when we about to encounter DF DPM hang

Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agodrm/amd/display: fix eDP power down sequence
Charlene Liu [Thu, 3 Aug 2017 17:04:44 +0000 (13:04 -0400)]
drm/amd/display: fix eDP power down sequence

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Anthony Koo <Anthony.Koo@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>