X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fwigyori.git;a=blobdiff_plain;f=target%2Flinux%2Flayerscape%2Fpatches-5.4%2F805-display-0013-drm-bridge-cadence-Add-power_on-to-__cdns_dp_probe.patch;fp=target%2Flinux%2Flayerscape%2Fpatches-5.4%2F805-display-0013-drm-bridge-cadence-Add-power_on-to-__cdns_dp_probe.patch;h=a58e75c499e9c0740ea9bf73d84537279ad16b65;hp=0000000000000000000000000000000000000000;hb=cddd4591404fb4c53dc0b3c0b15b942cdbed4356;hpb=d1d2c0b5579ea4f69a42246c9318539d61ba1999 diff --git a/target/linux/layerscape/patches-5.4/805-display-0013-drm-bridge-cadence-Add-power_on-to-__cdns_dp_probe.patch b/target/linux/layerscape/patches-5.4/805-display-0013-drm-bridge-cadence-Add-power_on-to-__cdns_dp_probe.patch new file mode 100644 index 0000000000..a58e75c499 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/805-display-0013-drm-bridge-cadence-Add-power_on-to-__cdns_dp_probe.patch @@ -0,0 +1,94 @@ +From 9737dd813b872f5671d40685d2174a928da809a3 Mon Sep 17 00:00:00 2001 +From: Wen He +Date: Tue, 17 Sep 2019 15:23:51 +0800 +Subject: [PATCH] drm: bridge: cadence: Add power_on to __cdns_dp_probe + +Add power_on of the cnds_plat_data to __cdns_dp_probe as to update +Board related configuration initalization. + +Signed-off-by: Wen He +--- + drivers/gpu/drm/bridge/cadence/cdns-dp-core.c | 2 ++ + drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c | 2 ++ + drivers/gpu/drm/imx/cdn-mhdp-imx8qm.c | 6 +++--- + drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c | 2 ++ + drivers/gpu/drm/imx/cdns-mhdp-imx.h | 1 + + 5 files changed, 10 insertions(+), 3 deletions(-) + +--- a/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c ++++ b/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c +@@ -457,6 +457,8 @@ static int __cdns_dp_probe(struct platfo + + cdns_dp_parse_dt(mhdp); + ++ cdns_mhdp_plat_call(mhdp, power_on); ++ + // mhdp->dual_mode = false; + cdns_mhdp_plat_call(mhdp, firmware_init); + +--- a/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c ++++ b/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c +@@ -449,6 +449,8 @@ static int __cdns_hdmi_probe(struct plat + /* Initialize dual_mode to false */ + // hdmi->dual_mode = false; + ++ cdns_mhdp_plat_call(mhdp, power_on); ++ + /* Initialize FW */ + cdns_mhdp_plat_call(mhdp, firmware_init); + +--- a/drivers/gpu/drm/imx/cdn-mhdp-imx8qm.c ++++ b/drivers/gpu/drm/imx/cdn-mhdp-imx8qm.c +@@ -440,7 +440,7 @@ fail: + return ret; + } + +-static void imx8qm_mhdp_power_on(struct cdns_mhdp_device *mhdp) ++int cdns_mhdp_power_on_imx8qm(struct cdns_mhdp_device *mhdp) + { + struct imx_mhdp_device *imx_mhdp = + container_of(mhdp, struct imx_mhdp_device, mhdp); +@@ -463,6 +463,8 @@ static void imx8qm_mhdp_power_on(struct + imx8qm_pixel_clk_enable(imx_mhdp); + + imx8qm_phy_reset(1); ++ ++ return 0; + } + + void cdns_mhdp_plat_init_imx8qm(struct cdns_mhdp_device *mhdp) +@@ -506,8 +508,6 @@ int cdns_mhdp_firmware_init_imx8qm(struc + u32 rate; + int ret; + +- imx8qm_mhdp_power_on(mhdp); +- + /* configure HDMI/DP core clock */ + rate = clk_get_rate(imx_mhdp->clks.clk_core); + cdns_mhdp_set_fw_clk(&imx_mhdp->mhdp, rate); +--- a/drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c ++++ b/drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c +@@ -71,6 +71,7 @@ static struct cdns_plat_data imx8qm_hdmi + .bind = cdns_hdmi_bind, + .unbind = cdns_hdmi_unbind, + .phy_set = cdns_hdmi_phy_set_imx8qm, ++ .power_on = cdns_mhdp_power_on_imx8qm, + .firmware_init = cdns_mhdp_firmware_init_imx8qm, + .pclk_rate = cdns_mhdp_pclk_rate_imx8qm, + .plat_init = cdns_mhdp_plat_init_imx8qm, +@@ -83,6 +84,7 @@ static struct cdns_plat_data imx8qm_dp_d + .bind = cdns_dp_bind, + .unbind = cdns_dp_unbind, + .phy_set = cdns_dp_phy_set_imx8qm, ++ .power_on = cdns_mhdp_power_on_imx8qm, + .firmware_init = cdns_mhdp_firmware_init_imx8qm, + .pclk_rate = cdns_mhdp_pclk_rate_imx8qm, + .plat_init = cdns_mhdp_plat_init_imx8qm, +--- a/drivers/gpu/drm/imx/cdns-mhdp-imx.h ++++ b/drivers/gpu/drm/imx/cdns-mhdp-imx.h +@@ -77,4 +77,5 @@ void cdns_mhdp_plat_init_imx8qm(struct c + void cdns_mhdp_plat_deinit_imx8qm(struct cdns_mhdp_device *mhdp); + void cdns_mhdp_pclk_rate_imx8qm(struct cdns_mhdp_device *mhdp); + int cdns_mhdp_firmware_init_imx8qm(struct cdns_mhdp_device *mhdp); ++int cdns_mhdp_power_on_imx8qm(struct cdns_mhdp_device *mhdp); + #endif /* CDNS_MHDP_IMX_H_ */