mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30: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