*return in subject

On Mon, 06 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.

You'll need to enable DRM_XE=m and DRM_XE_DISPLAY=y configs, this will
fail the build there. ;)

>
> Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_fbdev.c    | 10 +++++-----
>  drivers/gpu/drm/i915/display/intel_fbdev_fb.c |  6 +++---
>  drivers/gpu/drm/i915/display/intel_fbdev_fb.h |  5 +++--
>  3 files changed, 11 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c 
> b/drivers/gpu/drm/i915/display/intel_fbdev.c
> index bda702c2cab8..0d79ec1a6427 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
> @@ -207,13 +207,13 @@ 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;
> +             struct intel_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);

Now you have both fb in block context and intel_fb in the function
context, and I think there's some confusion here.

BR,
Jani.

> +             if (IS_ERR(intel_fb))
> +                     return PTR_ERR(intel_fb);
> +             ifbdev->fb = 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..82e8e7cc007b 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbdev_fb.h
> +++ b/drivers/gpu/drm/i915/display/intel_fbdev_fb.h
> @@ -12,9 +12,10 @@ struct drm_i915_gem_object;
>  struct drm_i915_private;
>  struct fb_info;
>  struct i915_vma;
> +struct intel_framebuffer;
>  
> -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);

-- 
Jani Nikula, Intel

Reply via email to