On Wed, Jun 12, 2013 at 05:55:44PM -0300, Rodrigo Vivi wrote: > From: Shobhit Kumar <shobhit.ku...@intel.com> > > Parse and store useful information in i915_dev_private > > v2: Add to new vbt struct and call them psr_* > v3: Fix comment and variable name > > Signed-off-by: Shobhit Kumar <shobhit.ku...@intel.com> > Signed-off-by: Rodrigo Vivi <rodrigo.v...@gmail.com> > --- > drivers/gpu/drm/i915/i915_drv.h | 7 +++++++ > drivers/gpu/drm/i915/intel_bios.c | 30 ++++++++++++++++++++++++++++++ > drivers/gpu/drm/i915/intel_bios.h | 20 +++++++++++++++++++- > 3 files changed, 56 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 87f7f88..dd459a5 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -951,6 +951,13 @@ struct intel_vbt_data { > int edp_bpp; > struct edp_power_seq edp_pps; > > + /* eDP PSR*/ > + u8 psr_full_link_state; > + u8 psr_wait_lines; > + u8 psr_idle_frames; > + u16 psr_wakeup_tp1; > + u16 psr_wakeup_tp2_tp3;
Let's be neat and tidy and move these into their own psr struct. Do we want a valid flag here? >+ > int crt_ddc_pin; > > int child_dev_num; > diff --git a/drivers/gpu/drm/i915/intel_bios.c > b/drivers/gpu/drm/i915/intel_bios.c > index 53f2bed..99c6788 100644 > --- a/drivers/gpu/drm/i915/intel_bios.c > +++ b/drivers/gpu/drm/i915/intel_bios.c > @@ -383,6 +383,35 @@ parse_general_definitions(struct drm_i915_private > *dev_priv, > } > } > > + > +static void > +parse_edp_psr(struct drm_i915_private *dev_priv, struct bdb_header *bdb) > +{ > + struct bdb_psr_features *psr; > + struct bdb_lvds_options *lvds_opts; > + int index = 0; > + lvds_opts = find_section(bdb, BDB_LVDS_OPTIONS); > + if (!lvds_opts) { > + DRM_DEBUG_KMS("No LVDS Options block found.\n"); > + return; > + } > + > + index = lvds_opts->panel_type; > + > + psr = find_section(bdb, BDB_PSR_FEATURES); > + if (!psr) { > + DRM_DEBUG_KMS("No PSR feature block found.\n"); > + return; > + } You trust the bios that much to read a random index into an array? Everything from the BIOS is tainted and must be validated. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx