diff options
| author | Jani Nikula <jani.nikula@intel.com> | 2025-09-02 20:51:50 +0300 |
|---|---|---|
| committer | Jani Nikula <jani.nikula@intel.com> | 2025-09-08 14:23:46 +0300 |
| commit | 4e839f2c7bafb18c450af78a1b6fc78e423a2039 (patch) | |
| tree | 12f2e88f8b4e633b2360fd8fe39ed9a05e90388a /drivers/gpu/drm/i915/gem | |
| parent | drm/{i915,xe}/panic: rename intel_bo_panic_*() to intel_panic_*() (diff) | |
| download | linux-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.c | 20 |
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; |
