[Intel-gfx] [PATCH v4 1/2] drm/i915/vbt: Parse panel options separately from timing data
Jesse Barnes
jsbarnes at google.com
Fri Nov 15 00:05:02 UTC 2019
LGTM.
Reviewed-by: Jesse Barnes <jsbarnes at google.com>
On Thu, Nov 14, 2019 at 9:07 AM Matt Roper <matthew.d.roper at intel.com> wrote:
>
> Newer VBT versions will add an alternate way to read panel DTD
> information, so let's split parsing of the general panel information
> from the timing data in preparation.
>
> Cc: Jani Nikula <jani.nikula at intel.com>
> Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_bios.c | 27 +++++++++++++++--------
> 1 file changed, 18 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index 6d7b1a83cb07..d13ce0b7db8b 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -208,17 +208,12 @@ get_lvds_fp_timing(const struct bdb_header *bdb,
> return (const struct lvds_fp_timing *)((const u8 *)bdb + ofs);
> }
>
> -/* Try to find integrated panel data */
> +/* Parse general panel options */
> static void
> -parse_lfp_panel_data(struct drm_i915_private *dev_priv,
> - const struct bdb_header *bdb)
> +parse_panel_options(struct drm_i915_private *dev_priv,
> + const struct bdb_header *bdb)
> {
> const struct bdb_lvds_options *lvds_options;
> - const struct bdb_lvds_lfp_data *lvds_lfp_data;
> - const struct bdb_lvds_lfp_data_ptrs *lvds_lfp_data_ptrs;
> - const struct lvds_dvo_timing *panel_dvo_timing;
> - const struct lvds_fp_timing *fp_timing;
> - struct drm_display_mode *panel_fixed_mode;
> int panel_type;
> int drrs_mode;
> int ret;
> @@ -267,6 +262,19 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv,
> DRM_DEBUG_KMS("DRRS not supported (VBT input)\n");
> break;
> }
> +}
> +
> +/* Try to find integrated panel timing data */
> +static void
> +parse_lfp_panel_dtd(struct drm_i915_private *dev_priv,
> + const struct bdb_header *bdb)
> +{
> + const struct bdb_lvds_lfp_data *lvds_lfp_data;
> + const struct bdb_lvds_lfp_data_ptrs *lvds_lfp_data_ptrs;
> + const struct lvds_dvo_timing *panel_dvo_timing;
> + const struct lvds_fp_timing *fp_timing;
> + struct drm_display_mode *panel_fixed_mode;
> + int panel_type = dev_priv->vbt.panel_type;
>
> lvds_lfp_data = find_section(bdb, BDB_LVDS_LFP_DATA);
> if (!lvds_lfp_data)
> @@ -1868,7 +1876,8 @@ void intel_bios_init(struct drm_i915_private *dev_priv)
> /* Grab useful general definitions */
> parse_general_features(dev_priv, bdb);
> parse_general_definitions(dev_priv, bdb);
> - parse_lfp_panel_data(dev_priv, bdb);
> + parse_panel_options(dev_priv, bdb);
> + parse_lfp_panel_dtd(dev_priv, bdb);
> parse_lfp_backlight(dev_priv, bdb);
> parse_sdvo_panel_data(dev_priv, bdb);
> parse_driver_features(dev_priv, bdb);
> --
> 2.21.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list