[Intel-gfx] [PATCH 10/10] drm/i915/display: add intel_display_driver_early_probe()

Gustavo Sousa gustavo.sousa at intel.com
Thu Apr 13 17:02:49 UTC 2023


Quoting Jani Nikula (2023-04-13 06:47:36)
> Add intel_display_driver_early_probe() as the early probe call to
> replace intel_init_display_hooks(). The latter will be "demoted" to
> setting up hooks in intel_display.c only.
> 
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>

Reviewed-by: Gustavo Sousa <gustavo.sousa at intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_display.c       | 11 -----------
>  .../gpu/drm/i915/display/intel_display_driver.c    | 14 ++++++++++++++
>  .../gpu/drm/i915/display/intel_display_driver.h    |  1 +
>  drivers/gpu/drm/i915/i915_driver.c                 |  2 +-
>  4 files changed, 16 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 9eb9898885bb..afc5bc38d006 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -8005,15 +8005,6 @@ static const struct intel_display_funcs i9xx_display_funcs = {
>   */
>  void intel_init_display_hooks(struct drm_i915_private *dev_priv)
>  {
> -  if (!HAS_DISPLAY(dev_priv))
> -          return;
> -
> -  intel_color_init_hooks(dev_priv);
> -  intel_init_cdclk_hooks(dev_priv);
> -  intel_audio_hooks_init(dev_priv);
> -
> -  intel_dpll_init_clock_hook(dev_priv);
> -
>         if (DISPLAY_VER(dev_priv) >= 9) {
>                 dev_priv->display.funcs.display = &skl_display_funcs;
>         } else if (HAS_DDI(dev_priv)) {
> @@ -8026,8 +8017,6 @@ void intel_init_display_hooks(struct drm_i915_private *dev_priv)
>         } else {
>                 dev_priv->display.funcs.display = &i9xx_display_funcs;
>         }
> -
> -  intel_fdi_init_hook(dev_priv);
>  }
>  
>  int intel_initial_commit(struct drm_device *dev)
> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
> index d20a279fdf51..b3dbfe2a892e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
> @@ -32,6 +32,7 @@
>  #include "intel_display_types.h"
>  #include "intel_dmc.h"
>  #include "intel_dp.h"
> +#include "intel_dpll.h"
>  #include "intel_dpll_mgr.h"
>  #include "intel_fb.h"
>  #include "intel_fbc.h"
> @@ -169,6 +170,19 @@ static void intel_plane_possible_crtcs_init(struct drm_i915_private *dev_priv)
>         }
>  }
>  
> +void intel_display_driver_early_probe(struct drm_i915_private *i915)
> +{
> +  if (!HAS_DISPLAY(i915))
> +          return;
> +
> +  intel_color_init_hooks(i915);
> +  intel_init_cdclk_hooks(i915);
> +  intel_audio_hooks_init(i915);
> +  intel_dpll_init_clock_hook(i915);
> +  intel_init_display_hooks(i915);
> +  intel_fdi_init_hook(i915);
> +}
> +
>  /* part #1: call before irq install */
>  int intel_display_driver_probe_noirq(struct drm_i915_private *i915)
>  {
> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.h b/drivers/gpu/drm/i915/display/intel_display_driver.h
> index 84e7977f265a..c276a58ee329 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_driver.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.h
> @@ -15,6 +15,7 @@ struct pci_dev;
>  
>  bool intel_display_driver_probe_defer(struct pci_dev *pdev);
>  void intel_display_driver_init_hw(struct drm_i915_private *i915);
> +void intel_display_driver_early_probe(struct drm_i915_private *i915);
>  int intel_display_driver_probe_noirq(struct drm_i915_private *i915);
>  int intel_display_driver_probe_nogem(struct drm_i915_private *i915);
>  int intel_display_driver_probe(struct drm_i915_private *i915);
> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
> index 082393ea3833..8a0a893443b4 100644
> --- a/drivers/gpu/drm/i915/i915_driver.c
> +++ b/drivers/gpu/drm/i915/i915_driver.c
> @@ -252,7 +252,7 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
>         intel_detect_pch(dev_priv);
>  
>         intel_irq_init(dev_priv);
> -  intel_init_display_hooks(dev_priv);
> +  intel_display_driver_early_probe(dev_priv);
>         intel_clock_gating_hooks_init(dev_priv);
>  
>         intel_detect_preproduction_hw(dev_priv);
> -- 
> 2.39.2
>


More information about the Intel-gfx mailing list