drm/i915/panic: squash i915_panic.c into i915_gem_panic.c

Having two small files for panic handling is a bit too much. Merge
i915_panic.c into i915_gem_panic.c. This is just code movement, cleanups
will follow.

Cc: Jocelyn Falempe <jfalempe@redhat.com>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patch.msgid.link/4c294d6402e003040b934d94a0b14bd42704e21f.1780394867.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
Jani Nikula 2026-06-02 13:09:05 +03:00
parent d711dafc4a
commit 8430d20cad
6 changed files with 32 additions and 59 deletions

View File

@ -83,8 +83,7 @@ i915-y += \
i915_fb_pin.o \
i915_hdcp_gsc.o \
i915_initial_plane.o \
i915_overlay.o \
i915_panic.o
i915_overlay.o
# "Graphics Technology" (aka we talk to the gpu)
gt-y += \

View File

@ -3,6 +3,7 @@
#include <drm/drm_cache.h>
#include <drm/drm_panic.h>
#include <drm/intel/display_parent_interface.h>
#include "display/intel_fb.h"
#include "display/intel_display_types.h"
@ -83,7 +84,7 @@ static void i915_gem_object_panic_page_set_pixel(struct drm_scanout_buffer *sb,
}
}
struct intel_panic *i915_gem_object_alloc_panic(void)
static struct intel_panic *i915_gem_object_alloc_panic(void)
{
struct intel_panic *panic;
@ -97,8 +98,8 @@ struct intel_panic *i915_gem_object_alloc_panic(void)
* Use current vaddr if it exists, or setup a list of pages.
* pfn is not supported yet.
*/
int i915_gem_object_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb,
struct drm_gem_object *_obj, bool panic_tiling)
static int i915_gem_object_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb,
struct drm_gem_object *_obj, bool panic_tiling)
{
enum i915_map_type has_type;
struct drm_i915_gem_object *obj = to_intel_bo(_obj);
@ -126,10 +127,34 @@ int i915_gem_object_panic_setup(struct intel_panic *panic, struct drm_scanout_bu
return -EOPNOTSUPP;
}
void i915_gem_object_panic_finish(struct intel_panic *panic)
static void i915_gem_object_panic_finish(struct intel_panic *panic)
{
i915_panic_kunmap(panic);
panic->page = -1;
kfree(panic->pages);
panic->pages = NULL;
}
static struct intel_panic *intel_panic_alloc(void)
{
return i915_gem_object_alloc_panic();
}
static int intel_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb)
{
struct intel_framebuffer *fb = sb->private;
struct drm_gem_object *obj = intel_fb_bo(&fb->base);
return i915_gem_object_panic_setup(panic, sb, obj, fb->panic_tiling);
}
static void intel_panic_finish(struct intel_panic *panic)
{
return i915_gem_object_panic_finish(panic);
}
const struct intel_display_panic_interface i915_display_panic_interface = {
.alloc = intel_panic_alloc,
.setup = intel_panic_setup,
.finish = intel_panic_finish,
};

View File

@ -6,13 +6,6 @@
#include <linux/types.h>
struct drm_gem_object;
struct drm_scanout_buffer;
struct intel_panic;
struct intel_panic *i915_gem_object_alloc_panic(void);
int i915_gem_object_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb,
struct drm_gem_object *_obj, bool panic_tiling);
void i915_gem_object_panic_finish(struct intel_panic *panic);
extern const struct intel_display_panic_interface i915_display_panic_interface;
#endif /* __I915_GEM_PANIC_H__ */

View File

@ -78,6 +78,7 @@
#include "gem/i915_gem_ioctls.h"
#include "gem/i915_gem_mman.h"
#include "gem/i915_gem_object_frontbuffer.h"
#include "gem/i915_gem_panic.h"
#include "gem/i915_gem_pm.h"
#include "gt/intel_gt.h"
#include "gt/intel_gt_pm.h"
@ -110,7 +111,6 @@
#include "i915_irq.h"
#include "i915_memcpy.h"
#include "i915_overlay.h"
#include "i915_panic.h"
#include "i915_perf.h"
#include "i915_query.h"
#include "i915_reg.h"

View File

@ -1,35 +0,0 @@
// SPDX-License-Identifier: MIT
/* Copyright © 2025 Intel Corporation */
#include <drm/drm_panic.h>
#include <drm/intel/display_parent_interface.h>
#include "display/intel_display_types.h"
#include "display/intel_fb.h"
#include "gem/i915_gem_panic.h"
#include "i915_panic.h"
static struct intel_panic *intel_panic_alloc(void)
{
return i915_gem_object_alloc_panic();
}
static int intel_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb)
{
struct intel_framebuffer *fb = sb->private;
struct drm_gem_object *obj = intel_fb_bo(&fb->base);
return i915_gem_object_panic_setup(panic, sb, obj, fb->panic_tiling);
}
static void intel_panic_finish(struct intel_panic *panic)
{
return i915_gem_object_panic_finish(panic);
}
const struct intel_display_panic_interface i915_display_panic_interface = {
.alloc = intel_panic_alloc,
.setup = intel_panic_setup,
.finish = intel_panic_finish,
};

View File

@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
/* Copyright © 2025 Intel Corporation */
#ifndef __I915_PANIC_H__
#define __I915_PANIC_H__
extern const struct intel_display_panic_interface i915_display_panic_interface;
#endif /* __I915_PANIC_H__ */