diff options
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_fbc.c')
| -rw-r--r-- | drivers/gpu/drm/i915/display/intel_fbc.c | 68 | 
1 files changed, 34 insertions, 34 deletions
| diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c index 5fd4fa4805ef..957252b695d7 100644 --- a/drivers/gpu/drm/i915/display/intel_fbc.c +++ b/drivers/gpu/drm/i915/display/intel_fbc.c @@ -67,9 +67,9 @@ static int intel_fbc_calculate_cfb_size(struct drm_i915_private *dev_priv,  	int lines;  	intel_fbc_get_plane_source_size(cache, NULL, &lines); -	if (IS_GEN(dev_priv, 7)) +	if (IS_DISPLAY_VER(dev_priv, 7))  		lines = min(lines, 2048); -	else if (INTEL_GEN(dev_priv) >= 8) +	else if (DISPLAY_VER(dev_priv) >= 8)  		lines = min(lines, 2560);  	/* Hardware needs the full buffer stride, not just the active area. */ @@ -109,7 +109,7 @@ static void i8xx_fbc_activate(struct drm_i915_private *dev_priv)  		cfb_pitch = params->fb.stride;  	/* FBC_CTL wants 32B or 64B units */ -	if (IS_GEN(dev_priv, 2)) +	if (IS_DISPLAY_VER(dev_priv, 2))  		cfb_pitch = (cfb_pitch / 32) - 1;  	else  		cfb_pitch = (cfb_pitch / 64) - 1; @@ -118,7 +118,7 @@ static void i8xx_fbc_activate(struct drm_i915_private *dev_priv)  	for (i = 0; i < (FBC_LL_SIZE / 32) + 1; i++)  		intel_de_write(dev_priv, FBC_TAG(i), 0); -	if (IS_GEN(dev_priv, 4)) { +	if (IS_DISPLAY_VER(dev_priv, 4)) {  		u32 fbc_ctl2;  		/* Set it up... */ @@ -222,9 +222,9 @@ static void snb_fbc_recompress(struct drm_i915_private *dev_priv)  static void intel_fbc_recompress(struct drm_i915_private *dev_priv)  { -	if (INTEL_GEN(dev_priv) >= 6) +	if (DISPLAY_VER(dev_priv) >= 6)  		snb_fbc_recompress(dev_priv); -	else if (INTEL_GEN(dev_priv) >= 4) +	else if (DISPLAY_VER(dev_priv) >= 4)  		i965_fbc_recompress(dev_priv);  	else  		i8xx_fbc_recompress(dev_priv); @@ -255,16 +255,16 @@ static void ilk_fbc_activate(struct drm_i915_private *dev_priv)  	if (params->fence_id >= 0) {  		dpfc_ctl |= DPFC_CTL_FENCE_EN; -		if (IS_GEN(dev_priv, 5)) +		if (IS_IRONLAKE(dev_priv))  			dpfc_ctl |= params->fence_id; -		if (IS_GEN(dev_priv, 6)) { +		if (IS_SANDYBRIDGE(dev_priv)) {  			intel_de_write(dev_priv, SNB_DPFC_CTL_SA,  				       SNB_CPU_FENCE_ENABLE | params->fence_id);  			intel_de_write(dev_priv, DPFC_CPU_FENCE_OFFSET,  				       params->fence_y_offset);  		}  	} else { -		if (IS_GEN(dev_priv, 6)) { +		if (IS_SANDYBRIDGE(dev_priv)) {  			intel_de_write(dev_priv, SNB_DPFC_CTL_SA, 0);  			intel_de_write(dev_priv, DPFC_CPU_FENCE_OFFSET, 0);  		} @@ -354,7 +354,7 @@ static void gen7_fbc_activate(struct drm_i915_private *dev_priv)  static bool intel_fbc_hw_is_active(struct drm_i915_private *dev_priv)  { -	if (INTEL_GEN(dev_priv) >= 5) +	if (DISPLAY_VER(dev_priv) >= 5)  		return ilk_fbc_is_active(dev_priv);  	else if (IS_GM45(dev_priv))  		return g4x_fbc_is_active(dev_priv); @@ -371,9 +371,9 @@ static void intel_fbc_hw_activate(struct drm_i915_private *dev_priv)  	fbc->active = true;  	fbc->activated = true; -	if (INTEL_GEN(dev_priv) >= 7) +	if (DISPLAY_VER(dev_priv) >= 7)  		gen7_fbc_activate(dev_priv); -	else if (INTEL_GEN(dev_priv) >= 5) +	else if (DISPLAY_VER(dev_priv) >= 5)  		ilk_fbc_activate(dev_priv);  	else if (IS_GM45(dev_priv))  		g4x_fbc_activate(dev_priv); @@ -389,7 +389,7 @@ static void intel_fbc_hw_deactivate(struct drm_i915_private *dev_priv)  	fbc->active = false; -	if (INTEL_GEN(dev_priv) >= 5) +	if (DISPLAY_VER(dev_priv) >= 5)  		ilk_fbc_deactivate(dev_priv);  	else if (IS_GM45(dev_priv))  		g4x_fbc_deactivate(dev_priv); @@ -426,7 +426,7 @@ static void intel_fbc_deactivate(struct drm_i915_private *dev_priv,  static u64 intel_fbc_cfb_base_max(struct drm_i915_private *i915)  { -	if (INTEL_GEN(i915) >= 5 || IS_G4X(i915)) +	if (DISPLAY_VER(i915) >= 5 || IS_G4X(i915))  		return BIT_ULL(28);  	else  		return BIT_ULL(32); @@ -473,7 +473,7 @@ again:  	ret = i915_gem_stolen_insert_node_in_range(dev_priv, node, size >>= 1,  						   4096, 0, end); -	if (ret && INTEL_GEN(dev_priv) <= 4) { +	if (ret && DISPLAY_VER(dev_priv) <= 4) {  		return 0;  	} else if (ret) {  		compression_threshold <<= 1; @@ -504,7 +504,7 @@ static int intel_fbc_alloc_cfb(struct drm_i915_private *dev_priv,  	fbc->threshold = ret; -	if (INTEL_GEN(dev_priv) >= 5) +	if (DISPLAY_VER(dev_priv) >= 5)  		intel_de_write(dev_priv, ILK_DPFC_CB_BASE,  			       fbc->compressed_fb.start);  	else if (IS_GM45(dev_priv)) { @@ -590,14 +590,14 @@ static bool stride_is_valid(struct drm_i915_private *dev_priv,  	if (stride < 512)  		return false; -	if (IS_GEN(dev_priv, 2) || IS_GEN(dev_priv, 3)) +	if (IS_DISPLAY_VER(dev_priv, 2) || IS_DISPLAY_VER(dev_priv, 3))  		return stride == 4096 || stride == 8192; -	if (IS_GEN(dev_priv, 4) && !IS_G4X(dev_priv) && stride < 2048) +	if (IS_DISPLAY_VER(dev_priv, 4) && !IS_G4X(dev_priv) && stride < 2048)  		return false;  	/* Display WA #1105: skl,bxt,kbl,cfl,glk */ -	if (IS_GEN(dev_priv, 9) && +	if ((IS_DISPLAY_VER(dev_priv, 9) || IS_GEMINILAKE(dev_priv)) &&  	    modifier == DRM_FORMAT_MOD_LINEAR && stride & 511)  		return false; @@ -617,7 +617,7 @@ static bool pixel_format_is_valid(struct drm_i915_private *dev_priv,  	case DRM_FORMAT_XRGB1555:  	case DRM_FORMAT_RGB565:  		/* 16bpp not supported on gen2 */ -		if (IS_GEN(dev_priv, 2)) +		if (IS_DISPLAY_VER(dev_priv, 2))  			return false;  		/* WaFbcOnly1to1Ratio:ctg */  		if (IS_G4X(dev_priv)) @@ -631,10 +631,10 @@ static bool pixel_format_is_valid(struct drm_i915_private *dev_priv,  static bool rotation_is_valid(struct drm_i915_private *dev_priv,  			      u32 pixel_format, unsigned int rotation)  { -	if (INTEL_GEN(dev_priv) >= 9 && pixel_format == DRM_FORMAT_RGB565 && +	if (DISPLAY_VER(dev_priv) >= 9 && pixel_format == DRM_FORMAT_RGB565 &&  	    drm_rotation_90_or_270(rotation))  		return false; -	else if (INTEL_GEN(dev_priv) <= 4 && !IS_G4X(dev_priv) && +	else if (DISPLAY_VER(dev_priv) <= 4 && !IS_G4X(dev_priv) &&  		 rotation != DRM_MODE_ROTATE_0)  		return false; @@ -653,13 +653,13 @@ static bool intel_fbc_hw_tracking_covers_screen(struct intel_crtc *crtc)  	struct intel_fbc *fbc = &dev_priv->fbc;  	unsigned int effective_w, effective_h, max_w, max_h; -	if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) { +	if (DISPLAY_VER(dev_priv) >= 10) {  		max_w = 5120;  		max_h = 4096; -	} else if (INTEL_GEN(dev_priv) >= 8 || IS_HASWELL(dev_priv)) { +	} else if (DISPLAY_VER(dev_priv) >= 8 || IS_HASWELL(dev_priv)) {  		max_w = 4096;  		max_h = 4096; -	} else if (IS_G4X(dev_priv) || INTEL_GEN(dev_priv) >= 5) { +	} else if (IS_G4X(dev_priv) || DISPLAY_VER(dev_priv) >= 5) {  		max_w = 4096;  		max_h = 2048;  	} else { @@ -680,7 +680,7 @@ static bool tiling_is_valid(struct drm_i915_private *dev_priv,  {  	switch (modifier) {  	case DRM_FORMAT_MOD_LINEAR: -		if (INTEL_GEN(dev_priv) >= 9) +		if (DISPLAY_VER(dev_priv) >= 9)  			return true;  		return false;  	case I915_FORMAT_MOD_X_TILED: @@ -716,8 +716,8 @@ static void intel_fbc_update_state_cache(struct intel_crtc *crtc,  	 */  	cache->plane.src_w = drm_rect_width(&plane_state->uapi.src) >> 16;  	cache->plane.src_h = drm_rect_height(&plane_state->uapi.src) >> 16; -	cache->plane.adjusted_x = plane_state->color_plane[0].x; -	cache->plane.adjusted_y = plane_state->color_plane[0].y; +	cache->plane.adjusted_x = plane_state->view.color_plane[0].x; +	cache->plane.adjusted_y = plane_state->view.color_plane[0].y;  	cache->plane.pixel_blend_mode = plane_state->hw.pixel_blend_mode; @@ -725,7 +725,7 @@ static void intel_fbc_update_state_cache(struct intel_crtc *crtc,  	cache->fb.modifier = fb->modifier;  	/* FIXME is this correct? */ -	cache->fb.stride = plane_state->color_plane[0].stride; +	cache->fb.stride = plane_state->view.color_plane[0].stride;  	if (drm_rotation_90_or_270(plane_state->hw.rotation))  		cache->fb.stride *= fb->format->cpp[0]; @@ -844,7 +844,7 @@ static bool intel_fbc_can_activate(struct intel_crtc *crtc)  	 * For now this will effectively disable FBC with 90/270 degree  	 * rotation.  	 */ -	if (INTEL_GEN(dev_priv) < 9 && cache->fence_id < 0) { +	if (DISPLAY_VER(dev_priv) < 9 && cache->fence_id < 0) {  		fbc->no_fbc_reason = "framebuffer not tiled or fenced";  		return false;  	} @@ -903,14 +903,14 @@ static bool intel_fbc_can_activate(struct intel_crtc *crtc)  	 * having a Y offset that isn't divisible by 4 causes FIFO underrun  	 * and screen flicker.  	 */ -	if (INTEL_GEN(dev_priv) >= 9 && +	if (DISPLAY_VER(dev_priv) >= 9 &&  	    (fbc->state_cache.plane.adjusted_y & 3)) {  		fbc->no_fbc_reason = "plane Y offset is misaligned";  		return false;  	}  	/* Wa_22010751166: icl, ehl, tgl, dg1, rkl */ -	if (INTEL_GEN(dev_priv) >= 11 && +	if (DISPLAY_VER(dev_priv) >= 11 &&  	    (cache->plane.src_h + cache->plane.adjusted_y) % 4) {  		fbc->no_fbc_reason = "plane height + offset is non-modulo of 4";  		return false; @@ -1036,7 +1036,7 @@ bool intel_fbc_pre_update(struct intel_atomic_state *state,  		 * if at least one frame has already passed.  		 */  		if (fbc->activated && -		    (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))) +		    DISPLAY_VER(dev_priv) >= 10)  			need_vblank_wait = true;  		fbc->activated = false;  	} @@ -1445,7 +1445,7 @@ static int intel_sanitize_fbc_option(struct drm_i915_private *dev_priv)  	if (!HAS_FBC(dev_priv))  		return 0; -	if (IS_BROADWELL(dev_priv) || INTEL_GEN(dev_priv) >= 9) +	if (IS_BROADWELL(dev_priv) || DISPLAY_VER(dev_priv) >= 9)  		return 1;  	return 0; | 
