Commit 729c5f7f authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/{i915,xe}/panic: move framebuffer allocation where it belongs



The struct intel_framebuffer allocation naturally belongs in intel_fb.c,
not hidden inside panic implementation. Separate the panic
allocation. Drop the unnecessary struct i915_framebuffer and struct
xe_framebuffer types.

Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Maarten Lankhorst <dev@lankhorst.se>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Reviewed-by: default avatarJocelyn Falempe <jfalempe@redhat.com>
Link: https://lore.kernel.org/r/d29f63e0118d002fc8edd368caea7e8185418e17.1756835342.git.jani.nikula@intel.com
parent fa48f633
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -2343,7 +2343,22 @@ intel_user_framebuffer_create(struct drm_device *dev,

struct intel_framebuffer *intel_framebuffer_alloc(void)
{
	return intel_bo_alloc_framebuffer();
	struct intel_framebuffer *intel_fb;
	struct intel_panic *panic;

	intel_fb = kzalloc(sizeof(*intel_fb), GFP_KERNEL);
	if (!intel_fb)
		return NULL;

	panic = intel_panic_alloc();
	if (!panic) {
		kfree(intel_fb);
		return NULL;
	}

	intel_fb->panic = panic;

	return intel_fb;
}

struct drm_framebuffer *
+2 −2
Original line number Diff line number Diff line
@@ -4,9 +4,9 @@
#include "gem/i915_gem_object.h"
#include "intel_panic.h"

struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
struct intel_panic *intel_panic_alloc(void)
{
	return i915_gem_object_alloc_framebuffer();
	return i915_gem_object_alloc_panic();
}

int intel_panic_setup(struct drm_scanout_buffer *sb)
+2 −1
Original line number Diff line number Diff line
@@ -6,8 +6,9 @@

struct drm_scanout_buffer;
struct intel_framebuffer;
struct intel_panic;

struct intel_framebuffer *intel_bo_alloc_framebuffer(void);
struct intel_panic *intel_panic_alloc(void);
int intel_panic_setup(struct drm_scanout_buffer *sb);
void intel_panic_finish(struct intel_framebuffer *fb);

+3 −2
Original line number Diff line number Diff line
@@ -16,9 +16,10 @@
#include "i915_gem_ww.h"
#include "i915_vma_types.h"

struct drm_scanout_buffer;
enum intel_region_id;
struct drm_scanout_buffer;
struct intel_framebuffer;
struct intel_panic;

#define obj_to_i915(obj__) to_i915((obj__)->base.dev)

@@ -693,7 +694,7 @@ i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj)
int __i915_gem_object_put_pages(struct drm_i915_gem_object *obj);
int i915_gem_object_truncate(struct drm_i915_gem_object *obj);

struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void);
struct intel_panic *i915_gem_object_alloc_panic(void);
int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb);
void i915_gem_object_panic_finish(struct intel_framebuffer *fb);

+4 −13
Original line number Diff line number Diff line
@@ -363,11 +363,6 @@ struct intel_panic {
	void *vaddr;
};

struct i915_framebuffer {
	struct intel_framebuffer base;
	struct intel_panic panic;
};

static void i915_panic_kunmap(struct intel_panic *panic)
{
	if (panic->vaddr) {
@@ -436,17 +431,13 @@ static void i915_gem_object_panic_page_set_pixel(struct drm_scanout_buffer *sb,
	}
}

struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void)
struct intel_panic *i915_gem_object_alloc_panic(void)
{
	struct i915_framebuffer *i915_fb;

	i915_fb = kzalloc(sizeof(*i915_fb), GFP_KERNEL);
	if (!i915_fb)
		return NULL;
	struct intel_panic *panic;

	i915_fb->base.panic = &i915_fb->panic;
	panic = kzalloc(sizeof(*panic), GFP_KERNEL);

	return &i915_fb->base;
	return panic;
}

/*
Loading