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

Signed-off-by: Jani Nikula <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_initial_plane.c | 7 +++----
 drivers/gpu/drm/i915/i915_initial_plane.c          | 5 ++---
 drivers/gpu/drm/xe/display/xe_initial_plane.c      | 7 ++-----
 include/drm/intel/display_parent_interface.h       | 2 +-
 4 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c 
b/drivers/gpu/drm/i915/display/intel_initial_plane.c
index e4d6aa438e66..ee545c033da6 100644
--- a/drivers/gpu/drm/i915/display/intel_initial_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
@@ -47,10 +47,9 @@ intel_reuse_initial_plane_obj(struct intel_crtc *this,
 }
 
 static struct drm_gem_object *
-intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
+intel_alloc_initial_plane_obj(struct intel_display *display,
                              struct intel_initial_plane_config *plane_config)
 {
-       struct intel_display *display = to_intel_display(crtc);
        struct intel_framebuffer *fb = plane_config->fb;
 
        switch (fb->base.modifier) {
@@ -65,7 +64,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
                return NULL;
        }
 
-       return display->parent->initial_plane->alloc_obj(&crtc->base, 
plane_config);
+       return display->parent->initial_plane->alloc_obj(display->drm, 
plane_config);
 }
 
 static void
@@ -88,7 +87,7 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
        if (!plane_config->fb)
                return;
 
-       if (intel_alloc_initial_plane_obj(crtc, plane_config)) {
+       if (intel_alloc_initial_plane_obj(display, plane_config)) {
                fb = &plane_config->fb->base;
                vma = plane_config->vma;
        } else {
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c 
b/drivers/gpu/drm/i915/i915_initial_plane.c
index 40d4f990f23c..de90ca69e0bb 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -228,11 +228,10 @@ initial_plane_vma(struct intel_display *display,
 }
 
 static struct drm_gem_object *
-i915_alloc_initial_plane_obj(struct drm_crtc *_crtc,
+i915_alloc_initial_plane_obj(struct drm_device *drm,
                             struct intel_initial_plane_config *plane_config)
 {
-       struct intel_crtc *crtc = to_intel_crtc(_crtc);
-       struct intel_display *display = to_intel_display(crtc);
+       struct intel_display *display = to_intel_display(drm);
        struct drm_mode_fb_cmd2 mode_cmd = {};
        struct drm_framebuffer *fb = &plane_config->fb->base;
        struct i915_vma *vma;
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c 
b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index 9999bc07743b..4cfeafcc158d 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -14,8 +14,6 @@
 
 #include "i915_vma.h"
 #include "intel_crtc.h"
-#include "intel_display.h"
-#include "intel_display_core.h"
 #include "intel_display_regs.h"
 #include "intel_display_types.h"
 #include "intel_fb.h"
@@ -122,11 +120,10 @@ initial_plane_bo(struct xe_device *xe,
 }
 
 static struct drm_gem_object *
-xe_alloc_initial_plane_obj(struct drm_crtc *_crtc,
+xe_alloc_initial_plane_obj(struct drm_device *drm,
                           struct intel_initial_plane_config *plane_config)
 {
-       struct intel_crtc *crtc = to_intel_crtc(_crtc);
-       struct xe_device *xe = to_xe_device(crtc->base.dev);
+       struct xe_device *xe = to_xe_device(drm);
        struct drm_mode_fb_cmd2 mode_cmd = { 0 };
        struct drm_framebuffer *fb = &plane_config->fb->base;
        struct xe_bo *bo;
diff --git a/include/drm/intel/display_parent_interface.h 
b/include/drm/intel/display_parent_interface.h
index 040a014b49ce..b3acb6e49ed8 100644
--- a/include/drm/intel/display_parent_interface.h
+++ b/include/drm/intel/display_parent_interface.h
@@ -33,7 +33,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);
+       struct drm_gem_object *(*alloc_obj)(struct drm_device *drm, 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);
-- 
2.47.3

Reply via email to