Hi Jani, On Thu, Jan 19, 2023 at 12:58:47PM +0200, Jani Nikula wrote: > On Thu, 19 Jan 2023, Nirmoy Das <nirmoy....@intel.com> wrote: > > For i915 functions pass struct drm_i915_private directly instead of > > struct drm_device. > > Reviewed-by: Jani Nikula <jani.nik...@intel.com> > > but maybe let's wait until we've synced up with drm-misc-next to avoid > the unnecessary conflict in drm-tip and linux-next?
can we push it now? Do you want me to take care of it? Andi > > > > Cc: Rodrigo Vivi <rodrigo.v...@intel.com> > > Suggested-by: Jani Nikula <jani.nik...@linux.intel.com> > > Signed-off-by: Nirmoy Das <nirmoy....@intel.com> > > --- > > drivers/gpu/drm/i915/display/intel_display.c | 2 +- > > drivers/gpu/drm/i915/display/intel_fbdev.c | 8 ++++---- > > drivers/gpu/drm/i915/display/intel_fbdev.h | 8 ++++---- > > drivers/gpu/drm/i915/i915_driver.c | 4 +++- > > 4 files changed, 12 insertions(+), 10 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c > > b/drivers/gpu/drm/i915/display/intel_display.c > > index c38a54efedbe..7584f65c6a7e 100644 > > --- a/drivers/gpu/drm/i915/display/intel_display.c > > +++ b/drivers/gpu/drm/i915/display/intel_display.c > > @@ -8999,7 +8999,7 @@ void intel_display_driver_register(struct > > drm_i915_private *i915) > > * enabled. We do it last so that the async config cannot run > > * before the connectors are registered. > > */ > > - intel_fbdev_initial_config_async(&i915->drm); > > + intel_fbdev_initial_config_async(i915); > > > > /* > > * We need to coordinate the hotplugs with the asynchronous > > diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c > > b/drivers/gpu/drm/i915/display/intel_fbdev.c > > index 19f3b5d92a55..c2c52f8e5887 100644 > > --- a/drivers/gpu/drm/i915/display/intel_fbdev.c > > +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c > > @@ -547,9 +547,9 @@ static void intel_fbdev_initial_config(void *data, > > async_cookie_t cookie) > > intel_fbdev_unregister(to_i915(ifbdev->helper.dev)); > > } > > > > -void intel_fbdev_initial_config_async(struct drm_device *dev) > > +void intel_fbdev_initial_config_async(struct drm_i915_private *dev_priv) > > { > > - struct intel_fbdev *ifbdev = to_i915(dev)->display.fbdev.fbdev; > > + struct intel_fbdev *ifbdev = dev_priv->display.fbdev.fbdev; > > > > if (!ifbdev) > > return; > > @@ -686,9 +686,9 @@ void intel_fbdev_output_poll_changed(struct drm_device > > *dev) > > drm_fb_helper_hotplug_event(&ifbdev->helper); > > } > > > > -void intel_fbdev_restore_mode(struct drm_device *dev) > > +void intel_fbdev_restore_mode(struct drm_i915_private *dev_priv) > > { > > - struct intel_fbdev *ifbdev = to_i915(dev)->display.fbdev.fbdev; > > + struct intel_fbdev *ifbdev = dev_priv->display.fbdev.fbdev; > > > > if (!ifbdev) > > return; > > diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.h > > b/drivers/gpu/drm/i915/display/intel_fbdev.h > > index 0e95e9472fa3..04fd523a5023 100644 > > --- a/drivers/gpu/drm/i915/display/intel_fbdev.h > > +++ b/drivers/gpu/drm/i915/display/intel_fbdev.h > > @@ -15,12 +15,12 @@ struct intel_framebuffer; > > > > #ifdef CONFIG_DRM_FBDEV_EMULATION > > int intel_fbdev_init(struct drm_device *dev); > > -void intel_fbdev_initial_config_async(struct drm_device *dev); > > +void intel_fbdev_initial_config_async(struct drm_i915_private *dev_priv); > > void intel_fbdev_unregister(struct drm_i915_private *dev_priv); > > void intel_fbdev_fini(struct drm_i915_private *dev_priv); > > void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool > > synchronous); > > void intel_fbdev_output_poll_changed(struct drm_device *dev); > > -void intel_fbdev_restore_mode(struct drm_device *dev); > > +void intel_fbdev_restore_mode(struct drm_i915_private *dev_priv); > > struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev > > *fbdev); > > #else > > static inline int intel_fbdev_init(struct drm_device *dev) > > @@ -28,7 +28,7 @@ static inline int intel_fbdev_init(struct drm_device *dev) > > return 0; > > } > > > > -static inline void intel_fbdev_initial_config_async(struct drm_device *dev) > > +static inline void intel_fbdev_initial_config_async(struct > > drm_i915_private *dev_priv) > > { > > } > > > > @@ -48,7 +48,7 @@ static inline void intel_fbdev_output_poll_changed(struct > > drm_device *dev) > > { > > } > > > > -static inline void intel_fbdev_restore_mode(struct drm_device *dev) > > +static inline void intel_fbdev_restore_mode(struct drm_i915_private *i915) > > { > > } > > static inline struct intel_framebuffer *intel_fbdev_framebuffer(struct > > intel_fbdev *fbdev) > > diff --git a/drivers/gpu/drm/i915/i915_driver.c > > b/drivers/gpu/drm/i915/i915_driver.c > > index 6469c7c1e154..cd6069c1762d 100644 > > --- a/drivers/gpu/drm/i915/i915_driver.c > > +++ b/drivers/gpu/drm/i915/i915_driver.c > > @@ -1071,7 +1071,9 @@ static int i915_driver_open(struct drm_device *dev, > > struct drm_file *file) > > */ > > static void i915_driver_lastclose(struct drm_device *dev) > > { > > - intel_fbdev_restore_mode(dev); > > + struct drm_i915_private *i915 = to_i915(dev); > > + > > + intel_fbdev_restore_mode(i915); > > > > vga_switcheroo_process_delayed_switch(); > > } > > -- > Jani Nikula, Intel Open Source Graphics Center