Re: [PATCH v2 2/7] drm/i915: Rename IS_GEN to GT_RANGE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 28, 2018 at 10:02:22AM +0200, Jani Nikula wrote:
> On Tue, 06 Nov 2018, Lucas De Marchi <lucas.demarchi@xxxxxxxxx> wrote:
> > From: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
> >
> > RANGE makes it longer, but clear. We are also going to add a check for
> > the display part, so make rename to GT.
> 
> I also still have my doubts about this patch I'm afraid. I've expressed
> the concern before, but here goes again.
> 
> How much is the split of gen to GT gen and display gen going to help us
> in the long run? The only current platform that would benefit from this
> is GLK. However, not all IS_GEMINILAKE() can be replaced with
> IS_DISPLAY_GEN() >= 10 or similar. We also have VLV/CHV display that is
> better represented by HAS_GMCH_DISPLAY() and AFAICT can't usefully be
> replaced by a display gen check.

Fair enough. I believe I have to prove that out with the other series
that I'm planning to put on top.

For this one for now maybe we should just rename IS_GEN() to GEN_RANGE()

And latter on the series introducing the display_gen we could convert
that to GT_GEN_RANGE DISPLAY_GEN_RANGE if that is acceptable.

> 
> My main fear is that the split adds a lot of confusion. (Where should I
> use GT gen, where should I use display gen, patches to change between
> one and the other. It's not 100% clear cut.)

Yes, this is a very good point. Specially around some gray areas like PM.
So let's hold this discussion for the next series and first organize
the current gen_range vs is_gen/intel_gen <= etc...

> 
> Here too I wonder if we're better off adding more has_feature flags that
> describe what gt or display features a platform has.

This is another thing we should discuss separated of this thread.
I believe that our platform definition and addition as a room for improve
somehow... I just don't have good ideas :/ and I also believe this is
discussion for another series and should not block the progress of
this one.

> 
> BR,
> Jani.
> 
> 
> >
> > Diff generated with:
> >
> > sed 's/IS_GEN(/GT_GEN_RANGE(/g' drivers/gpu/drm/i915/*.{c,h} -i
> >
> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
> > Reviewed-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
> > ---
> >  drivers/gpu/drm/i915/i915_drv.h         |  2 +-
> >  drivers/gpu/drm/i915/i915_perf.c        |  4 ++--
> >  drivers/gpu/drm/i915/intel_bios.c       |  2 +-
> >  drivers/gpu/drm/i915/intel_engine_cs.c  |  2 +-
> >  drivers/gpu/drm/i915/intel_fbc.c        |  2 +-
> >  drivers/gpu/drm/i915/intel_hangcheck.c  |  2 +-
> >  drivers/gpu/drm/i915/intel_ringbuffer.c |  8 ++++----
> >  drivers/gpu/drm/i915/intel_uncore.c     | 12 ++++++------
> >  8 files changed, 17 insertions(+), 17 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index 8839a34f7648..e4749e93a1f9 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -2374,7 +2374,7 @@ intel_info(const struct drm_i915_private *dev_priv)
> >   *
> >   * Use GEN_FOREVER for unbound start and or end.
> >   */
> > -#define IS_GEN(dev_priv, s, e) \
> > +#define GT_GEN_RANGE(dev_priv, s, e) \
> >  	(!!((dev_priv)->info.gen_mask & INTEL_GEN_MASK((s), (e))))
> >  
> >  /*
> > diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> > index 2c2b63be7a6c..acc3502403b3 100644
> > --- a/drivers/gpu/drm/i915/i915_perf.c
> > +++ b/drivers/gpu/drm/i915/i915_perf.c
> > @@ -1796,7 +1796,7 @@ static int gen8_enable_metric_set(struct i915_perf_stream *stream)
> >  	 * be read back from automatically triggered reports, as part of the
> >  	 * RPT_ID field.
> >  	 */
> > -	if (IS_GEN(dev_priv, 9, 11)) {
> > +	if (GT_GEN_RANGE(dev_priv, 9, 11)) {
> >  		I915_WRITE(GEN8_OA_DEBUG,
> >  			   _MASKED_BIT_ENABLE(GEN9_OA_DEBUG_DISABLE_CLK_RATIO_REPORTS |
> >  					      GEN9_OA_DEBUG_INCLUDE_CLK_RATIO));
> > @@ -3476,7 +3476,7 @@ void i915_perf_init(struct drm_i915_private *dev_priv)
> >  
> >  				dev_priv->perf.oa.gen8_valid_ctx_bit = (1<<16);
> >  			}
> > -		} else if (IS_GEN(dev_priv, 10, 11)) {
> > +		} else if (GT_GEN_RANGE(dev_priv, 10, 11)) {
> >  			dev_priv->perf.oa.ops.is_valid_b_counter_reg =
> >  				gen7_is_valid_b_counter_addr;
> >  			dev_priv->perf.oa.ops.is_valid_mux_reg =
> > diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> > index 0ad2304457ab..fb918e942e9a 100644
> > --- a/drivers/gpu/drm/i915/intel_bios.c
> > +++ b/drivers/gpu/drm/i915/intel_bios.c
> > @@ -446,7 +446,7 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv, u8 bdb_version)
> >  	 * Only parse SDVO mappings on gens that could have SDVO. This isn't
> >  	 * accurate and doesn't have to be, as long as it's not too strict.
> >  	 */
> > -	if (!IS_GEN(dev_priv, 3, 7)) {
> > +	if (!GT_GEN_RANGE(dev_priv, 3, 7)) {
> >  		DRM_DEBUG_KMS("Skipping SDVO device mapping\n");
> >  		return;
> >  	}
> > diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
> > index bc147d9e6c92..4f7b654614e9 100644
> > --- a/drivers/gpu/drm/i915/intel_engine_cs.c
> > +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> > @@ -1286,7 +1286,7 @@ static void intel_engine_print_registers(const struct intel_engine_cs *engine,
> >  		&engine->execlists;
> >  	u64 addr;
> >  
> > -	if (engine->id == RCS && IS_GEN(dev_priv, 4, 7))
> > +	if (engine->id == RCS && GT_GEN_RANGE(dev_priv, 4, 7))
> >  		drm_printf(m, "\tCCID: 0x%08x\n", I915_READ(CCID));
> >  	drm_printf(m, "\tRING_START: 0x%08x\n",
> >  		   I915_READ(RING_START(engine->mmio_base)));
> > diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
> > index 14cbaf4a0e93..9f41779988e5 100644
> > --- a/drivers/gpu/drm/i915/intel_fbc.c
> > +++ b/drivers/gpu/drm/i915/intel_fbc.c
> > @@ -784,7 +784,7 @@ static bool intel_fbc_can_activate(struct intel_crtc *crtc)
> >  	 * having a Y offset that isn't divisible by 4 causes FIFO underrun
> >  	 * and screen flicker.
> >  	 */
> > -	if (IS_GEN(dev_priv, 9, 10) &&
> > +	if (GT_GEN_RANGE(dev_priv, 9, 10) &&
> >  	    (fbc->state_cache.plane.adjusted_y & 3)) {
> >  		fbc->no_fbc_reason = "plane Y offset is misaligned";
> >  		return false;
> > diff --git a/drivers/gpu/drm/i915/intel_hangcheck.c b/drivers/gpu/drm/i915/intel_hangcheck.c
> > index e26d05a46451..9b15ed1409ae 100644
> > --- a/drivers/gpu/drm/i915/intel_hangcheck.c
> > +++ b/drivers/gpu/drm/i915/intel_hangcheck.c
> > @@ -252,7 +252,7 @@ engine_stuck(struct intel_engine_cs *engine, u64 acthd)
> >  		return ENGINE_WAIT_KICK;
> >  	}
> >  
> > -	if (IS_GEN(dev_priv, 6, 7) && tmp & RING_WAIT_SEMAPHORE) {
> > +	if (GT_GEN_RANGE(dev_priv, 6, 7) && tmp & RING_WAIT_SEMAPHORE) {
> >  		switch (semaphore_passed(engine)) {
> >  		default:
> >  			return ENGINE_DEAD;
> > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> > index b8a7a014d46d..0e5f49c45298 100644
> > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> > @@ -407,7 +407,7 @@ static void intel_ring_setup_status_page(struct intel_engine_cs *engine)
> >  	POSTING_READ(mmio);
> >  
> >  	/* Flush the TLB for this page */
> > -	if (IS_GEN(dev_priv, 6, 7)) {
> > +	if (GT_GEN_RANGE(dev_priv, 6, 7)) {
> >  		i915_reg_t reg = RING_INSTPM(engine->mmio_base);
> >  
> >  		/* ring should be idle before issuing a sync flush*/
> > @@ -629,7 +629,7 @@ static int init_render_ring(struct intel_engine_cs *engine)
> >  	intel_whitelist_workarounds_apply(engine);
> >  
> >  	/* WaTimedSingleVertexDispatch:cl,bw,ctg,elk,ilk,snb */
> > -	if (IS_GEN(dev_priv, 4, 6))
> > +	if (GT_GEN_RANGE(dev_priv, 4, 6))
> >  		I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(VS_TIMER_DISPATCH));
> >  
> >  	/* We need to disable the AsyncFlip performance optimisations in order
> > @@ -638,7 +638,7 @@ static int init_render_ring(struct intel_engine_cs *engine)
> >  	 *
> >  	 * WaDisableAsyncFlipPerfMode:snb,ivb,hsw,vlv
> >  	 */
> > -	if (IS_GEN(dev_priv, 6, 7))
> > +	if (GT_GEN_RANGE(dev_priv, 6, 7))
> >  		I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(ASYNC_FLIP_PERF_DISABLE));
> >  
> >  	/* Required for the hardware to program scanline values for waiting */
> > @@ -663,7 +663,7 @@ static int init_render_ring(struct intel_engine_cs *engine)
> >  			   _MASKED_BIT_DISABLE(CM0_STC_EVICT_DISABLE_LRA_SNB));
> >  	}
> >  
> > -	if (IS_GEN(dev_priv, 6, 7))
> > +	if (GT_GEN_RANGE(dev_priv, 6, 7))
> >  		I915_WRITE(INSTPM, _MASKED_BIT_ENABLE(INSTPM_FORCE_ORDERING));
> >  
> >  	if (INTEL_GEN(dev_priv) >= 6)
> > diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
> > index 9289515108c3..4ffe26cc3c3f 100644
> > --- a/drivers/gpu/drm/i915/intel_uncore.c
> > +++ b/drivers/gpu/drm/i915/intel_uncore.c
> > @@ -1567,13 +1567,13 @@ void intel_uncore_init(struct drm_i915_private *dev_priv)
> >  	dev_priv->uncore.pmic_bus_access_nb.notifier_call =
> >  		i915_pmic_bus_access_notifier;
> >  
> > -	if (IS_GEN(dev_priv, 2, 4) || intel_vgpu_active(dev_priv)) {
> > +	if (GT_GEN_RANGE(dev_priv, 2, 4) || intel_vgpu_active(dev_priv)) {
> >  		ASSIGN_WRITE_MMIO_VFUNCS(dev_priv, gen2);
> >  		ASSIGN_READ_MMIO_VFUNCS(dev_priv, gen2);
> >  	} else if (IS_GEN5(dev_priv)) {
> >  		ASSIGN_WRITE_MMIO_VFUNCS(dev_priv, gen5);
> >  		ASSIGN_READ_MMIO_VFUNCS(dev_priv, gen5);
> > -	} else if (IS_GEN(dev_priv, 6, 7)) {
> > +	} else if (GT_GEN_RANGE(dev_priv, 6, 7)) {
> >  		ASSIGN_WRITE_MMIO_VFUNCS(dev_priv, gen6);
> >  
> >  		if (IS_VALLEYVIEW(dev_priv)) {
> > @@ -1592,7 +1592,7 @@ void intel_uncore_init(struct drm_i915_private *dev_priv)
> >  			ASSIGN_WRITE_MMIO_VFUNCS(dev_priv, gen8);
> >  			ASSIGN_READ_MMIO_VFUNCS(dev_priv, gen6);
> >  		}
> > -	} else if (IS_GEN(dev_priv, 9, 10)) {
> > +	} else if (GT_GEN_RANGE(dev_priv, 9, 10)) {
> >  		ASSIGN_FW_DOMAINS_TABLE(__gen9_fw_ranges);
> >  		ASSIGN_WRITE_MMIO_VFUNCS(dev_priv, fwtable);
> >  		ASSIGN_READ_MMIO_VFUNCS(dev_priv, fwtable);
> > @@ -2321,7 +2321,7 @@ intel_uncore_forcewake_for_read(struct drm_i915_private *dev_priv,
> >  	} else if (INTEL_GEN(dev_priv) >= 6) {
> >  		fw_domains = __gen6_reg_read_fw_domains(offset);
> >  	} else {
> > -		WARN_ON(!IS_GEN(dev_priv, 2, 5));
> > +		WARN_ON(!GT_GEN_RANGE(dev_priv, 2, 5));
> >  		fw_domains = 0;
> >  	}
> >  
> > @@ -2343,10 +2343,10 @@ intel_uncore_forcewake_for_write(struct drm_i915_private *dev_priv,
> >  		fw_domains = __fwtable_reg_write_fw_domains(offset);
> >  	} else if (IS_GEN8(dev_priv)) {
> >  		fw_domains = __gen8_reg_write_fw_domains(offset);
> > -	} else if (IS_GEN(dev_priv, 6, 7)) {
> > +	} else if (GT_GEN_RANGE(dev_priv, 6, 7)) {
> >  		fw_domains = FORCEWAKE_RENDER;
> >  	} else {
> > -		WARN_ON(!IS_GEN(dev_priv, 2, 5));
> > +		WARN_ON(!GT_GEN_RANGE(dev_priv, 2, 5));
> >  		fw_domains = 0;
> >  	}
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux