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}: pass struct drm_plane_state instead of struct drm_crtc to ->setup

The initial plane parent interface ->setup hook no longer needs the crtc
for anything. Pass the struct drm_plane_state instead.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/c3db101ef5fd13c56cb3a9329adecf521a807abc.1765812266.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

+8 -15
+1 -1
drivers/gpu/drm/i915/display/intel_initial_plane.c
··· 106 106 intel_fb_fill_view(to_intel_framebuffer(fb), 107 107 plane_state->uapi.rotation, &plane_state->view); 108 108 109 - ret = display->parent->initial_plane->setup(&crtc->base, plane_config, fb, vma); 109 + ret = display->parent->initial_plane->setup(plane->base.state, plane_config, fb, vma); 110 110 if (ret) 111 111 goto nofb; 112 112
+3 -7
drivers/gpu/drm/i915/i915_initial_plane.c
··· 264 264 } 265 265 266 266 static int 267 - i915_initial_plane_setup(struct drm_crtc *_crtc, 267 + i915_initial_plane_setup(struct drm_plane_state *_plane_state, 268 268 struct intel_initial_plane_config *plane_config, 269 269 struct drm_framebuffer *fb, 270 270 struct i915_vma *vma) 271 271 { 272 - struct intel_crtc *crtc = to_intel_crtc(_crtc); 273 - struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); 274 - struct intel_plane *plane = 275 - to_intel_plane(crtc->base.primary); 276 - struct intel_plane_state *plane_state = 277 - to_intel_plane_state(plane->base.state); 272 + struct intel_plane_state *plane_state = to_intel_plane_state(_plane_state); 273 + struct drm_i915_private *dev_priv = to_i915(_plane_state->plane->dev); 278 274 279 275 __i915_vma_pin(vma); 280 276 plane_state->ggtt_vma = i915_vma_get(vma);
+2 -6
drivers/gpu/drm/xe/display/xe_initial_plane.c
··· 158 158 } 159 159 160 160 static int 161 - xe_initial_plane_setup(struct drm_crtc *_crtc, 161 + xe_initial_plane_setup(struct drm_plane_state *_plane_state, 162 162 struct intel_initial_plane_config *plane_config, 163 163 struct drm_framebuffer *fb, 164 164 struct i915_vma *_unused) 165 165 { 166 - struct intel_crtc *crtc = to_intel_crtc(_crtc); 167 - struct intel_plane *plane = 168 - to_intel_plane(crtc->base.primary); 169 - struct intel_plane_state *plane_state = 170 - to_intel_plane_state(plane->base.state); 166 + struct intel_plane_state *plane_state = to_intel_plane_state(_plane_state); 171 167 struct i915_vma *vma; 172 168 173 169 vma = intel_fb_pin_to_ggtt(fb, &plane_state->view.gtt,
+2 -1
include/drm/intel/display_parent_interface.h
··· 11 11 struct drm_device; 12 12 struct drm_framebuffer; 13 13 struct drm_gem_object; 14 + struct drm_plane_state; 14 15 struct drm_scanout_buffer; 15 16 struct i915_vma; 16 17 struct intel_hdcp_gsc_context; ··· 34 33 struct intel_display_initial_plane_interface { 35 34 void (*vblank_wait)(struct drm_crtc *crtc); 36 35 struct drm_gem_object *(*alloc_obj)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_config); 37 - int (*setup)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_config, 36 + int (*setup)(struct drm_plane_state *plane_state, struct intel_initial_plane_config *plane_config, 38 37 struct drm_framebuffer *fb, struct i915_vma *vma); 39 38 void (*config_fini)(struct intel_initial_plane_config *plane_configs); 40 39 };