Commit 96f51a4d authored by CK Hu's avatar CK Hu Committed by Chun-Kuang Hu

drm/mediatek: Move tz_disabled from mtk_hdmi_phy to mtk_hdmi driver

tz_disabled is used to control mtk_hdmi output signal, but this variable
is stored in mtk_hdmi_phy and mtk_hdmi_phy does not use it. So move
tz_disabled to mtk_hdmi where it's used.
Signed-off-by: default avatarCK Hu <ck.hu@mediatek.com>
Signed-off-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
Tested-by: default avatarFrank Wunderlich <frank-w@public-files.de>
parent 5aa8e764
...@@ -145,11 +145,16 @@ struct hdmi_audio_param { ...@@ -145,11 +145,16 @@ struct hdmi_audio_param {
struct hdmi_codec_params codec_params; struct hdmi_codec_params codec_params;
}; };
struct mtk_hdmi_conf {
bool tz_disabled;
};
struct mtk_hdmi { struct mtk_hdmi {
struct drm_bridge bridge; struct drm_bridge bridge;
struct drm_bridge *next_bridge; struct drm_bridge *next_bridge;
struct drm_connector conn; struct drm_connector conn;
struct device *dev; struct device *dev;
const struct mtk_hdmi_conf *conf;
struct phy *phy; struct phy *phy;
struct device *cec_dev; struct device *cec_dev;
struct i2c_adapter *ddc_adpt; struct i2c_adapter *ddc_adpt;
...@@ -234,7 +239,6 @@ static void mtk_hdmi_hw_vid_black(struct mtk_hdmi *hdmi, bool black) ...@@ -234,7 +239,6 @@ static void mtk_hdmi_hw_vid_black(struct mtk_hdmi *hdmi, bool black)
static void mtk_hdmi_hw_make_reg_writable(struct mtk_hdmi *hdmi, bool enable) static void mtk_hdmi_hw_make_reg_writable(struct mtk_hdmi *hdmi, bool enable)
{ {
struct arm_smccc_res res; struct arm_smccc_res res;
struct mtk_hdmi_phy *hdmi_phy = phy_get_drvdata(hdmi->phy);
/* /*
* MT8173 HDMI hardware has an output control bit to enable/disable HDMI * MT8173 HDMI hardware has an output control bit to enable/disable HDMI
...@@ -242,7 +246,7 @@ static void mtk_hdmi_hw_make_reg_writable(struct mtk_hdmi *hdmi, bool enable) ...@@ -242,7 +246,7 @@ static void mtk_hdmi_hw_make_reg_writable(struct mtk_hdmi *hdmi, bool enable)
* The ARM trusted firmware provides an API for the HDMI driver to set * The ARM trusted firmware provides an API for the HDMI driver to set
* this control bit to enable HDMI output in supervisor mode. * this control bit to enable HDMI output in supervisor mode.
*/ */
if (hdmi_phy->conf && hdmi_phy->conf->tz_disabled) if (hdmi->conf && hdmi->conf->tz_disabled)
regmap_update_bits(hdmi->sys_regmap, regmap_update_bits(hdmi->sys_regmap,
hdmi->sys_offset + HDMI_SYS_CFG20, hdmi->sys_offset + HDMI_SYS_CFG20,
0x80008005, enable ? 0x80000005 : 0x8000); 0x80008005, enable ? 0x80000005 : 0x8000);
...@@ -1723,6 +1727,7 @@ static int mtk_drm_hdmi_probe(struct platform_device *pdev) ...@@ -1723,6 +1727,7 @@ static int mtk_drm_hdmi_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
hdmi->dev = dev; hdmi->dev = dev;
hdmi->conf = of_device_get_match_data(dev);
ret = mtk_hdmi_dt_parse_pdata(hdmi, pdev); ret = mtk_hdmi_dt_parse_pdata(hdmi, pdev);
if (ret) if (ret)
...@@ -1803,8 +1808,16 @@ static int mtk_hdmi_resume(struct device *dev) ...@@ -1803,8 +1808,16 @@ static int mtk_hdmi_resume(struct device *dev)
static SIMPLE_DEV_PM_OPS(mtk_hdmi_pm_ops, static SIMPLE_DEV_PM_OPS(mtk_hdmi_pm_ops,
mtk_hdmi_suspend, mtk_hdmi_resume); mtk_hdmi_suspend, mtk_hdmi_resume);
static const struct mtk_hdmi_conf mtk_hdmi_conf_mt2701 = {
.tz_disabled = true,
};
static const struct of_device_id mtk_drm_hdmi_of_ids[] = { static const struct of_device_id mtk_drm_hdmi_of_ids[] = {
{ .compatible = "mediatek,mt8173-hdmi", }, { .compatible = "mediatek,mt2701-hdmi",
.data = &mtk_hdmi_conf_mt2701,
},
{ .compatible = "mediatek,mt8173-hdmi",
},
{} {}
}; };
......
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
struct mtk_hdmi_phy; struct mtk_hdmi_phy;
struct mtk_hdmi_phy_conf { struct mtk_hdmi_phy_conf {
bool tz_disabled;
unsigned long flags; unsigned long flags;
const struct clk_ops *hdmi_phy_clk_ops; const struct clk_ops *hdmi_phy_clk_ops;
void (*hdmi_phy_enable_tmds)(struct mtk_hdmi_phy *hdmi_phy); void (*hdmi_phy_enable_tmds)(struct mtk_hdmi_phy *hdmi_phy);
......
...@@ -237,7 +237,6 @@ static void mtk_hdmi_phy_disable_tmds(struct mtk_hdmi_phy *hdmi_phy) ...@@ -237,7 +237,6 @@ static void mtk_hdmi_phy_disable_tmds(struct mtk_hdmi_phy *hdmi_phy)
} }
struct mtk_hdmi_phy_conf mtk_hdmi_phy_2701_conf = { struct mtk_hdmi_phy_conf mtk_hdmi_phy_2701_conf = {
.tz_disabled = true,
.flags = CLK_SET_RATE_GATE, .flags = CLK_SET_RATE_GATE,
.hdmi_phy_clk_ops = &mtk_hdmi_phy_pll_ops, .hdmi_phy_clk_ops = &mtk_hdmi_phy_pll_ops,
.hdmi_phy_enable_tmds = mtk_hdmi_phy_enable_tmds, .hdmi_phy_enable_tmds = mtk_hdmi_phy_enable_tmds,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment