OpenCloudOS-Kernel/drivers/gpu/drm/sun4i
Jernej Skrabec c64c8e04a1 drm/sun4i: dw-hdmi: Fix HDMI PHY clock setup
Recent rework, which made HDMI PHY driver a platform device, inadvertely
reversed clock setup order. HW is very touchy about it. Proper way is to
handle controllers resets and clocks first and HDMI PHYs second.

Currently, without this fix, first mode set completely fails (nothing on
HDMI monitor) on H3 era PHYs. On H6, it still somehow work.

Move HDMI PHY reset & clocks handling to sun8i_hdmi_phy_init() which
will assure that code is executed after controllers reset & clocks are
handled. Additionally, add sun8i_hdmi_phy_deinit() which will deinit
them at controllers driver unload.

Tested on A64, H3, H6 and R40.

Fixes: 9bf3797796 ("drm/sun4i: dw-hdmi: Make HDMI PHY into a platform device")
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20210915175836.3158839-1-jernej.skrabec@gmail.com
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2021-10-06 11:05:44 +02:00
..
Kconfig
Makefile
sun4i_backend.c drm: Switch to %p4cc format modifier 2021-02-17 12:52:59 +01:00
sun4i_backend.h
sun4i_crtc.c drm/atomic: Pass the full state to CRTC atomic begin and flush 2020-11-02 12:37:49 +01:00
sun4i_crtc.h
sun4i_dotclock.c
sun4i_dotclock.h
sun4i_drv.c drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
sun4i_drv.h
sun4i_framebuffer.c drm/sun4i: Constify static structs 2020-08-18 10:49:13 +02:00
sun4i_framebuffer.h
sun4i_frontend.c drm/sun4i: frontend: Fix the scaler phase on A33 2020-10-26 11:43:30 +01:00
sun4i_frontend.h drm/sun4i: frontend: Rework a bit the phase data 2020-10-26 11:43:30 +01:00
sun4i_hdmi.h drm/sun4i: hdmi ddc clk: Fix size of m divider 2020-06-10 09:11:49 +02:00
sun4i_hdmi_ddc_clk.c drm/sun4i: hdmi ddc clk: Fix size of m divider 2020-06-10 09:11:49 +02:00
sun4i_hdmi_enc.c drm: sun4i: hdmi: Fix inverted HPD result 2020-07-17 14:03:59 +02:00
sun4i_hdmi_i2c.c
sun4i_hdmi_tmds_clk.c
sun4i_layer.c drm/<driver>: drm_gem_plane_helper_prepare_fb is now the default 2021-06-24 15:35:24 +02:00
sun4i_layer.h
sun4i_lvds.c drm/bridge: Centralize error message when bridge attach fails 2021-07-28 16:33:12 +03:00
sun4i_lvds.h
sun4i_rgb.c drm/bridge: Centralize error message when bridge attach fails 2021-07-28 16:33:12 +03:00
sun4i_rgb.h
sun4i_tcon.c drm pull for 5.12-rc1 2021-02-21 14:44:44 -08:00
sun4i_tcon.h drm pull for 5.12-rc1 2021-02-21 14:44:44 -08:00
sun4i_tv.c drm/sun4i: Constify static structs 2020-08-18 10:49:13 +02:00
sun6i_drc.c
sun6i_mipi_dsi.c Linux 5.9-rc5 2020-09-14 17:19:11 +02:00
sun6i_mipi_dsi.h drm/sun4i: dsi: Allow binding the host without a panel 2020-02-14 16:20:27 +01:00
sun8i_csc.c drm/sun4i: Add support for BT2020 to DE3 2021-01-13 10:33:57 +01:00
sun8i_csc.h drm/sun4i: sun8i-csc: Secondary CSC register correction 2020-09-10 13:08:43 +02:00
sun8i_dw_hdmi.c drm/sun4i: dw-hdmi: Fix HDMI PHY clock setup 2021-10-06 11:05:44 +02:00
sun8i_dw_hdmi.h drm/sun4i: dw-hdmi: Fix HDMI PHY clock setup 2021-10-06 11:05:44 +02:00
sun8i_hdmi_phy.c drm/sun4i: dw-hdmi: Fix HDMI PHY clock setup 2021-10-06 11:05:44 +02:00
sun8i_hdmi_phy_clk.c
sun8i_mixer.c drm next for 5.10-rc1 2020-10-15 10:46:16 -07:00
sun8i_mixer.h drm/sun4i: csc: Rework DE3 CSC macros 2021-01-13 10:33:50 +01:00
sun8i_tcon_top.c
sun8i_tcon_top.h
sun8i_ui_layer.c drm/<driver>: drm_gem_plane_helper_prepare_fb is now the default 2021-06-24 15:35:24 +02:00
sun8i_ui_layer.h drm/sun4i: Add alpha property for sun8i UI layer 2021-02-10 11:06:30 +01:00
sun8i_ui_scaler.c
sun8i_ui_scaler.h
sun8i_vi_layer.c drm/<driver>: drm_gem_plane_helper_prepare_fb is now the default 2021-06-24 15:35:24 +02:00
sun8i_vi_layer.h drm/sun4i: Add alpha property for sun8i and sun50i VI layer 2021-02-10 11:06:34 +01:00
sun8i_vi_scaler.c
sun8i_vi_scaler.h
sunxi_engine.h