forked from luck/tmp_suning_uos_patched
Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos
Inki writes: This pull request fixes minor issues and includes code cleanup. * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm/exynos: Fix potential NULL pointer dereference in exynos_drm_encoder.c drm/exynos: Make exynos4/5_fimd_driver_data static drm/exynos: fix overlay updating issue drm/exynos: remove unnecessary code. drm/exynos: fix linux framebuffer address setting.
This commit is contained in:
commit
64b1e1bad7
@ -226,6 +226,12 @@ static void exynos_drm_encoder_commit(struct drm_encoder *encoder)
|
||||
* already updated or not by exynos_drm_encoder_dpms function.
|
||||
*/
|
||||
exynos_encoder->updated = true;
|
||||
|
||||
/*
|
||||
* In case of setcrtc, there is no way to update encoder's dpms
|
||||
* so update it here.
|
||||
*/
|
||||
exynos_encoder->dpms = DRM_MODE_DPMS_ON;
|
||||
}
|
||||
|
||||
static void exynos_drm_encoder_disable(struct drm_encoder *encoder)
|
||||
@ -507,6 +513,6 @@ void exynos_drm_encoder_plane_disable(struct drm_encoder *encoder, void *data)
|
||||
* because the setting for disabling the overlay will be updated
|
||||
* at vsync.
|
||||
*/
|
||||
if (overlay_ops->wait_for_vblank)
|
||||
if (overlay_ops && overlay_ops->wait_for_vblank)
|
||||
overlay_ops->wait_for_vblank(manager->dev);
|
||||
}
|
||||
|
@ -87,7 +87,8 @@ static int exynos_drm_fbdev_update(struct drm_fb_helper *helper,
|
||||
|
||||
dev->mode_config.fb_base = (resource_size_t)buffer->dma_addr;
|
||||
fbi->screen_base = buffer->kvaddr + offset;
|
||||
fbi->fix.smem_start = (unsigned long)(buffer->dma_addr + offset);
|
||||
fbi->fix.smem_start = (unsigned long)(page_to_phys(buffer->pages[0]) +
|
||||
offset);
|
||||
fbi->screen_size = size;
|
||||
fbi->fix.smem_len = size;
|
||||
|
||||
|
@ -61,11 +61,11 @@ struct fimd_driver_data {
|
||||
unsigned int timing_base;
|
||||
};
|
||||
|
||||
struct fimd_driver_data exynos4_fimd_driver_data = {
|
||||
static struct fimd_driver_data exynos4_fimd_driver_data = {
|
||||
.timing_base = 0x0,
|
||||
};
|
||||
|
||||
struct fimd_driver_data exynos5_fimd_driver_data = {
|
||||
static struct fimd_driver_data exynos5_fimd_driver_data = {
|
||||
.timing_base = 0x20000,
|
||||
};
|
||||
|
||||
|
@ -204,7 +204,6 @@ exynos_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
|
||||
return ret;
|
||||
|
||||
plane->crtc = crtc;
|
||||
plane->fb = crtc->fb;
|
||||
|
||||
exynos_plane_commit(plane);
|
||||
exynos_plane_dpms(plane, DRM_MODE_DPMS_ON);
|
||||
|
Loading…
Reference in New Issue
Block a user