mirror of
https://github.com/torvalds/linux.git
synced 2025-11-04 18:49:34 +02:00
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
This commit is contained in:
parent
fa48f6335a
commit
729c5f7ffa
6 changed files with 31 additions and 32 deletions
|
|
@ -2343,7 +2343,22 @@ intel_user_framebuffer_create(struct drm_device *dev,
|
||||||
|
|
||||||
struct intel_framebuffer *intel_framebuffer_alloc(void)
|
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 *
|
struct drm_framebuffer *
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,9 @@
|
||||||
#include "gem/i915_gem_object.h"
|
#include "gem/i915_gem_object.h"
|
||||||
#include "intel_panic.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)
|
int intel_panic_setup(struct drm_scanout_buffer *sb)
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,9 @@
|
||||||
|
|
||||||
struct drm_scanout_buffer;
|
struct drm_scanout_buffer;
|
||||||
struct intel_framebuffer;
|
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);
|
int intel_panic_setup(struct drm_scanout_buffer *sb);
|
||||||
void intel_panic_finish(struct intel_framebuffer *fb);
|
void intel_panic_finish(struct intel_framebuffer *fb);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,9 +16,10 @@
|
||||||
#include "i915_gem_ww.h"
|
#include "i915_gem_ww.h"
|
||||||
#include "i915_vma_types.h"
|
#include "i915_vma_types.h"
|
||||||
|
|
||||||
struct drm_scanout_buffer;
|
|
||||||
enum intel_region_id;
|
enum intel_region_id;
|
||||||
|
struct drm_scanout_buffer;
|
||||||
struct intel_framebuffer;
|
struct intel_framebuffer;
|
||||||
|
struct intel_panic;
|
||||||
|
|
||||||
#define obj_to_i915(obj__) to_i915((obj__)->base.dev)
|
#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_put_pages(struct drm_i915_gem_object *obj);
|
||||||
int i915_gem_object_truncate(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);
|
int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb);
|
||||||
void i915_gem_object_panic_finish(struct intel_framebuffer *fb);
|
void i915_gem_object_panic_finish(struct intel_framebuffer *fb);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -363,11 +363,6 @@ struct intel_panic {
|
||||||
void *vaddr;
|
void *vaddr;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct i915_framebuffer {
|
|
||||||
struct intel_framebuffer base;
|
|
||||||
struct intel_panic panic;
|
|
||||||
};
|
|
||||||
|
|
||||||
static void i915_panic_kunmap(struct intel_panic *panic)
|
static void i915_panic_kunmap(struct intel_panic *panic)
|
||||||
{
|
{
|
||||||
if (panic->vaddr) {
|
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;
|
struct intel_panic *panic;
|
||||||
|
|
||||||
i915_fb = kzalloc(sizeof(*i915_fb), GFP_KERNEL);
|
panic = kzalloc(sizeof(*panic), GFP_KERNEL);
|
||||||
if (!i915_fb)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
i915_fb->base.panic = &i915_fb->panic;
|
return panic;
|
||||||
|
|
||||||
return &i915_fb->base;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,6 @@ struct intel_panic {
|
||||||
void *vaddr;
|
void *vaddr;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct xe_framebuffer {
|
|
||||||
struct intel_framebuffer base;
|
|
||||||
struct intel_panic panic;
|
|
||||||
};
|
|
||||||
|
|
||||||
static void xe_panic_kunmap(struct intel_panic *panic)
|
static void xe_panic_kunmap(struct intel_panic *panic)
|
||||||
{
|
{
|
||||||
if (panic->vaddr) {
|
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;
|
struct intel_panic *panic;
|
||||||
|
|
||||||
xe_fb = kzalloc(sizeof(*xe_fb), GFP_KERNEL);
|
panic = kzalloc(sizeof(*panic), GFP_KERNEL);
|
||||||
if (!xe_fb)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
xe_fb->base.panic = &xe_fb->panic;
|
return panic;
|
||||||
|
|
||||||
return &xe_fb->base;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int intel_panic_setup(struct drm_scanout_buffer *sb)
|
int intel_panic_setup(struct drm_scanout_buffer *sb)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue