<div dir="ltr">cc'ing Ben to get his opinion... <br><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 6, 2015 at 10:43 AM Vivi, Rodrigo <<a href="mailto:rodrigo.vivi@intel.com">rodrigo.vivi@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, 2015-10-06 at 12:24 +0300, Jani Nikula wrote:<br>
> On Tue, 06 Oct 2015, Rodrigo Vivi <<a href="mailto:rodrigo.vivi@intel.com" target="_blank">rodrigo.vivi@intel.com</a>> wrote:<br>
> > Kabylake is gen 9.5 derivated from Skylake H0 stepping.<br>
> ><br>
> > So we don't need pre-production Skylake workaround and also<br>
> > firmware loading will use SKL H0 offsets.<br>
> ><br>
> > Signed-off-by: Rodrigo Vivi <<a href="mailto:rodrigo.vivi@intel.com" target="_blank">rodrigo.vivi@intel.com</a>><br>
> > ---<br>
> >  drivers/gpu/drm/i915/i915_drv.h | 7 ++++++-<br>
> >  1 file changed, 6 insertions(+), 1 deletion(-)<br>
> ><br>
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h<br>
> > b/drivers/gpu/drm/i915/i915_drv.h<br>
> > index 7374a0d..580c005 100644<br>
> > --- a/drivers/gpu/drm/i915/i915_drv.h<br>
> > +++ b/drivers/gpu/drm/i915/i915_drv.h<br>
> > @@ -2436,7 +2436,6 @@ struct drm_i915_cmd_table {<br>
> >  })<br>
> >  #define INTEL_INFO(p)      (&__I915__(p)->info)<br>
> >  #define INTEL_DEVID(p)     (INTEL_INFO(p)->device_id)<br>
> > -#define INTEL_REVID(p)     (__I915__(p)->dev->pdev->revision)<br>
> ><br>
> >  #define IS_I830(dev)               (INTEL_DEVID(dev) == 0x3577)<br>
> >  #define IS_845G(dev)               (INTEL_DEVID(dev) == 0x2562)<br>
> > @@ -2508,6 +2507,9 @@ struct drm_i915_cmd_table {<br>
> ><br>
> >  #define IS_PRELIMINARY_HW(intel_info) ((intel_info)<br>
> > ->is_preliminary)<br>
> ><br>
> > +#define INTEL_REVID(p)     (__I915__(p)->dev->pdev->revision +<br>
> > \<br>
> > +                    IS_KABYLAKE(p) ? 7 : 0)<br>
> > +<br>
><br>
> I am not fond of this at all. It will be really confusing that<br>
> ->revision is different from INTEL_REVID when checking the<br>
> workarounds,<br>
> and that you'll be using SKL_REVID_* to match KBL revision<br>
> ids.<br>
<br>
this is exactly one of the reasons why I did this sum in this way so<br>
they never match...<br>
<br>
> Additionally, we'll probably want to start removing SKL workarounds<br>
> before KBL workarounds.<br>
<br>
I believe this is another discussion... On HSW BDW I remember I was<br>
removing old Wa as it was no longer needed, but on SKL I saw this REVID<br>
and I believed the idea was to let them there since some devs might be<br>
using preliminary platforms yet for other reasons... I don't see a<br>
problem of letting the old W/a there.<br>
<br>
><br>
> Others may disagree, but I'd like KBL revid checks be different from<br>
> SKL.<br>
><br>
> >  #define SKL_REVID_A0               (0x0)<br>
> >  #define SKL_REVID_B0               (0x1)<br>
> >  #define SKL_REVID_C0               (0x2)<br>
> > @@ -2515,6 +2517,9 @@ struct drm_i915_cmd_table {<br>
> >  #define SKL_REVID_E0               (0x4)<br>
> >  #define SKL_REVID_F0               (0x5)<br>
> ><br>
> > +/* KBL A0 is based on SKL H0 */<br>
> > +#define KBL_REVID_A0               (0x7)<br>
><br>
> You can't compare this against INTEL_REVID() now can you...? Or is<br>
> this<br>
> not the one in the spec? Confused already.<br>
<br>
Yes, this is confusing indeed. It seems that we have many levels of<br>
steppings (according to platform guys) and this platform stepping<br>
returning 0 is our KBL A0, but this correspond to our internal gpu<br>
stepping H0 (same going to skl h0).<br>
<br>
Like dmc firmware loading for instance we need to load the firmware for<br>
stepping 7.<br>
<br>
So yes, this definition matches BSPec KBL A0.<br>
<br>
><br>
> BR,<br>
> Jani.<br>
><br>
> > +<br>
> >  #define BXT_REVID_A0               (0x0)<br>
> >  #define BXT_REVID_B0               (0x3)<br>
> >  #define BXT_REVID_C0               (0x9)<br>
> > --<br>
> > 2.4.3<br>
> ><br>
> > _______________________________________________<br>
> > Intel-gfx mailing list<br>
> > <a href="mailto:Intel-gfx@lists.freedesktop.org" target="_blank">Intel-gfx@lists.freedesktop.org</a><br>
> > <a href="http://lists.freedesktop.org/mailman/listinfo/intel-gfx" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/intel-gfx</a><br>
><br>
_______________________________________________<br>
Intel-gfx mailing list<br>
<a href="mailto:Intel-gfx@lists.freedesktop.org" target="_blank">Intel-gfx@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/intel-gfx" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/intel-gfx</a><br>
</blockquote></div></div>