diff mbox

[v2] drm/exynos: add has_vtsel flag

Message ID 1415932564-16463-1-git-send-email-jy0922.shim@samsung.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Joonyoung Shim Nov. 14, 2014, 2:36 a.m. UTC
The exynos fimd provides video type selection bits from system register
but exynos3 series don't has it, so needs has_vtsel flag and we can
distinguish whether set video type selection bits.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
---
Changelog from v1:
- rebase on latest exynos-drm-next branch
- add has_vtsel for exynos4415

 drivers/gpu/drm/exynos/exynos_drm_fimd.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Inki Dae Nov. 14, 2014, 2:56 a.m. UTC | #1
On 2014? 11? 14? 11:36, Joonyoung Shim wrote:
> The exynos fimd provides video type selection bits from system register
> but exynos3 series don't has it, so needs has_vtsel flag and we can
> distinguish whether set video type selection bits.

Applied.

Thanks,
Inki Dae

> 
> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
> ---
> Changelog from v1:
> - rebase on latest exynos-drm-next branch
> - add has_vtsel for exynos4415
> 
>  drivers/gpu/drm/exynos/exynos_drm_fimd.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index 5cc57f7..93b263e 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -96,6 +96,7 @@ struct fimd_driver_data {
>  	unsigned int has_clksel:1;
>  	unsigned int has_limited_fmt:1;
>  	unsigned int has_vidoutcon:1;
> +	unsigned int has_vtsel:1;
>  };
>  
>  static struct fimd_driver_data s3c64xx_fimd_driver_data = {
> @@ -118,6 +119,7 @@ static struct fimd_driver_data exynos4_fimd_driver_data = {
>  	.lcdblk_vt_shift = 10,
>  	.lcdblk_bypass_shift = 1,
>  	.has_shadowcon = 1,
> +	.has_vtsel = 1,
>  };
>  
>  static struct fimd_driver_data exynos4415_fimd_driver_data = {
> @@ -127,6 +129,7 @@ static struct fimd_driver_data exynos4415_fimd_driver_data = {
>  	.lcdblk_bypass_shift = 1,
>  	.has_shadowcon = 1,
>  	.has_vidoutcon = 1,
> +	.has_vtsel = 1,
>  };
>  
>  static struct fimd_driver_data exynos5_fimd_driver_data = {
> @@ -136,6 +139,7 @@ static struct fimd_driver_data exynos5_fimd_driver_data = {
>  	.lcdblk_bypass_shift = 15,
>  	.has_shadowcon = 1,
>  	.has_vidoutcon = 1,
> +	.has_vtsel = 1,
>  };
>  
>  struct fimd_win_data {
> @@ -354,7 +358,8 @@ static void fimd_commit(struct exynos_drm_manager *mgr)
>  		writel(0, timing_base + I80IFCONFBx(0));
>  
>  		/* set video type selection to I80 interface */
> -		if (ctx->sysreg && regmap_update_bits(ctx->sysreg,
> +		if (driver_data->has_vtsel && ctx->sysreg &&
> +				regmap_update_bits(ctx->sysreg,
>  					driver_data->lcdblk_offset,
>  					0x3 << driver_data->lcdblk_vt_shift,
>  					0x1 << driver_data->lcdblk_vt_shift)) {
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 5cc57f7..93b263e 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -96,6 +96,7 @@  struct fimd_driver_data {
 	unsigned int has_clksel:1;
 	unsigned int has_limited_fmt:1;
 	unsigned int has_vidoutcon:1;
+	unsigned int has_vtsel:1;
 };
 
 static struct fimd_driver_data s3c64xx_fimd_driver_data = {
@@ -118,6 +119,7 @@  static struct fimd_driver_data exynos4_fimd_driver_data = {
 	.lcdblk_vt_shift = 10,
 	.lcdblk_bypass_shift = 1,
 	.has_shadowcon = 1,
+	.has_vtsel = 1,
 };
 
 static struct fimd_driver_data exynos4415_fimd_driver_data = {
@@ -127,6 +129,7 @@  static struct fimd_driver_data exynos4415_fimd_driver_data = {
 	.lcdblk_bypass_shift = 1,
 	.has_shadowcon = 1,
 	.has_vidoutcon = 1,
+	.has_vtsel = 1,
 };
 
 static struct fimd_driver_data exynos5_fimd_driver_data = {
@@ -136,6 +139,7 @@  static struct fimd_driver_data exynos5_fimd_driver_data = {
 	.lcdblk_bypass_shift = 15,
 	.has_shadowcon = 1,
 	.has_vidoutcon = 1,
+	.has_vtsel = 1,
 };
 
 struct fimd_win_data {
@@ -354,7 +358,8 @@  static void fimd_commit(struct exynos_drm_manager *mgr)
 		writel(0, timing_base + I80IFCONFBx(0));
 
 		/* set video type selection to I80 interface */
-		if (ctx->sysreg && regmap_update_bits(ctx->sysreg,
+		if (driver_data->has_vtsel && ctx->sysreg &&
+				regmap_update_bits(ctx->sysreg,
 					driver_data->lcdblk_offset,
 					0x3 << driver_data->lcdblk_vt_shift,
 					0x1 << driver_data->lcdblk_vt_shift)) {