MLK-17289-2: hdp drm: Add mem variable
authorSandor Yu <Sandor.yu@nxp.com>
Fri, 22 Dec 2017 10:06:43 +0000 (18:06 +0800)
committerLeonard Crestez <leonard.crestez@nxp.com>
Wed, 17 Apr 2019 23:51:34 +0000 (02:51 +0300)
Add mem variable in struct imx_hdp,
and move regs_base and ss_base to struct mem.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
drivers/gpu/drm/imx/hdp/imx-hdp.c
drivers/gpu/drm/imx/hdp/imx-hdp.h

index 87d788c..8ab33a8 100644 (file)
@@ -181,8 +181,7 @@ static void imx_hdp_state_init(struct imx_hdp *hdp)
        memset(state, 0, sizeof(state_struct));
        mutex_init(&state->mutex);
 
-       state->mem.regs_base = hdp->regs_base;
-       state->mem.ss_base = hdp->ss_base;
+       state->mem = &hdp->mem;
        state->rw = hdp->rw;
 }
 
@@ -199,7 +198,7 @@ static void imx8qm_pixel_link_mux(state_struct *state, struct drm_display_mode *
        if (mode->flags & DRM_MODE_FLAG_INTERLACE)
                val |= 0x2;
 
-       writel(val, hdp->ss_base + CSR_PIXEL_LINK_MUX_CTL);
+       writel(val, hdp->mem.ss_base + CSR_PIXEL_LINK_MUX_CTL);
 }
 
 int imx8qm_pixel_link_init(state_struct *state)
@@ -1055,15 +1054,15 @@ static int imx_hdp_imx_bind(struct device *dev, struct device *master,
 
        /* register map */
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       hdp->regs_base = devm_ioremap_resource(dev, res);
-       if (IS_ERR(hdp->regs_base)) {
+       hdp->mem.regs_base = devm_ioremap_resource(dev, res);
+       if (IS_ERR(hdp->mem.regs_base)) {
                dev_err(dev, "Failed to get HDP CTRL base register\n");
                return -EINVAL;
        }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       hdp->ss_base = devm_ioremap_resource(dev, res);
-       if (IS_ERR(hdp->ss_base)) {
+       hdp->mem.ss_base = devm_ioremap_resource(dev, res);
+       if (IS_ERR(hdp->mem.ss_base)) {
                dev_err(dev, "Failed to get HDP CRS base register\n");
                return -EINVAL;
        }
index 1afd228..6f293cd 100644 (file)
@@ -191,8 +191,7 @@ struct imx_hdp {
        struct edid *edid;
        char cable_state;
 
-       void __iomem *regs_base; /* Controller regs base */
-       void __iomem *ss_base; /* HDP Subsystem regs base */
+       struct hdp_mem mem;
 
        u8 is_edid;
        u8 is_4kp60;
@@ -220,7 +219,6 @@ struct imx_hdp {
        int vic;
        int irq[HPD_IRQ_NUM];
        struct delayed_work hotplug_work;
-
 };
 
 u32 imx_hdp_audio(AUDIO_TYPE type, u32 sample_rate, u32 channels, u32 width);