On Fri, 10 May 2024, Ville Syrjala <ville.syrj...@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrj...@linux.intel.com>
>
> Change intel_fbdev_fb_alloc() to return struct intel_fb instead
> of struct drm_framebuffer. Let's us eliminate some annoying
> aliasing variables in the fbdev setup code.
>
> v2: Assing the results to the correct variable (Jani)
>     Fix xe's copy
>
> Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nik...@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_fbdev.c    | 9 ++++-----
>  drivers/gpu/drm/i915/display/intel_fbdev_fb.c | 6 +++---
>  drivers/gpu/drm/i915/display/intel_fbdev_fb.h | 4 ++--
>  drivers/gpu/drm/xe/display/intel_fbdev_fb.c   | 9 +++++----
>  4 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c 
> b/drivers/gpu/drm/i915/display/intel_fbdev.c
> index bda702c2cab8..4bbbf481bb3a 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
> @@ -207,13 +207,12 @@ static int intelfb_create(struct drm_fb_helper *helper,
>               intel_fb = ifbdev->fb = NULL;
>       }
>       if (!intel_fb || drm_WARN_ON(dev, !intel_fb_obj(&intel_fb->base))) {
> -             struct drm_framebuffer *fb;
>               drm_dbg_kms(&dev_priv->drm,
>                           "no BIOS fb, allocating a new one\n");
> -             fb = intel_fbdev_fb_alloc(helper, sizes);
> -             if (IS_ERR(fb))
> -                     return PTR_ERR(fb);
> -             intel_fb = ifbdev->fb = to_intel_framebuffer(fb);
> +             intel_fb = intel_fbdev_fb_alloc(helper, sizes);
> +             if (IS_ERR(intel_fb))
> +                     return PTR_ERR(intel_fb);
> +             ifbdev->fb = intel_fb;
>       } else {
>               drm_dbg_kms(&dev_priv->drm, "re-using BIOS fb\n");
>               prealloc = true;
> diff --git a/drivers/gpu/drm/i915/display/intel_fbdev_fb.c 
> b/drivers/gpu/drm/i915/display/intel_fbdev_fb.c
> index 0665f943f65f..497525ef9668 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbdev_fb.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbdev_fb.c
> @@ -11,8 +11,8 @@
>  #include "intel_display_types.h"
>  #include "intel_fbdev_fb.h"
>  
> -struct drm_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
> -                                          struct drm_fb_helper_surface_size 
> *sizes)
> +struct intel_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
> +                                            struct 
> drm_fb_helper_surface_size *sizes)
>  {
>       struct drm_framebuffer *fb;
>       struct drm_device *dev = helper->dev;
> @@ -63,7 +63,7 @@ struct drm_framebuffer *intel_fbdev_fb_alloc(struct 
> drm_fb_helper *helper,
>       fb = intel_framebuffer_create(obj, &mode_cmd);
>       i915_gem_object_put(obj);
>  
> -     return fb;
> +     return to_intel_framebuffer(fb);
>  }
>  
>  int intel_fbdev_fb_fill_info(struct drm_i915_private *i915, struct fb_info 
> *info,
> diff --git a/drivers/gpu/drm/i915/display/intel_fbdev_fb.h 
> b/drivers/gpu/drm/i915/display/intel_fbdev_fb.h
> index a395b2c65d33..4832fe688fbf 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbdev_fb.h
> +++ b/drivers/gpu/drm/i915/display/intel_fbdev_fb.h
> @@ -13,8 +13,8 @@ struct drm_i915_private;
>  struct fb_info;
>  struct i915_vma;
>  
> -struct drm_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
> -                                          struct drm_fb_helper_surface_size 
> *sizes);
> +struct intel_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
> +                                            struct 
> drm_fb_helper_surface_size *sizes);
>  int intel_fbdev_fb_fill_info(struct drm_i915_private *i915, struct fb_info 
> *info,
>                            struct drm_i915_gem_object *obj, struct i915_vma 
> *vma);
>  
> diff --git a/drivers/gpu/drm/xe/display/intel_fbdev_fb.c 
> b/drivers/gpu/drm/xe/display/intel_fbdev_fb.c
> index 9e4bcfdbc7e5..f6bf5896ff1b 100644
> --- a/drivers/gpu/drm/xe/display/intel_fbdev_fb.c
> +++ b/drivers/gpu/drm/xe/display/intel_fbdev_fb.c
> @@ -13,8 +13,8 @@
>  #include "i915_drv.h"
>  #include "intel_display_types.h"
>  
> -struct drm_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
> -                      struct drm_fb_helper_surface_size *sizes)
> +struct intel_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
> +                                            struct 
> drm_fb_helper_surface_size *sizes)
>  {
>       struct drm_framebuffer *fb;
>       struct drm_device *dev = helper->dev;
> @@ -70,10 +70,11 @@ struct drm_framebuffer *intel_fbdev_fb_alloc(struct 
> drm_fb_helper *helper,
>       }
>  
>       drm_gem_object_put(intel_bo_to_drm_bo(obj));
> -     return fb;
> +
> +     return to_intel_framebuffer(fb);
>  
>  err:
> -     return fb;
> +     return ERR_CAST(fb);
>  }
>  
>  int intel_fbdev_fb_fill_info(struct drm_i915_private *i915, struct fb_info 
> *info,

-- 
Jani Nikula, Intel

Reply via email to