From 5394b9076d0feb22558d2f5ddb9dc06c8a56780f Mon Sep 17 00:00:00 2001 From: Sandor Yu Date: Mon, 10 Sep 2018 09:16:58 +0800 Subject: [PATCH] MLK-19496-2: HDP: Enable 4Kp60 support for i.MX8QM Pixel combiner function is ready in patch set for MLK-19413. Remove variable is_4kp60 from driver. 4Kp60 are supported for all platforms. Signed-off-by: Sandor Yu --- drivers/gpu/drm/imx/hdp/imx-hdp.c | 16 +++++++--------- drivers/gpu/drm/imx/hdp/imx-hdp.h | 2 -- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/imx/hdp/imx-hdp.c b/drivers/gpu/drm/imx/hdp/imx-hdp.c index d2d391b5fb96..4852dfad5951 100644 --- a/drivers/gpu/drm/imx/hdp/imx-hdp.c +++ b/drivers/gpu/drm/imx/hdp/imx-hdp.c @@ -824,9 +824,13 @@ imx_hdp_connector_mode_valid(struct drm_connector *connector, return MODE_BAD_HVALUE; } - if (hdp->is_4kp60 && mode->clock > 594000) - return MODE_CLOCK_HIGH; - else if (!hdp->is_4kp60 && mode->clock > 297000) + /* For iMX8QM A0 Max support video mode is 4kp30 */ + if (cpu_is_imx8qm() && (imx8_get_soc_revision() < B0_SILICON_ID)) + if (mode->clock > 297000) + return MODE_CLOCK_HIGH; + + /* MAX support pixel clock rate 594MHz */ + if (mode->clock > 594000) return MODE_CLOCK_HIGH; ret = imx_hdp_call(hdp, pixel_clock_range, mode); @@ -842,7 +846,6 @@ imx_hdp_connector_mode_valid(struct drm_connector *connector, if (mode->vdisplay > 2160) return MODE_BAD_VVALUE; - return mode_status; } @@ -1158,14 +1161,12 @@ static struct hdp_ops imx8qm_hdmi_ops = { }; static struct hdp_devtype imx8qm_dp_devtype = { - .is_4kp60 = false, .audio_type = CDN_DPTX, .ops = &imx8qm_dp_ops, .rw = &imx8qm_rw, }; static struct hdp_devtype imx8qm_hdmi_devtype = { - .is_4kp60 = false, .audio_type = CDN_HDMITX_TYPHOON, .ops = &imx8qm_hdmi_ops, .rw = &imx8qm_rw, @@ -1189,7 +1190,6 @@ static struct hdp_ops imx8mq_ops = { }; static struct hdp_devtype imx8mq_hdmi_devtype = { - .is_4kp60 = true, .audio_type = CDN_HDMITX_KIRAN, .ops = &imx8mq_ops, .rw = &imx8mq_rw, @@ -1204,7 +1204,6 @@ static struct hdp_ops imx8mq_dp_ops = { }; static struct hdp_devtype imx8mq_dp_devtype = { - .is_4kp60 = true, .audio_type = CDN_DPTX, .ops = &imx8mq_dp_ops, .rw = &imx8mq_rw, @@ -1354,7 +1353,6 @@ static int imx_hdp_imx_bind(struct device *dev, struct device *master, } dev_info(dev, "dp_num_lanes 0x%02x\n", hdp->edp_num_lanes); - hdp->is_4kp60 = devtype->is_4kp60; hdp->audio_type = devtype->audio_type; hdp->ops = devtype->ops; hdp->rw = devtype->rw; diff --git a/drivers/gpu/drm/imx/hdp/imx-hdp.h b/drivers/gpu/drm/imx/hdp/imx-hdp.h index a0e35e11ae45..ab8c51dd5b6a 100644 --- a/drivers/gpu/drm/imx/hdp/imx-hdp.h +++ b/drivers/gpu/drm/imx/hdp/imx-hdp.h @@ -117,7 +117,6 @@ struct hdp_ops { }; struct hdp_devtype { - u8 is_4kp60; u8 audio_type; struct hdp_ops *ops; struct hdp_rw_func *rw; @@ -205,7 +204,6 @@ struct imx_hdp { struct hdp_mem mem; - u8 is_4kp60; u8 is_cec; u8 is_edp; u8 is_digpll_dp_pclock; -- 2.17.1