summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/display/intel_fb.c17
-rw-r--r--drivers/gpu/drm/i915/display/intel_panic.c4
-rw-r--r--drivers/gpu/drm/i915/display/intel_panic.h3
-rw-r--r--drivers/gpu/drm/i915/gem/i915_gem_object.h5
-rw-r--r--drivers/gpu/drm/i915/gem/i915_gem_pages.c17
-rw-r--r--drivers/gpu/drm/xe/display/xe_panic.c17
6 files changed, 31 insertions, 32 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
index 4b415dfb5a66..c55855729628 100644
--- a/drivers/gpu/drm/i915/display/intel_fb.c
+++ b/drivers/gpu/drm/i915/display/intel_fb.c
@@ -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 *
diff --git a/drivers/gpu/drm/i915/display/intel_panic.c b/drivers/gpu/drm/i915/display/intel_panic.c
index 20eecb0f168f..5431bd4d3a7d 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.c
+++ b/drivers/gpu/drm/i915/display/intel_panic.c
@@ -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)
diff --git a/drivers/gpu/drm/i915/display/intel_panic.h b/drivers/gpu/drm/i915/display/intel_panic.h
index 67ce253fcdf5..45ce6104e6fb 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.h
+++ b/drivers/gpu/drm/i915/display/intel_panic.h
@@ -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);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
index 565f8fa330db..9b3f25cb48db 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
@@ -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);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
index e36d60b785b1..b219474aecc7 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
@@ -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;
}
/*
diff --git a/drivers/gpu/drm/xe/display/xe_panic.c b/drivers/gpu/drm/xe/display/xe_panic.c
index 3ef23a6795b3..b5a7615708a1 100644
--- a/drivers/gpu/drm/xe/display/xe_panic.c
+++ b/drivers/gpu/drm/xe/display/xe_panic.c
@@ -15,11 +15,6 @@ struct intel_panic {
void *vaddr;
};
-struct xe_framebuffer {
- struct intel_framebuffer base;
- struct intel_panic panic;
-};
-
static void xe_panic_kunmap(struct intel_panic *panic)
{
if (panic->vaddr) {
@@ -62,17 +57,13 @@ static void xe_panic_page_set_pixel(struct drm_scanout_buffer *sb, unsigned int
}
}
-struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
+struct intel_panic *intel_panic_alloc(void)
{
- struct xe_framebuffer *xe_fb;
-
- xe_fb = kzalloc(sizeof(*xe_fb), GFP_KERNEL);
- if (!xe_fb)
- return NULL;
+ struct intel_panic *panic;
- xe_fb->base.panic = &xe_fb->panic;
+ panic = kzalloc(sizeof(*panic), GFP_KERNEL);
- return &xe_fb->base;
+ return panic;
}
int intel_panic_setup(struct drm_scanout_buffer *sb)