[PATCH 7/9] drm/i915: Change intel_fbdev_fb_alloc() reuturn type
Jani Nikula
jani.nikula at linux.intel.com
Mon May 6 14:16:50 UTC 2024
*return in subject
On Mon, 06 May 2024, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at 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.syrjala at 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
More information about the Intel-gfx
mailing list