mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:24:45 +01:00
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>
This commit is contained in:
parent
dcff3266cf
commit
5bad00377e
4 changed files with 8 additions and 15 deletions
|
|
@ -106,7 +106,7 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
|
|||
intel_fb_fill_view(to_intel_framebuffer(fb),
|
||||
plane_state->uapi.rotation, &plane_state->view);
|
||||
|
||||
ret = display->parent->initial_plane->setup(&crtc->base, plane_config, fb, vma);
|
||||
ret = display->parent->initial_plane->setup(plane->base.state, plane_config, fb, vma);
|
||||
if (ret)
|
||||
goto nofb;
|
||||
|
||||
|
|
|
|||
|
|
@ -264,17 +264,13 @@ err_vma:
|
|||
}
|
||||
|
||||
static int
|
||||
i915_initial_plane_setup(struct drm_crtc *_crtc,
|
||||
i915_initial_plane_setup(struct drm_plane_state *_plane_state,
|
||||
struct intel_initial_plane_config *plane_config,
|
||||
struct drm_framebuffer *fb,
|
||||
struct i915_vma *vma)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(_crtc);
|
||||
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
|
||||
struct intel_plane *plane =
|
||||
to_intel_plane(crtc->base.primary);
|
||||
struct intel_plane_state *plane_state =
|
||||
to_intel_plane_state(plane->base.state);
|
||||
struct intel_plane_state *plane_state = to_intel_plane_state(_plane_state);
|
||||
struct drm_i915_private *dev_priv = to_i915(_plane_state->plane->dev);
|
||||
|
||||
__i915_vma_pin(vma);
|
||||
plane_state->ggtt_vma = i915_vma_get(vma);
|
||||
|
|
|
|||
|
|
@ -158,16 +158,12 @@ err_bo:
|
|||
}
|
||||
|
||||
static int
|
||||
xe_initial_plane_setup(struct drm_crtc *_crtc,
|
||||
xe_initial_plane_setup(struct drm_plane_state *_plane_state,
|
||||
struct intel_initial_plane_config *plane_config,
|
||||
struct drm_framebuffer *fb,
|
||||
struct i915_vma *_unused)
|
||||
{
|
||||
struct intel_crtc *crtc = to_intel_crtc(_crtc);
|
||||
struct intel_plane *plane =
|
||||
to_intel_plane(crtc->base.primary);
|
||||
struct intel_plane_state *plane_state =
|
||||
to_intel_plane_state(plane->base.state);
|
||||
struct intel_plane_state *plane_state = to_intel_plane_state(_plane_state);
|
||||
struct i915_vma *vma;
|
||||
|
||||
vma = intel_fb_pin_to_ggtt(fb, &plane_state->view.gtt,
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ struct drm_crtc;
|
|||
struct drm_device;
|
||||
struct drm_framebuffer;
|
||||
struct drm_gem_object;
|
||||
struct drm_plane_state;
|
||||
struct drm_scanout_buffer;
|
||||
struct i915_vma;
|
||||
struct intel_hdcp_gsc_context;
|
||||
|
|
@ -33,7 +34,7 @@ struct intel_display_hdcp_interface {
|
|||
struct intel_display_initial_plane_interface {
|
||||
void (*vblank_wait)(struct drm_crtc *crtc);
|
||||
struct drm_gem_object *(*alloc_obj)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_config);
|
||||
int (*setup)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_config,
|
||||
int (*setup)(struct drm_plane_state *plane_state, struct intel_initial_plane_config *plane_config,
|
||||
struct drm_framebuffer *fb, struct i915_vma *vma);
|
||||
void (*config_fini)(struct intel_initial_plane_config *plane_configs);
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue