diff options
Diffstat (limited to 'drivers/gpu/drm/exynos')
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_drv.c | 12 | ||||
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_hdmi.c | 8 | ||||
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_mixer.c | 11 | 
3 files changed, 8 insertions, 23 deletions
| diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index 121470a83d1a..1bcbe07cecfc 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c @@ -645,18 +645,6 @@ static int exynos_drm_init(void)  	if (!is_exynos)  		return -ENODEV; -	/* -	 * Register device object only in case of Exynos SoC. -	 * -	 * Below codes resolves temporarily infinite loop issue incurred -	 * by Exynos drm driver when using multi-platform kernel. -	 * So these codes will be replaced with more generic way later. -	 */ -	if (!of_machine_is_compatible("samsung,exynos3") && -			!of_machine_is_compatible("samsung,exynos4") && -			!of_machine_is_compatible("samsung,exynos5")) -		return -ENODEV; -  	exynos_drm_pdev = platform_device_register_simple("exynos-drm", -1,  								NULL, 0);  	if (IS_ERR(exynos_drm_pdev)) diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c index 5765a161abdd..98051e8e855a 100644 --- a/drivers/gpu/drm/exynos/exynos_hdmi.c +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c @@ -1669,7 +1669,6 @@ static void hdmi_mode_apply(struct hdmi_context *hdata)  static void hdmiphy_conf_reset(struct hdmi_context *hdata)  { -	u8 buffer[2];  	u32 reg;  	clk_disable_unprepare(hdata->res.sclk_hdmi); @@ -1677,11 +1676,8 @@ static void hdmiphy_conf_reset(struct hdmi_context *hdata)  	clk_prepare_enable(hdata->res.sclk_hdmi);  	/* operation mode */ -	buffer[0] = 0x1f; -	buffer[1] = 0x00; - -	if (hdata->hdmiphy_port) -		i2c_master_send(hdata->hdmiphy_port, buffer, 2); +	hdmiphy_reg_writeb(hdata, HDMIPHY_MODE_SET_DONE, +				HDMI_PHY_ENABLE_MODE_SET);  	if (hdata->type == HDMI_TYPE13)  		reg = HDMI_V13_PHY_RSTOUT; diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c index 820b76234ef4..064ed6597def 100644 --- a/drivers/gpu/drm/exynos/exynos_mixer.c +++ b/drivers/gpu/drm/exynos/exynos_mixer.c @@ -1026,6 +1026,7 @@ static void mixer_win_disable(struct exynos_drm_manager *mgr, int zpos)  static void mixer_wait_for_vblank(struct exynos_drm_manager *mgr)  {  	struct mixer_context *mixer_ctx = mgr_to_mixer(mgr); +	int err;  	mutex_lock(&mixer_ctx->mixer_mutex);  	if (!mixer_ctx->powered) { @@ -1034,7 +1035,11 @@ static void mixer_wait_for_vblank(struct exynos_drm_manager *mgr)  	}  	mutex_unlock(&mixer_ctx->mixer_mutex); -	drm_vblank_get(mgr->crtc->dev, mixer_ctx->pipe); +	err = drm_vblank_get(mgr->crtc->dev, mixer_ctx->pipe); +	if (err < 0) { +		DRM_DEBUG_KMS("failed to acquire vblank counter\n"); +		return; +	}  	atomic_set(&mixer_ctx->wait_vsync_event, 1); @@ -1262,8 +1267,6 @@ static int mixer_bind(struct device *dev, struct device *manager, void *data)  		return ret;  	} -	pm_runtime_enable(dev); -  	return 0;  } @@ -1272,8 +1275,6 @@ static void mixer_unbind(struct device *dev, struct device *master, void *data)  	struct mixer_context *ctx = dev_get_drvdata(dev);  	mixer_mgr_remove(&ctx->manager); - -	pm_runtime_disable(dev);  }  static const struct component_ops mixer_component_ops = { |