Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+31 -32
+16 -1
drivers/gpu/drm/i915/display/intel_fb.c
··· 2343 2343 2344 2344 struct intel_framebuffer *intel_framebuffer_alloc(void) 2345 2345 { 2346 - return intel_bo_alloc_framebuffer(); 2346 + struct intel_framebuffer *intel_fb; 2347 + struct intel_panic *panic; 2348 + 2349 + intel_fb = kzalloc(sizeof(*intel_fb), GFP_KERNEL); 2350 + if (!intel_fb) 2351 + return NULL; 2352 + 2353 + panic = intel_panic_alloc(); 2354 + if (!panic) { 2355 + kfree(intel_fb); 2356 + return NULL; 2357 + } 2358 + 2359 + intel_fb->panic = panic; 2360 + 2361 + return intel_fb; 2347 2362 } 2348 2363 2349 2364 struct drm_framebuffer *
+2 -2
drivers/gpu/drm/i915/display/intel_panic.c
··· 4 4 #include "gem/i915_gem_object.h" 5 5 #include "intel_panic.h" 6 6 7 - struct intel_framebuffer *intel_bo_alloc_framebuffer(void) 7 + struct intel_panic *intel_panic_alloc(void) 8 8 { 9 - return i915_gem_object_alloc_framebuffer(); 9 + return i915_gem_object_alloc_panic(); 10 10 } 11 11 12 12 int intel_panic_setup(struct drm_scanout_buffer *sb)
+2 -1
drivers/gpu/drm/i915/display/intel_panic.h
··· 6 6 7 7 struct drm_scanout_buffer; 8 8 struct intel_framebuffer; 9 + struct intel_panic; 9 10 10 - struct intel_framebuffer *intel_bo_alloc_framebuffer(void); 11 + struct intel_panic *intel_panic_alloc(void); 11 12 int intel_panic_setup(struct drm_scanout_buffer *sb); 12 13 void intel_panic_finish(struct intel_framebuffer *fb); 13 14
+3 -2
drivers/gpu/drm/i915/gem/i915_gem_object.h
··· 16 16 #include "i915_gem_ww.h" 17 17 #include "i915_vma_types.h" 18 18 19 - struct drm_scanout_buffer; 20 19 enum intel_region_id; 20 + struct drm_scanout_buffer; 21 21 struct intel_framebuffer; 22 + struct intel_panic; 22 23 23 24 #define obj_to_i915(obj__) to_i915((obj__)->base.dev) 24 25 ··· 694 693 int __i915_gem_object_put_pages(struct drm_i915_gem_object *obj); 695 694 int i915_gem_object_truncate(struct drm_i915_gem_object *obj); 696 695 697 - struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void); 696 + struct intel_panic *i915_gem_object_alloc_panic(void); 698 697 int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb); 699 698 void i915_gem_object_panic_finish(struct intel_framebuffer *fb); 700 699
+4 -13
drivers/gpu/drm/i915/gem/i915_gem_pages.c
··· 363 363 void *vaddr; 364 364 }; 365 365 366 - struct i915_framebuffer { 367 - struct intel_framebuffer base; 368 - struct intel_panic panic; 369 - }; 370 - 371 366 static void i915_panic_kunmap(struct intel_panic *panic) 372 367 { 373 368 if (panic->vaddr) { ··· 431 436 } 432 437 } 433 438 434 - struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void) 439 + struct intel_panic *i915_gem_object_alloc_panic(void) 435 440 { 436 - struct i915_framebuffer *i915_fb; 441 + struct intel_panic *panic; 437 442 438 - i915_fb = kzalloc(sizeof(*i915_fb), GFP_KERNEL); 439 - if (!i915_fb) 440 - return NULL; 443 + panic = kzalloc(sizeof(*panic), GFP_KERNEL); 441 444 442 - i915_fb->base.panic = &i915_fb->panic; 443 - 444 - return &i915_fb->base; 445 + return panic; 445 446 } 446 447 447 448 /*
+4 -13
drivers/gpu/drm/xe/display/xe_panic.c
··· 15 15 void *vaddr; 16 16 }; 17 17 18 - struct xe_framebuffer { 19 - struct intel_framebuffer base; 20 - struct intel_panic panic; 21 - }; 22 - 23 18 static void xe_panic_kunmap(struct intel_panic *panic) 24 19 { 25 20 if (panic->vaddr) { ··· 57 62 } 58 63 } 59 64 60 - struct intel_framebuffer *intel_bo_alloc_framebuffer(void) 65 + struct intel_panic *intel_panic_alloc(void) 61 66 { 62 - struct xe_framebuffer *xe_fb; 67 + struct intel_panic *panic; 63 68 64 - xe_fb = kzalloc(sizeof(*xe_fb), GFP_KERNEL); 65 - if (!xe_fb) 66 - return NULL; 69 + panic = kzalloc(sizeof(*panic), GFP_KERNEL); 67 70 68 - xe_fb->base.panic = &xe_fb->panic; 69 - 70 - return &xe_fb->base; 71 + return panic; 71 72 } 72 73 73 74 int intel_panic_setup(struct drm_scanout_buffer *sb)