[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