diff options
Diffstat (limited to 'drivers/gpu/drm/aspeed/aspeed_gfx_crtc.c')
| -rw-r--r-- | drivers/gpu/drm/aspeed/aspeed_gfx_crtc.c | 15 | 
1 files changed, 8 insertions, 7 deletions
| diff --git a/drivers/gpu/drm/aspeed/aspeed_gfx_crtc.c b/drivers/gpu/drm/aspeed/aspeed_gfx_crtc.c index e54686c31a90..098f96d4d50d 100644 --- a/drivers/gpu/drm/aspeed/aspeed_gfx_crtc.c +++ b/drivers/gpu/drm/aspeed/aspeed_gfx_crtc.c @@ -9,8 +9,8 @@  #include <drm/drm_device.h>  #include <drm/drm_fb_cma_helper.h>  #include <drm/drm_fourcc.h> +#include <drm/drm_gem_atomic_helper.h>  #include <drm/drm_gem_cma_helper.h> -#include <drm/drm_gem_framebuffer_helper.h>  #include <drm/drm_panel.h>  #include <drm/drm_simple_kms_helper.h>  #include <drm/drm_vblank.h> @@ -59,8 +59,8 @@ static void aspeed_gfx_enable_controller(struct aspeed_gfx *priv)  	u32 ctrl1 = readl(priv->base + CRT_CTRL1);  	u32 ctrl2 = readl(priv->base + CRT_CTRL2); -	/* SCU2C: set DAC source for display output to Graphics CRT (GFX) */ -	regmap_update_bits(priv->scu, 0x2c, BIT(16), BIT(16)); +	/* Set DAC source for display output to Graphics CRT (GFX) */ +	regmap_update_bits(priv->scu, priv->dac_reg, BIT(16), BIT(16));  	writel(ctrl1 | CRT_CTRL_EN, priv->base + CRT_CTRL1);  	writel(ctrl2 | CRT_CTRL_DAC_EN, priv->base + CRT_CTRL2); @@ -74,7 +74,7 @@ static void aspeed_gfx_disable_controller(struct aspeed_gfx *priv)  	writel(ctrl1 & ~CRT_CTRL_EN, priv->base + CRT_CTRL1);  	writel(ctrl2 & ~CRT_CTRL_DAC_EN, priv->base + CRT_CTRL2); -	regmap_update_bits(priv->scu, 0x2c, BIT(16), 0); +	regmap_update_bits(priv->scu, priv->dac_reg, BIT(16), 0);  }  static void aspeed_gfx_crtc_mode_set_nofb(struct aspeed_gfx *priv) @@ -127,7 +127,8 @@ static void aspeed_gfx_crtc_mode_set_nofb(struct aspeed_gfx *priv)  	 * Terminal Count: memory size of one scan line  	 */  	d_offset = m->hdisplay * bpp / 8; -	t_count = (m->hdisplay * bpp + 127) / 128; +	t_count = DIV_ROUND_UP(m->hdisplay * bpp, priv->scan_line_max); +  	writel(CRT_DISP_OFFSET(d_offset) | CRT_TERM_COUNT(t_count),  			priv->base + CRT_OFFSET); @@ -135,7 +136,7 @@ static void aspeed_gfx_crtc_mode_set_nofb(struct aspeed_gfx *priv)  	 * Threshold: FIFO thresholds of refill and stop (16 byte chunks  	 * per line, rounded up)  	 */ -	writel(G5_CRT_THROD_VAL, priv->base + CRT_THROD); +	writel(priv->throd_val, priv->base + CRT_THROD);  }  static void aspeed_gfx_pipe_enable(struct drm_simple_display_pipe *pipe, @@ -219,7 +220,7 @@ static const struct drm_simple_display_pipe_funcs aspeed_gfx_funcs = {  	.enable		= aspeed_gfx_pipe_enable,  	.disable	= aspeed_gfx_pipe_disable,  	.update		= aspeed_gfx_pipe_update, -	.prepare_fb	= drm_gem_fb_simple_display_pipe_prepare_fb, +	.prepare_fb	= drm_gem_simple_display_pipe_prepare_fb,  	.enable_vblank	= aspeed_gfx_enable_vblank,  	.disable_vblank	= aspeed_gfx_disable_vblank,  }; | 
