[PATCH v4 11/15] drm/i915/bios: use display->platform.<platform> instead of IS_<PLATFORM>()

Rodrigo Vivi rodrigo.vivi at intel.com
Tue Oct 22 17:45:05 UTC 2024


On Mon, Oct 21, 2024 at 04:54:12PM +0300, Jani Nikula wrote:
> Switch to using the new display->platform.<platform> members for
> platform identification in display code.
> 
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_bios.c | 40 +++++++++--------------
>  1 file changed, 15 insertions(+), 25 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index 9967b65e3cf6..ef3fc831ac88 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -1169,7 +1169,6 @@ static int intel_bios_ssc_frequency(struct intel_display *display,
>  static void
>  parse_general_features(struct intel_display *display)
>  {
> -	struct drm_i915_private *i915 = to_i915(display->drm);
>  	const struct bdb_general_features *general;
>  
>  	general = bdb_find_section(display, BDB_GENERAL_FEATURES);
> @@ -1179,7 +1178,7 @@ parse_general_features(struct intel_display *display)
>  	display->vbt.int_tv_support = general->int_tv_support;
>  	/* int_crt_support can't be trusted on earlier platforms */
>  	if (display->vbt.version >= 155 &&
> -	    (HAS_DDI(display) || IS_VALLEYVIEW(i915)))
> +	    (HAS_DDI(display) || display->platform.valleyview))
>  		display->vbt.int_crt_support = general->int_crt_support;
>  	display->vbt.lvds_use_ssc = general->enable_ssc;
>  	display->vbt.lvds_ssc_freq =
> @@ -1542,7 +1541,6 @@ static void
>  parse_psr(struct intel_display *display,
>  	  struct intel_panel *panel)
>  {
> -	struct drm_i915_private *i915 = to_i915(display->drm);
>  	const struct bdb_psr *psr;
>  	const struct psr_table *psr_table;
>  	int panel_type = panel->vbt.panel_type;
> @@ -1567,7 +1565,7 @@ parse_psr(struct intel_display *display,
>  	 * Old decimal value is wake up time in multiples of 100 us.
>  	 */
>  	if (display->vbt.version >= 205 &&
> -	    (DISPLAY_VER(display) >= 9 && !IS_BROXTON(i915))) {
> +	    (DISPLAY_VER(display) >= 9 && !display->platform.broxton)) {
>  		switch (psr_table->tp1_wakeup_time) {
>  		case 0:
>  			panel->vbt.psr.tp1_wakeup_time_us = 500;
> @@ -2029,11 +2027,9 @@ static void icl_fixup_mipi_sequences(struct intel_display *display,
>  static void fixup_mipi_sequences(struct intel_display *display,
>  				 struct intel_panel *panel)
>  {
> -	struct drm_i915_private *i915 = to_i915(display->drm);
> -
>  	if (DISPLAY_VER(display) >= 11)
>  		icl_fixup_mipi_sequences(display, panel);
> -	else if (IS_VALLEYVIEW(i915))
> +	else if (display->platform.valleyview)
>  		vlv_fixup_mipi_sequences(display, panel);
>  }
>  
> @@ -2243,15 +2239,15 @@ static u8 map_ddc_pin(struct intel_display *display, u8 vbt_pin)
>  	const u8 *ddc_pin_map;
>  	int i, n_entries;
>  
> -	if (INTEL_PCH_TYPE(i915) >= PCH_MTL || IS_ALDERLAKE_P(i915)) {
> +	if (INTEL_PCH_TYPE(i915) >= PCH_MTL || display->platform.alderlake_p) {
>  		ddc_pin_map = adlp_ddc_pin_map;
>  		n_entries = ARRAY_SIZE(adlp_ddc_pin_map);
> -	} else if (IS_ALDERLAKE_S(i915)) {
> +	} else if (display->platform.alderlake_s) {
>  		ddc_pin_map = adls_ddc_pin_map;
>  		n_entries = ARRAY_SIZE(adls_ddc_pin_map);
>  	} else if (INTEL_PCH_TYPE(i915) >= PCH_DG1) {
>  		return vbt_pin;
> -	} else if (IS_ROCKETLAKE(i915) && INTEL_PCH_TYPE(i915) == PCH_TGP) {
> +	} else if (display->platform.rocketlake && INTEL_PCH_TYPE(i915) == PCH_TGP) {
>  		ddc_pin_map = rkl_pch_tgp_ddc_pin_map;
>  		n_entries = ARRAY_SIZE(rkl_pch_tgp_ddc_pin_map);
>  	} else if (HAS_PCH_TGP(i915) && DISPLAY_VER(display) == 9) {
> @@ -2334,7 +2330,6 @@ static enum port __dvo_port_to_port(int n_ports, int n_dvo,
>  static enum port dvo_port_to_port(struct intel_display *display,
>  				  u8 dvo_port)
>  {
> -	struct drm_i915_private *i915 = to_i915(display->drm);
>  	/*
>  	 * Each DDI port can have more than one value on the "DVO Port" field,
>  	 * so look for all the possible values for each port.
> @@ -2391,12 +2386,12 @@ static enum port dvo_port_to_port(struct intel_display *display,
>  					  ARRAY_SIZE(xelpd_port_mapping[0]),
>  					  xelpd_port_mapping,
>  					  dvo_port);
> -	else if (IS_ALDERLAKE_S(i915))
> +	else if (display->platform.alderlake_s)
>  		return __dvo_port_to_port(ARRAY_SIZE(adls_port_mapping),
>  					  ARRAY_SIZE(adls_port_mapping[0]),
>  					  adls_port_mapping,
>  					  dvo_port);
> -	else if (IS_DG1(i915) || IS_ROCKETLAKE(i915))
> +	else if (display->platform.dg1 || display->platform.rocketlake)
>  		return __dvo_port_to_port(ARRAY_SIZE(rkl_port_mapping),
>  					  ARRAY_SIZE(rkl_port_mapping[0]),
>  					  rkl_port_mapping,
> @@ -2519,7 +2514,6 @@ static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
>  				      enum port port)
>  {
>  	struct intel_display *display = devdata->display;
> -	struct drm_i915_private *i915 = to_i915(display->drm);
>  
>  	if (!intel_bios_encoder_supports_dvi(devdata))
>  		return;
> @@ -2529,7 +2523,7 @@ static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
>  	 * with a HSW VBT where the level shifter value goes
>  	 * up to 11, whereas the BDW max is 9.
>  	 */
> -	if (IS_BROADWELL(i915) && devdata->child.hdmi_level_shifter_value > 9) {
> +	if (display->platform.broadwell && devdata->child.hdmi_level_shifter_value > 9) {
>  		drm_dbg_kms(display->drm,
>  			    "Bogus port %c VBT HDMI level shift %d, adjusting to %d\n",
>  			    port_name(port), devdata->child.hdmi_level_shifter_value, 9);
> @@ -2618,14 +2612,13 @@ int intel_bios_hdmi_max_tmds_clock(const struct intel_bios_encoder_data *devdata
>  
>  static bool is_port_valid(struct intel_display *display, enum port port)
>  {
> -	struct drm_i915_private *i915 = to_i915(display->drm);
>  	/*
>  	 * On some ICL SKUs port F is not present, but broken VBTs mark
>  	 * the port as present. Only try to initialize port F for the
>  	 * SKUs that may actually have it.
>  	 */
> -	if (port == PORT_F && IS_ICELAKE(i915))
> -		return IS_ICL_WITH_PORT_F(i915);
> +	if (port == PORT_F && display->platform.icelake)
> +		return display->platform.icelake_port_f;
>  
>  	return true;
>  }
> @@ -2723,9 +2716,7 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
>  
>  static bool has_ddi_port_info(struct intel_display *display)
>  {
> -	struct drm_i915_private *i915 = to_i915(display->drm);
> -
> -	return DISPLAY_VER(display) >= 5 || IS_G4X(i915);
> +	return DISPLAY_VER(display) >= 5 || display->platform.g4x;
>  }
>  
>  static void parse_ddi_ports(struct intel_display *display)
> @@ -2907,7 +2898,7 @@ init_vbt_missing_defaults(struct intel_display *display)
>  	unsigned int ports = DISPLAY_RUNTIME_INFO(display)->port_mask;
>  	enum port port;
>  
> -	if (!HAS_DDI(display) && !IS_CHERRYVIEW(i915))
> +	if (!HAS_DDI(display) && !display->platform.cherryview)
>  		return;
>  
>  	for_each_port_masked(port, ports) {
> @@ -3603,17 +3594,16 @@ static const u8 direct_aux_ch_map[] = {
>  
>  static enum aux_ch map_aux_ch(struct intel_display *display, u8 aux_channel)
>  {
> -	struct drm_i915_private *i915 = to_i915(display->drm);
>  	const u8 *aux_ch_map;
>  	int i, n_entries;
>  
>  	if (DISPLAY_VER(display) >= 13) {
>  		aux_ch_map = adlp_aux_ch_map;
>  		n_entries = ARRAY_SIZE(adlp_aux_ch_map);
> -	} else if (IS_ALDERLAKE_S(i915)) {
> +	} else if (display->platform.alderlake_s) {
>  		aux_ch_map = adls_aux_ch_map;
>  		n_entries = ARRAY_SIZE(adls_aux_ch_map);
> -	} else if (IS_DG1(i915) || IS_ROCKETLAKE(i915)) {
> +	} else if (display->platform.dg1 || display->platform.rocketlake) {
>  		aux_ch_map = rkl_aux_ch_map;
>  		n_entries = ARRAY_SIZE(rkl_aux_ch_map);
>  	} else {
> -- 
> 2.39.5
> 


More information about the Intel-xe mailing list