aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_drm_fimc.c
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2014-08-28 05:07:39 -0400
committerInki Dae <daeinki@gmail.com>2014-09-19 11:56:13 -0400
commit20ed715ebb71eba110b08754412bd0bd5b062cbd (patch)
treebfc37e864670ccc1dbee082e7c8f90b4ecf95a93 /drivers/gpu/drm/exynos/exynos_drm_fimc.c
parent56442d83401f122cc5c38391bb5960bb6a52a343 (diff)
drm/exynos/fimc: fix source buffer registers
FIMC in default mode of operation uses only one input buffer, but the driver used also second buffer, as a result only the first frame was processed correctly. The patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_fimc.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fimc.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimc.c b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
index c2648a0717be..68d38eb6774d 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
@@ -715,24 +715,24 @@ static int fimc_src_set_addr(struct device *dev,
715 case IPP_BUF_ENQUEUE: 715 case IPP_BUF_ENQUEUE:
716 config = &property->config[EXYNOS_DRM_OPS_SRC]; 716 config = &property->config[EXYNOS_DRM_OPS_SRC];
717 fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_Y], 717 fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_Y],
718 EXYNOS_CIIYSA(buf_id)); 718 EXYNOS_CIIYSA0);
719 719
720 if (config->fmt == DRM_FORMAT_YVU420) { 720 if (config->fmt == DRM_FORMAT_YVU420) {
721 fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CR], 721 fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CR],
722 EXYNOS_CIICBSA(buf_id)); 722 EXYNOS_CIICBSA0);
723 fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CB], 723 fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CB],
724 EXYNOS_CIICRSA(buf_id)); 724 EXYNOS_CIICRSA0);
725 } else { 725 } else {
726 fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CB], 726 fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CB],
727 EXYNOS_CIICBSA(buf_id)); 727 EXYNOS_CIICBSA0);
728 fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CR], 728 fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CR],
729 EXYNOS_CIICRSA(buf_id)); 729 EXYNOS_CIICRSA0);
730 } 730 }
731 break; 731 break;
732 case IPP_BUF_DEQUEUE: 732 case IPP_BUF_DEQUEUE:
733 fimc_write(ctx, 0x0, EXYNOS_CIIYSA(buf_id)); 733 fimc_write(ctx, 0x0, EXYNOS_CIIYSA0);
734 fimc_write(ctx, 0x0, EXYNOS_CIICBSA(buf_id)); 734 fimc_write(ctx, 0x0, EXYNOS_CIICBSA0);
735 fimc_write(ctx, 0x0, EXYNOS_CIICRSA(buf_id)); 735 fimc_write(ctx, 0x0, EXYNOS_CIICRSA0);
736 break; 736 break;
737 default: 737 default:
738 /* bypass */ 738 /* bypass */