[Intel-gfx] [PATCH v4 1/2] drm/i915/vbt: Parse panel options separately from timing data

Jani Nikula jani.nikula at intel.com
Fri Nov 15 07:24:53 UTC 2019


On Thu, 14 Nov 2019, Jesse Barnes <jsbarnes at google.com> wrote:
> LGTM.
>
> Reviewed-by: Jesse Barnes <jsbarnes at google.com>

Yay!

LGTM too.

>
> 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
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list