[Intel-gfx] [PATCH] drm/i915/display: Pass drm_i915_private as param to i915 funcs

Das, Nirmoy nirmoy.das at intel.com
Fri Feb 10 12:27:49 UTC 2023


On 2/10/2023 1:21 PM, Andi Shyti wrote:
> Hi Jani,
>
> On Thu, Jan 19, 2023 at 12:58:47PM +0200, Jani Nikula wrote:
>> On Thu, 19 Jan 2023, Nirmoy Das <nirmoy.das at intel.com> wrote:
>>> For i915 functions pass struct drm_i915_private directly instead of
>>> struct drm_device.
>> Reviewed-by: Jani Nikula <jani.nikula at 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?


Would be nice if this is gets picked, though I still didn't manage to 
work on Jani's follow up "dev_privs to i915" cleanup patches.

FYI: this v1, I have a v2 for this 
https://patchwork.freedesktop.org/patch/520148/?series=113083&rev=3


Regards,

Nirmoy

>
> Andi
>
>>> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
>>> Suggested-by: Jani Nikula <jani.nikula at linux.intel.com>
>>> Signed-off-by: Nirmoy Das <nirmoy.das at 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


More information about the Intel-gfx mailing list