[PATCH 2/4] drm/i915/panel: add panel register/unregister

Murthy, Arun R arun.r.murthy at intel.com
Tue Jun 10 08:09:19 UTC 2025


> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf Of Jani
> Nikula
> Sent: Friday, June 6, 2025 2:35 PM
> To: dri-devel at lists.freedesktop.org
> Cc: intel-gfx at lists.freedesktop.org; intel-xe at lists.freedesktop.org; Heikki
> Krogerus <heikki.krogerus at linux.intel.com>; Wysocki, Rafael J
> <rafael.j.wysocki at intel.com>; Lee, Shawn C <shawn.c.lee at intel.com>; Yang,
> Simon1 <simon1.yang at intel.com>; Doug Anderson <dianders at chromium.org>;
> Maxime Ripard <mripard at kernel.org>; Nikula, Jani <jani.nikula at intel.com>
> Subject: [PATCH 2/4] drm/i915/panel: add panel register/unregister
> 
> Add panel register/unregister functions, and handle backlight
> register/unregister from there. This is in preparation for adding more panel
> specific register/unregister functionality.
> 
> Cc: Lee Shawn C <shawn.c.lee at intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
>  .../gpu/drm/i915/display/intel_connector.c    | 23 +++++++++----------
>  drivers/gpu/drm/i915/display/intel_panel.c    | 10 ++++++++
>  drivers/gpu/drm/i915/display/intel_panel.h    |  2 ++
>  3 files changed, 23 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_connector.c
> b/drivers/gpu/drm/i915/display/intel_connector.c
> index 9a61c972dce9..2867d76d1a5e 100644
> --- a/drivers/gpu/drm/i915/display/intel_connector.c
> +++ b/drivers/gpu/drm/i915/display/intel_connector.c
> @@ -32,7 +32,6 @@
> 
>  #include "i915_drv.h"
>  #include "i915_utils.h"
> -#include "intel_backlight.h"
>  #include "intel_connector.h"
>  #include "intel_display_core.h"
>  #include "intel_display_debugfs.h"
> @@ -153,36 +152,36 @@ void intel_connector_destroy(struct drm_connector
> *connector)
>  	kfree(connector);
>  }
> 
> -int intel_connector_register(struct drm_connector *connector)
> +int intel_connector_register(struct drm_connector *_connector)
>  {
> -	struct intel_connector *intel_connector =
> to_intel_connector(connector);
> -	struct drm_i915_private *i915 = to_i915(connector->dev);
> +	struct intel_connector *connector = to_intel_connector(_connector);
> +	struct drm_i915_private *i915 = to_i915(_connector->dev);
Can intel_display be used over here?

Apart from the above one, patch looks good to me.
Reviewed-by: Arun R Murthy <arun.r.murthy at gmail.com>

Thanks and Regards,
Arun R Murthy
--------------------

>  	int ret;
> 
> -	ret = intel_backlight_device_register(intel_connector);
> +	ret = intel_panel_register(connector);
>  	if (ret)
>  		goto err;
> 
>  	if (i915_inject_probe_failure(i915)) {
>  		ret = -EFAULT;
> -		goto err_backlight;
> +		goto err_panel;
>  	}
> 
> -	intel_connector_debugfs_add(intel_connector);
> +	intel_connector_debugfs_add(connector);
> 
>  	return 0;
> 
> -err_backlight:
> -	intel_backlight_device_unregister(intel_connector);
> +err_panel:
> +	intel_panel_unregister(connector);
>  err:
>  	return ret;
>  }
> 
> -void intel_connector_unregister(struct drm_connector *connector)
> +void intel_connector_unregister(struct drm_connector *_connector)
>  {
> -	struct intel_connector *intel_connector =
> to_intel_connector(connector);
> +	struct intel_connector *connector = to_intel_connector(_connector);
> 
> -	intel_backlight_device_unregister(intel_connector);
> +	intel_panel_unregister(connector);
>  }
> 
>  void intel_connector_attach_encoder(struct intel_connector *connector, diff --
> git a/drivers/gpu/drm/i915/display/intel_panel.c
> b/drivers/gpu/drm/i915/display/intel_panel.c
> index f5c972880391..5ae302bee191 100644
> --- a/drivers/gpu/drm/i915/display/intel_panel.c
> +++ b/drivers/gpu/drm/i915/display/intel_panel.c
> @@ -462,3 +462,13 @@ void intel_panel_fini(struct intel_connector
> *connector)
>  		drm_mode_destroy(connector->base.dev, fixed_mode);
>  	}
>  }
> +
> +int intel_panel_register(struct intel_connector *connector) {
> +	return intel_backlight_device_register(connector);
> +}
> +
> +void intel_panel_unregister(struct intel_connector *connector) {
> +	intel_backlight_device_unregister(connector);
> +}
> diff --git a/drivers/gpu/drm/i915/display/intel_panel.h
> b/drivers/gpu/drm/i915/display/intel_panel.h
> index b60d12322e5d..3d592a4404f3 100644
> --- a/drivers/gpu/drm/i915/display/intel_panel.h
> +++ b/drivers/gpu/drm/i915/display/intel_panel.h
> @@ -23,6 +23,8 @@ void intel_panel_init_alloc(struct intel_connector
> *connector);  int intel_panel_init(struct intel_connector *connector,
>  		     const struct drm_edid *fixed_edid);  void
> intel_panel_fini(struct intel_connector *connector);
> +int intel_panel_register(struct intel_connector *connector); void
> +intel_panel_unregister(struct intel_connector *connector);
>  enum drm_connector_status
>  intel_panel_detect(struct drm_connector *connector, bool force);  bool
> intel_panel_use_ssc(struct intel_display *display);
> --
> 2.39.5



More information about the Intel-gfx mailing list