public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Carlos Santa <carlos.santa@intel.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: intel-gfx <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 03/23] drm/i915: Move HAS_RUNTIME_PM definition to platform
Date: Thu, 11 Aug 2016 16:38:18 -0700	[thread overview]
Message-ID: <1470958698.9399.1.camel@graypixels> (raw)
In-Reply-To: <20160809134947.GQ4329@intel.com>

On Tue, 2016-08-09 at 16:49 +0300, Ville Syrjälä wrote:
> On Thu, Jul 21, 2016 at 04:34:28PM +0300, Imre Deak wrote:
> > On ke, 2016-07-20 at 13:25 -0700, Rodrigo Vivi wrote:
> > > On Wed, Jul 20, 2016 at 10:40 AM, Carlos Santa  wrote:
> > > > Moving all GPU features to the platform struct definition allows for
> > > >         - standard place when adding new features from new platforms
> > > >         - possible to see supported features when dumping struct
> > > >           definitions
> > > > 
> > > > Signed-off-by: Carlos Santa <carlos.santa@intel.com>
> > > > ---
> > > >  drivers/gpu/drm/i915/i915_drv.h | 6 ++----
> > > >  drivers/gpu/drm/i915/i915_pci.c | 7 ++++++-
> > > >  2 files changed, 8 insertions(+), 5 deletions(-)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > > > index 6569eb7..7443b9a 100644
> > > > --- a/drivers/gpu/drm/i915/i915_drv.h
> > > > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > > > @@ -769,6 +769,7 @@ struct intel_csr {
> > > >         func(is_preliminary) sep \
> > > >         func(has_fbc) sep \
> > > >         func(has_psr) sep \
> > > > +       func(has_runtime_pm) sep \
> > > >         func(has_pipe_cxsr) sep \
> > > >         func(has_hotplug) sep \
> > > >         func(cursor_needs_physical) sep \
> > > > @@ -2848,10 +2849,7 @@ struct drm_i915_cmd_table {
> > > >  #define HAS_DDI(dev)           (INTEL_INFO(dev)->has_ddi)
> > > >  #define HAS_FPGA_DBG_UNCLAIMED(dev)    (INTEL_INFO(dev)->has_fpga_dbg)
> > > >  #define HAS_PSR(dev)           (INTEL_INFO(dev)->has_psr)
> > > > -#define HAS_RUNTIME_PM(dev)    (IS_GEN6(dev) || IS_HASWELL(dev) || \
> > > > -                                IS_BROADWELL(dev) || IS_VALLEYVIEW(dev) || \
> > > > -                                IS_CHERRYVIEW(dev) || IS_SKYLAKE(dev) || \
> > > > -                                IS_KABYLAKE(dev) || IS_BROXTON(dev))
> > > 
> > > Why don't we have runtime_pm on Ivybridge since we have on
> > > sandybdrige? Imre, any idea?
> > 
> > I don't know what are the exact differences, in any case I haven't
> > tried to enable RPM on IVB. I think Ville had plans for this.
> 
> I tried it, it gave zero benefit with the downside of killing HPD. So
> I've changed my mind and now I want to see the SNB runtime PM support
> removed instead. So runtime PM would be only for HSW+/VLV/CHV.

V3 of this patch series already does this.

> 
> And we still need to fix HPD while runtime suspended. But at least
> it's theoretically possible for those platforms. I don't think we can
> do it for SNB/IVB and older machines. And polling is no answer as
> it just increases the power consumption. So adding ineffective
> runtime PM with HPD polling is just wasting more power than not
> runtime suspending in the first place.
> 
> > 
> > --Imre
> > 
> > > 
> > > > +#define HAS_RUNTIME_PM(dev)    (INTEL_INFO(dev)->has_runtime_pm)
> > > >  #define HAS_RC6(dev)           (INTEL_INFO(dev)->gen >= 6)
> > > >  #define HAS_RC6p(dev)          (IS_GEN6(dev) || IS_IVYBRIDGE(dev))
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> > > > index 8b1311d..92ab3c2 100644
> > > > --- a/drivers/gpu/drm/i915/i915_pci.c
> > > > +++ b/drivers/gpu/drm/i915/i915_pci.c
> > > > @@ -198,6 +198,7 @@ static const struct intel_device_info intel_ironlake_m_info = {
> > > >         .gen = 6, .num_pipes = 2, \
> > > >         .need_gfx_hws = 1, .has_hotplug = 1, \
> > > >         .has_fbc = 1, \
> > > > +       .has_runtime_pm = 1, \
> > > 
> > > This patch made me notice that we should define the
> > > 
> > > GEN7_FEATURE on GEN6_FEATURES + new changes as a followup of patch
> > > 02/32 or in that same patch.
> > > However for this case we should redefine .has_runtime_pm=0 on gen7,
> > > what is really strange.
> > > 
> > > Anyway, this patch itself has nothing wrong and just follows what it
> > > was set there already.
> > > any change related to my comments should be addressed in separated patches.
> > > So fell free to also use
> > > Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > 
> > > >         .ring_mask = RENDER_RING | BSD_RING | BLT_RING, \
> > > >         .has_llc = 1, \
> > > >         GEN_DEFAULT_PIPEOFFSETS, \
> > > > @@ -241,6 +242,7 @@ static const struct intel_device_info intel_ivybridge_q_info = {
> > > >  #define VLV_FEATURES  \
> > > >         .gen = 7, .num_pipes = 2, \
> > > >         .has_psr = 1, \
> > > > +       .has_runtime_pm = 1, \
> > > >         .need_gfx_hws = 1, .has_hotplug = 1, \
> > > >         .ring_mask = RENDER_RING | BSD_RING | BLT_RING, \
> > > >         .display_mmio_offset = VLV_DISPLAY_BASE, \
> > > > @@ -263,7 +265,8 @@ static const struct intel_device_info intel_valleyview_d_info = {
> > > >         .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING, \
> > > >         .has_ddi = 1, \
> > > >         .has_fpga_dbg = 1, \
> > > > -       .has_psr = 1
> > > > +       .has_psr = 1, \
> > > > +       .has_runtime_pm = 1
> > > > 
> > > >  static const struct intel_device_info intel_haswell_d_info = {
> > > >         HSW_FEATURES,
> > > > @@ -312,6 +315,7 @@ static const struct intel_device_info intel_cherryview_info = {
> > > >         .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING,
> > > >         .is_cherryview = 1,
> > > >         .has_psr = 1,
> > > > +       .has_runtime_pm = 1,
> > > >         .display_mmio_offset = VLV_DISPLAY_BASE,
> > > >         GEN_CHV_PIPEOFFSETS,
> > > >         CURSOR_OFFSETS,
> > > > @@ -340,6 +344,7 @@ static const struct intel_device_info intel_broxton_info = {
> > > >         .has_ddi = 1,
> > > >         .has_fpga_dbg = 1,
> > > >         .has_fbc = 1,
> > > > +       .has_runtime_pm = 1,
> > > >         .has_pooled_eu = 0,
> > > >         GEN_DEFAULT_PIPEOFFSETS,
> > > >         IVB_CURSOR_OFFSETS,
> > > > --
> > > > 1.9.1
> > > > 
> > > > _______________________________________________
> > > > Intel-gfx mailing list
> > > > Intel-gfx@lists.freedesktop.org
> > > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > > 
> > > 
> > > 
> 

thanks,
Carlos Santa
Intel OTC

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2016-08-11 23:37 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-20 17:40 [PATCH 00/23] drm/i915: Organize most GPU features by platform Carlos Santa
2016-07-20 17:40 ` [PATCH 01/23] drm/i915: Move HAS_PSR definition to platform struct definition Carlos Santa
2016-07-20 20:16   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 02/23] drm/i915: Introduce GEN6_FEATURES for device info Carlos Santa
2016-07-20 20:17   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 03/23] drm/i915: Move HAS_RUNTIME_PM definition to platform Carlos Santa
2016-07-20 20:25   ` Rodrigo Vivi
2016-07-21 13:34     ` Imre Deak
2016-08-09 13:49       ` Ville Syrjälä
2016-08-11 23:38         ` Carlos Santa [this message]
2016-08-01 13:02   ` Jani Nikula
2016-07-20 17:40 ` [PATCH 04/23] drm/i915: Move HAS_CORE_RING_FREQ definition to platform definition Carlos Santa
2016-07-20 20:28   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 05/23] drm/i915: Move HAS_CSR " Carlos Santa
2016-07-20 21:04   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 06/23] drm/i915: Move HAS_GUC " Carlos Santa
2016-07-20 17:40 ` [PATCH 07/23] drm/i915: Move HAS_GUC_UCODE " Carlos Santa
2016-07-20 21:07   ` Rodrigo Vivi
2016-07-21 10:38     ` Tvrtko Ursulin
2016-07-21 17:10       ` Dave Gordon
2016-08-02 10:10         ` Dave Gordon
2016-08-02 14:16           ` Daniel Vetter
2016-08-04 10:13             ` Dave Gordon
2016-07-20 17:40 ` [PATCH 08/23] drm/i915: Move HAS_GUC_SCHED " Carlos Santa
2016-07-20 21:07   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 09/23] drm/i915: Move HAS_RESOURCE_STREAMER " Carlos Santa
2016-07-20 21:14   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 10/23] drm/i915: Move HAS_RC6 " Carlos Santa
2016-07-20 21:16   ` Rodrigo Vivi
2016-07-21 10:50   ` Tvrtko Ursulin
2016-07-21 16:45     ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 11/23] drm/i915: Move HAS_RC6p " Carlos Santa
2016-07-20 21:18   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 12/23] drm/i915: Move HAS_DP_MST " Carlos Santa
2016-07-20 21:21   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 13/23] drm/i915: Introduce GEN5_FEATURES for device info Carlos Santa
2016-07-20 21:22   ` Rodrigo Vivi
2016-07-20 21:24     ` Rodrigo Vivi
2016-08-01 13:05   ` Jani Nikula
2016-07-20 17:40 ` [PATCH 14/23] drm/i915: Move HAS_AUX_IRQ definition to platform definition Carlos Santa
2016-07-20 21:40   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 15/23] drm/i915: Move HAS_GMBUS_IRQ " Carlos Santa
2016-07-20 21:41   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 16/23] drm/i915: Introduce GEN4_FEATURES for device info Carlos Santa
2016-07-20 21:44   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 17/23] drm/i915: Introduce GEN3_FEATURES " Carlos Santa
2016-07-20 21:45   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 18/23] drm/i915: Introduce GEN2 FEATURES " Carlos Santa
2016-07-20 21:47   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 19/23] drm/915: Move HAS_FW_BLC definition to platform Carlos Santa
2016-07-20 21:48   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 20/23] drm/i915: Move HAS_HW_CONTEXTS " Carlos Santa
2016-07-20 21:49   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 21/23] drm/i915: Move HAS_LOGICAL_RING_CONTEXTS definition to platform definition Carlos Santa
2016-07-20 21:51   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 22/23] drm/i915: Move HAS_L3_DPF " Carlos Santa
2016-07-20 21:52   ` Rodrigo Vivi
2016-07-20 17:40 ` [PATCH 23/23] drm/i915: Move HAS_GMCH_DISPLAY definition to platform Carlos Santa
2016-07-20 21:55   ` Rodrigo Vivi
2016-07-21  6:11 ` ✗ Ro.CI.BAT: failure for drm/i915: Organize most GPU features by platform Patchwork
2016-08-01 13:08 ` [PATCH 00/23] " Jani Nikula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1470958698.9399.1.camel@graypixels \
    --to=carlos.santa@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox