[Intel-gfx] [PATCH 10/13] drm/i915: Use crtc->state in intel_fbdev_init_bios

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Oct 3 14:18:56 UTC 2018


On Wed, Oct 03, 2018 at 03:37:12PM +0200, Maarten Lankhorst wrote:
> fbdev init shouldn't race with userspace since it's called from
> intel_modeset_init, so it's safe to dereference crtc->state and
> assume nothing changed yet.
> 
> At least not more harmful than crtc->config.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_fbdev.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
> index f99332972b7a..2480c7d6edee 100644
> --- a/drivers/gpu/drm/i915/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> @@ -593,7 +593,7 @@ static bool intel_fbdev_init_bios(struct drm_device *dev,
>  		 * pipe.  Note we need to use the selected fb's pitch and bpp
>  		 * rather than the current pipe's, since they differ.
>  		 */
> -		cur_size = intel_crtc->config->base.adjusted_mode.crtc_hdisplay;
> +		cur_size = crtc->state->adjusted_mode.crtc_hdisplay;

Yeah, we're alreday looking at crtc->state->active above, so this should
equally safe.

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

>  		cur_size = cur_size * fb->base.format->cpp[0];
>  		if (fb->base.pitches[0] < cur_size) {
>  			DRM_DEBUG_KMS("fb not wide enough for plane %c (%d vs %d)\n",
> @@ -603,13 +603,13 @@ static bool intel_fbdev_init_bios(struct drm_device *dev,
>  			break;
>  		}
>  
> -		cur_size = intel_crtc->config->base.adjusted_mode.crtc_vdisplay;
> +		cur_size = crtc->state->adjusted_mode.crtc_vdisplay;
>  		cur_size = intel_fb_align_height(&fb->base, 0, cur_size);
>  		cur_size *= fb->base.pitches[0];
>  		DRM_DEBUG_KMS("pipe %c area: %dx%d, bpp: %d, size: %d\n",
>  			      pipe_name(intel_crtc->pipe),
> -			      intel_crtc->config->base.adjusted_mode.crtc_hdisplay,
> -			      intel_crtc->config->base.adjusted_mode.crtc_vdisplay,
> +			      crtc->state->adjusted_mode.crtc_hdisplay,
> +			      crtc->state->adjusted_mode.crtc_vdisplay,
>  			      fb->base.format->cpp[0] * 8,
>  			      cur_size);
>  
> -- 
> 2.19.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list