[Intel-gfx] [PATCH 1/6] drm/i915: Adding VBT fields to support eDP DRRS feature

Daniel Vetter daniel at ffwll.ch
Tue Apr 1 19:26:15 CEST 2014


On Tue, Apr 01, 2014 at 04:04:44PM +0300, Jani Nikula wrote:
> On Fri, 28 Mar 2014, Vandana Kannan <vandana.kannan at intel.com> wrote:
> > From: Pradeep Bhat <pradeep.bhat at intel.com>
> >
> > This patch reads the DRRS support and Mode type from VBT fields.
> > The read information will be stored in VBT struct during BIOS
> > parsing. The above functionality is needed for decision making
> > whether DRRS feature is supported in i915 driver for eDP panels.
> > This information helps us decide if seamless DRRS can be done
> > at runtime to support certain power saving features. This patch
> > was tested by setting necessary bit in VBT struct and merging
> > the new VBT with system BIOS so that we can read the value.
> >
> > v2: Incorporated review comments from Chris Wilson
> > Removed "intel_" as a prefix for DRRS specific declarations.
> >
> > v3: Incorporated Jani's review comments
> > Removed function which deducts drrs mode from panel_type. Modified some
> > print statements. Made changes to use DRRS_NOT_SUPPORTED as 0 instead of -1.
> >
> > v4: Incorporated Jani's review comments.
> > Modifications around setting vbt drrs_type.
> >
> > Signed-off-by: Pradeep Bhat <pradeep.bhat at intel.com>
> > Signed-off-by: Vandana Kannan <vandana.kannan at intel.com>
> > Acked-by: Jesse Barnes <jbarnes at virtuousgeek.org>
> > Cc: Jani Nikula <jani.nikula at linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_drv.h   |   12 ++++++++++++
> >  drivers/gpu/drm/i915/intel_bios.c |   34 +++++++++++++++++++++++++++++++++-
> >  drivers/gpu/drm/i915/intel_bios.h |   29 +++++++++++++++++++++++++++++
> >  3 files changed, 74 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index 9b8c1e0..cd73a33 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -1284,6 +1284,12 @@ struct ddi_vbt_port_info {
> >  	uint8_t supports_dp:1;
> >  };
> >  
> > +enum drrs_support_type {
> > +	DRRS_NOT_SUPPORTED = 0,
> > +	STATIC_DRRS_SUPPORT = 1,
> > +	SEAMLESS_DRRS_SUPPORT = 2
> > +};
> > +
> >  struct intel_vbt_data {
> >  	struct drm_display_mode *lfp_lvds_vbt_mode; /* if any */
> >  	struct drm_display_mode *sdvo_lvds_vbt_mode; /* if any */
> > @@ -1299,6 +1305,12 @@ struct intel_vbt_data {
> >  	int lvds_ssc_freq;
> >  	unsigned int bios_lvds_val; /* initial [PCH_]LVDS reg val in VBIOS */
> >  
> > +	/*
> > +	 * DRRS support type (Seamless OR Static DRRS OR not supported)
> > +	 * These values correspond to the VBT values for drrs mode.
> 
> No, they don't correspond to VBT values, because we're adding that enum,
> and we map the VBT values to the enum.
> 
> With that fixed,

As per our irc discussion I've dropped the entire comment - the first line
is redundant with the enum definition.
> 
> Reviewed-by: Jani Nikula <jani.nikula at intel.com>

Queued for -next, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list