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

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
Loading
Loading
Loading
Loading
+16 −3
Original line number Diff line number Diff line
@@ -145,11 +145,16 @@ struct hdmi_audio_param {
	struct hdmi_codec_params codec_params;
};

struct mtk_hdmi_conf {
	bool tz_disabled;
};

struct mtk_hdmi {
	struct drm_bridge bridge;
	struct drm_bridge *next_bridge;
	struct drm_connector conn;
	struct device *dev;
	const struct mtk_hdmi_conf *conf;
	struct phy *phy;
	struct device *cec_dev;
	struct i2c_adapter *ddc_adpt;
@@ -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)
{
	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
@@ -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
	 * 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,
				   hdmi->sys_offset + HDMI_SYS_CFG20,
				   0x80008005, enable ? 0x80000005 : 0x8000);
@@ -1723,6 +1727,7 @@ static int mtk_drm_hdmi_probe(struct platform_device *pdev)
		return -ENOMEM;

	hdmi->dev = dev;
	hdmi->conf = of_device_get_match_data(dev);

	ret = mtk_hdmi_dt_parse_pdata(hdmi, pdev);
	if (ret)
@@ -1803,8 +1808,16 @@ static int mtk_hdmi_resume(struct device *dev)
static SIMPLE_DEV_PM_OPS(mtk_hdmi_pm_ops,
			 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[] = {
	{ .compatible = "mediatek,mt8173-hdmi", },
	{ .compatible = "mediatek,mt2701-hdmi",
	  .data = &mtk_hdmi_conf_mt2701,
	},
	{ .compatible = "mediatek,mt8173-hdmi",
	},
	{}
};

+0 −1
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@
struct mtk_hdmi_phy;

struct mtk_hdmi_phy_conf {
	bool tz_disabled;
	unsigned long flags;
	const struct clk_ops *hdmi_phy_clk_ops;
	void (*hdmi_phy_enable_tmds)(struct mtk_hdmi_phy *hdmi_phy);
+0 −1
Original line number Diff line number Diff line
@@ -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 = {
	.tz_disabled = true,
	.flags = CLK_SET_RATE_GATE,
	.hdmi_phy_clk_ops = &mtk_hdmi_phy_pll_ops,
	.hdmi_phy_enable_tmds = mtk_hdmi_phy_enable_tmds,