Skip to content

Commit 729c5f7

Browse files
committed
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: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com> Link: https://lore.kernel.org/r/d29f63e0118d002fc8edd368caea7e8185418e17.1756835342.git.jani.nikula@intel.com
1 parent fa48f63 commit 729c5f7

6 files changed

Lines changed: 31 additions & 32 deletions

File tree

drivers/gpu/drm/i915/display/intel_fb.c

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2343,7 +2343,22 @@ intel_user_framebuffer_create(struct drm_device *dev,
23432343

23442344
struct intel_framebuffer *intel_framebuffer_alloc(void)
23452345
{
2346-
return intel_bo_alloc_framebuffer();
2346+
struct intel_framebuffer *intel_fb;
2347+
struct intel_panic *panic;
2348+
2349+
intel_fb = kzalloc(sizeof(*intel_fb), GFP_KERNEL);
2350+
if (!intel_fb)
2351+
return NULL;
2352+
2353+
panic = intel_panic_alloc();
2354+
if (!panic) {
2355+
kfree(intel_fb);
2356+
return NULL;
2357+
}
2358+
2359+
intel_fb->panic = panic;
2360+
2361+
return intel_fb;
23472362
}
23482363

23492364
struct drm_framebuffer *

drivers/gpu/drm/i915/display/intel_panic.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
#include "gem/i915_gem_object.h"
55
#include "intel_panic.h"
66

7-
struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
7+
struct intel_panic *intel_panic_alloc(void)
88
{
9-
return i915_gem_object_alloc_framebuffer();
9+
return i915_gem_object_alloc_panic();
1010
}
1111

1212
int intel_panic_setup(struct drm_scanout_buffer *sb)

drivers/gpu/drm/i915/display/intel_panic.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66

77
struct drm_scanout_buffer;
88
struct intel_framebuffer;
9+
struct intel_panic;
910

10-
struct intel_framebuffer *intel_bo_alloc_framebuffer(void);
11+
struct intel_panic *intel_panic_alloc(void);
1112
int intel_panic_setup(struct drm_scanout_buffer *sb);
1213
void intel_panic_finish(struct intel_framebuffer *fb);
1314

drivers/gpu/drm/i915/gem/i915_gem_object.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
#include "i915_gem_ww.h"
1717
#include "i915_vma_types.h"
1818

19-
struct drm_scanout_buffer;
2019
enum intel_region_id;
20+
struct drm_scanout_buffer;
2121
struct intel_framebuffer;
22+
struct intel_panic;
2223

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

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

696-
struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void);
697+
struct intel_panic *i915_gem_object_alloc_panic(void);
697698
int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb);
698699
void i915_gem_object_panic_finish(struct intel_framebuffer *fb);
699700

drivers/gpu/drm/i915/gem/i915_gem_pages.c

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -363,11 +363,6 @@ struct intel_panic {
363363
void *vaddr;
364364
};
365365

366-
struct i915_framebuffer {
367-
struct intel_framebuffer base;
368-
struct intel_panic panic;
369-
};
370-
371366
static void i915_panic_kunmap(struct intel_panic *panic)
372367
{
373368
if (panic->vaddr) {
@@ -436,17 +431,13 @@ static void i915_gem_object_panic_page_set_pixel(struct drm_scanout_buffer *sb,
436431
}
437432
}
438433

439-
struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void)
434+
struct intel_panic *i915_gem_object_alloc_panic(void)
440435
{
441-
struct i915_framebuffer *i915_fb;
442-
443-
i915_fb = kzalloc(sizeof(*i915_fb), GFP_KERNEL);
444-
if (!i915_fb)
445-
return NULL;
436+
struct intel_panic *panic;
446437

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

449-
return &i915_fb->base;
440+
return panic;
450441
}
451442

452443
/*

drivers/gpu/drm/xe/display/xe_panic.c

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,6 @@ struct intel_panic {
1515
void *vaddr;
1616
};
1717

18-
struct xe_framebuffer {
19-
struct intel_framebuffer base;
20-
struct intel_panic panic;
21-
};
22-
2318
static void xe_panic_kunmap(struct intel_panic *panic)
2419
{
2520
if (panic->vaddr) {
@@ -62,17 +57,13 @@ static void xe_panic_page_set_pixel(struct drm_scanout_buffer *sb, unsigned int
6257
}
6358
}
6459

65-
struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
60+
struct intel_panic *intel_panic_alloc(void)
6661
{
67-
struct xe_framebuffer *xe_fb;
68-
69-
xe_fb = kzalloc(sizeof(*xe_fb), GFP_KERNEL);
70-
if (!xe_fb)
71-
return NULL;
62+
struct intel_panic *panic;
7263

73-
xe_fb->base.panic = &xe_fb->panic;
64+
panic = kzalloc(sizeof(*panic), GFP_KERNEL);
7465

75-
return &xe_fb->base;
66+
return panic;
7667
}
7768

7869
int intel_panic_setup(struct drm_scanout_buffer *sb)

0 commit comments

Comments
 (0)