author | yicheng shen <yicheng.shen@amlogic.com> | 2019-06-13 02:04:23 (GMT) |
---|---|---|
committer | Yicheng Shen <yicheng.shen@amlogic.com> | 2019-06-13 08:46:05 (GMT) |
commit | be00d3acdc8fb3250e54d74772018a6ab8ee7d6e (patch) | |
tree | bebfdcee8b24f5c4c48752108c55237c569ee3d1 | |
parent | 1dad21a0f46698bf233d9a614e774d65c52beb88 (diff) | |
download | common-be00d3acdc8fb3250e54d74772018a6ab8ee7d6e.zip common-be00d3acdc8fb3250e54d74772018a6ab8ee7d6e.tar.gz common-be00d3acdc8fb3250e54d74772018a6ab8ee7d6e.tar.bz2 |
hdmitx: fix hdmitx panic issue [1/2]
PD#OTT-4073
Problem:
clk_vapb/clk_vpu init cause kernel panic
Solution:
Remove clk_vapb/clk_vpu init,as kernel 4.9 uses clk tree
to config the clk.
Verify:
962X2
Change-Id: I821b110cf0bd2f96e288deb58a16eecc81742453
Signed-off-by: yicheng shen <yicheng.shen@amlogic.com>
-rw-r--r-- | drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c | 11 | ||||
-rw-r--r-- | include/linux/amlogic/media/vout/hdmi_tx/hdmi_tx_module.h | 2 |
2 files changed, 8 insertions, 5 deletions
diff --git a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c index a41571f..dc51e78 100644 --- a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c +++ b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c @@ -129,11 +129,13 @@ static void hdmitx_early_suspend(struct early_suspend *h) extcon_set_state_sync(hdmitx_extcon_power, EXTCON_DISP_HDMI, 0); phdmi->HWOp.CntlConfig(&hdmitx_device, CONF_CLR_AVI_PACKET, 0); phdmi->HWOp.CntlConfig(&hdmitx_device, CONF_CLR_VSDB_PACKET, 0); + #if 0 /*close vpu clk*/ if (phdmi->hdmitx_clk_tree.hdmi_clk_vapb != NULL) clk_disable_unprepare(phdmi->hdmitx_clk_tree.hdmi_clk_vapb); if (phdmi->hdmitx_clk_tree.hdmi_clk_vpu != NULL) clk_disable_unprepare(phdmi->hdmitx_clk_tree.hdmi_clk_vpu); + #endif } static int hdmitx_is_hdmi_vmode(char *mode_name) @@ -151,13 +153,14 @@ static void hdmitx_late_resume(struct early_suspend *h) const struct vinfo_s *info = hdmitx_get_current_vinfo(); struct hdmitx_dev *phdmi = (struct hdmitx_dev *)h->param; +#if 0 /*open vpu clk*/ if (phdmi->hdmitx_clk_tree.hdmi_clk_vapb != NULL) clk_prepare_enable(phdmi->hdmitx_clk_tree.hdmi_clk_vapb); if (phdmi->hdmitx_clk_tree.hdmi_clk_vpu != NULL) clk_prepare_enable(phdmi->hdmitx_clk_tree.hdmi_clk_vpu); - +#endif if (info && (hdmitx_is_hdmi_vmode(info->name) == 1)) phdmi->HWOp.CntlMisc(&hdmitx_device, MISC_HPLL_FAKE, 0); @@ -3682,10 +3685,11 @@ static int amhdmitx_get_dt_info(struct platform_device *pdev) */ static void amhdmitx_clktree_probe(struct device *hdmitx_dev) { - struct clk *hdmi_clk_vapb, *hdmi_clk_vpu; + /* struct clk *hdmi_clk_vapb, *hdmi_clk_vpu; */ struct clk *hdcp22_tx_skp, *hdcp22_tx_esm; struct clk *venci_top_gate, *venci_0_gate, *venci_1_gate; + #if 0 hdmi_clk_vapb = devm_clk_get(hdmitx_dev, "hdmi_vapb_clk"); if (IS_ERR(hdmi_clk_vapb)) pr_warn(SYS "vapb_clk failed to probe\n"); @@ -3693,7 +3697,6 @@ static void amhdmitx_clktree_probe(struct device *hdmitx_dev) hdmitx_device.hdmitx_clk_tree.hdmi_clk_vapb = hdmi_clk_vapb; clk_prepare_enable(hdmitx_device.hdmitx_clk_tree.hdmi_clk_vapb); } - hdmi_clk_vpu = devm_clk_get(hdmitx_dev, "hdmi_vpu_clk"); if (IS_ERR(hdmi_clk_vpu)) pr_warn(SYS "vpu_clk failed to probe\n"); @@ -3701,7 +3704,7 @@ static void amhdmitx_clktree_probe(struct device *hdmitx_dev) hdmitx_device.hdmitx_clk_tree.hdmi_clk_vpu = hdmi_clk_vpu; clk_prepare_enable(hdmitx_device.hdmitx_clk_tree.hdmi_clk_vpu); } - + #endif hdcp22_tx_skp = devm_clk_get(hdmitx_dev, "hdcp22_tx_skp"); if (IS_ERR(hdcp22_tx_skp)) pr_warn(SYS "hdcp22_tx_skp failed to probe\n"); diff --git a/include/linux/amlogic/media/vout/hdmi_tx/hdmi_tx_module.h b/include/linux/amlogic/media/vout/hdmi_tx/hdmi_tx_module.h index ea3d76c..775f6e1 100644 --- a/include/linux/amlogic/media/vout/hdmi_tx/hdmi_tx_module.h +++ b/include/linux/amlogic/media/vout/hdmi_tx/hdmi_tx_module.h @@ -27,7 +27,7 @@ #include <linux/pinctrl/consumer.h> /* HDMITX driver version */ -#define HDMITX_VER "20180702" +#define HDMITX_VER "20190613" /* chip type */ #define MESON_CPU_ID_M8B 0 |