aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/gem
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2025-09-02 20:51:50 +0300
committerJani Nikula <jani.nikula@intel.com>2025-09-08 14:23:46 +0300
commit4e839f2c7bafb18c450af78a1b6fc78e423a2039 (patch)
tree12f2e88f8b4e633b2360fd8fe39ed9a05e90388a /drivers/gpu/drm/i915/gem
parentdrm/{i915,xe}/panic: rename intel_bo_panic_*() to intel_panic_*() (diff)
downloadlinux-4e839f2c7bafb18c450af78a1b6fc78e423a2039.tar.gz
linux-4e839f2c7bafb18c450af78a1b6fc78e423a2039.zip
drm/{i915,xe}/fb: add panic pointer member to struct intel_framebuffer
Add a panic data pointer member in struct intel_framebuffer in preparation for breaking the artificial subclassing between intel_framebuffer and panic structures. 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/41f42e1de8545409274d54854aa12e0fb390e394.1756835342.git.jani.nikula@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/gem')
-rw-r--r--drivers/gpu/drm/i915/gem/i915_gem_pages.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
index c16a57160b26..c54ed1b33e60 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
@@ -368,11 +368,6 @@ struct i915_framebuffer {
struct i915_panic_data panic;
};
-static inline struct i915_panic_data *to_i915_panic_data(struct intel_framebuffer *fb)
-{
- return &container_of_const(fb, struct i915_framebuffer, base)->panic;
-}
-
static void i915_panic_kunmap(struct i915_panic_data *panic)
{
if (panic->vaddr) {
@@ -420,7 +415,7 @@ static void i915_gem_object_panic_page_set_pixel(struct drm_scanout_buffer *sb,
unsigned int new_page;
unsigned int offset;
struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct i915_panic_data *panic = to_i915_panic_data(fb);
+ struct i915_panic_data *panic = fb->panic;
if (fb->panic_tiling)
offset = fb->panic_tiling(sb->width, x, y);
@@ -446,9 +441,12 @@ struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void)
struct i915_framebuffer *i915_fb;
i915_fb = kzalloc(sizeof(*i915_fb), GFP_KERNEL);
- if (i915_fb)
- return &i915_fb->base;
- return NULL;
+ if (!i915_fb)
+ return NULL;
+
+ i915_fb->base.panic = &i915_fb->panic;
+
+ return &i915_fb->base;
}
/*
@@ -460,7 +458,7 @@ int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb)
{
enum i915_map_type has_type;
struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct i915_panic_data *panic = to_i915_panic_data(fb);
+ struct i915_panic_data *panic = fb->panic;
struct drm_i915_gem_object *obj = to_intel_bo(intel_fb_bo(&fb->base));
void *ptr;
@@ -488,7 +486,7 @@ int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb)
void i915_gem_object_panic_finish(struct intel_framebuffer *fb)
{
- struct i915_panic_data *panic = to_i915_panic_data(fb);
+ struct i915_panic_data *panic = fb->panic;
i915_panic_kunmap(panic);
panic->page = -1;