Message ID | 1515695000-18091-1-git-send-email-oscar.mateo@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Jan 11, 2018 at 06:23:20PM +0000, Oscar Mateo wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > Gen11 removes the Resource Streamer, which frees up a big chunk of > the context image. BSpec indicates 12538 DWORDs (13 pages), plus > one page for PPHWSP. > > Please notice that, when looking at the BSpec context image table, > the right filter has to be applied (e.g. "IcelakeLP") as some rows > are excluded for specific GENs. Also, some rows apply per-subslice > (for the calculation above, we have supposed 8 subslices which is > the maximum SKU we expect). > > v2: Rebase. > v3: Use the right size as per the BSpec. > > BSpec: 18907 > > Acked-by: Ben Widawsky <benjamin.widawsky@intel.com> > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> > --- > drivers/gpu/drm/i915/intel_engine_cs.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c > index e88b2fd..79b7d36 100644 > --- a/drivers/gpu/drm/i915/intel_engine_cs.c > +++ b/drivers/gpu/drm/i915/intel_engine_cs.c > @@ -41,6 +41,7 @@ > #define GEN8_LR_CONTEXT_RENDER_SIZE (20 * PAGE_SIZE) > #define GEN9_LR_CONTEXT_RENDER_SIZE (22 * PAGE_SIZE) > #define GEN10_LR_CONTEXT_RENDER_SIZE (18 * PAGE_SIZE) > +#define GEN11_LR_CONTEXT_RENDER_SIZE (14 * PAGE_SIZE) > > #define GEN8_LR_CONTEXT_OTHER_SIZE ( 2 * PAGE_SIZE) > > @@ -181,6 +182,8 @@ struct engine_info { > switch (INTEL_GEN(dev_priv)) { > default: > MISSING_CASE(INTEL_GEN(dev_priv)); I believe this default is getting danger as we decrease the size here. I believe the safest one for missing case is the largest one whatever that is. > + case 11: > + return GEN11_LR_CONTEXT_RENDER_SIZE; > case 10: > return GEN10_LR_CONTEXT_RENDER_SIZE; > case 9: > -- > 1.9.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
On 01/11/2018 11:40 AM, Rodrigo Vivi wrote: > On Thu, Jan 11, 2018 at 06:23:20PM +0000, Oscar Mateo wrote: >> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> >> Gen11 removes the Resource Streamer, which frees up a big chunk of >> the context image. BSpec indicates 12538 DWORDs (13 pages), plus >> one page for PPHWSP. >> >> Please notice that, when looking at the BSpec context image table, >> the right filter has to be applied (e.g. "IcelakeLP") as some rows >> are excluded for specific GENs. Also, some rows apply per-subslice >> (for the calculation above, we have supposed 8 subslices which is >> the maximum SKU we expect). >> >> v2: Rebase. >> v3: Use the right size as per the BSpec. >> >> BSpec: 18907 >> >> Acked-by: Ben Widawsky <benjamin.widawsky@intel.com> >> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> >> --- >> drivers/gpu/drm/i915/intel_engine_cs.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c >> index e88b2fd..79b7d36 100644 >> --- a/drivers/gpu/drm/i915/intel_engine_cs.c >> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c >> @@ -41,6 +41,7 @@ >> #define GEN8_LR_CONTEXT_RENDER_SIZE (20 * PAGE_SIZE) >> #define GEN9_LR_CONTEXT_RENDER_SIZE (22 * PAGE_SIZE) >> #define GEN10_LR_CONTEXT_RENDER_SIZE (18 * PAGE_SIZE) >> +#define GEN11_LR_CONTEXT_RENDER_SIZE (14 * PAGE_SIZE) >> >> #define GEN8_LR_CONTEXT_OTHER_SIZE ( 2 * PAGE_SIZE) >> >> @@ -181,6 +182,8 @@ struct engine_info { >> switch (INTEL_GEN(dev_priv)) { >> default: >> MISSING_CASE(INTEL_GEN(dev_priv)); > I believe this default is getting danger as we decrease the size here. > I believe the safest one for missing case is the largest one whatever that is. That's a very sensible idea. I don't know to put the default case in the middle of the other ones or change the numerical order, so I'll create a new define for the default case... >> + case 11: >> + return GEN11_LR_CONTEXT_RENDER_SIZE; >> case 10: >> return GEN10_LR_CONTEXT_RENDER_SIZE; >> case 9: >> -- >> 1.9.1 >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c index e88b2fd..79b7d36 100644 --- a/drivers/gpu/drm/i915/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/intel_engine_cs.c @@ -41,6 +41,7 @@ #define GEN8_LR_CONTEXT_RENDER_SIZE (20 * PAGE_SIZE) #define GEN9_LR_CONTEXT_RENDER_SIZE (22 * PAGE_SIZE) #define GEN10_LR_CONTEXT_RENDER_SIZE (18 * PAGE_SIZE) +#define GEN11_LR_CONTEXT_RENDER_SIZE (14 * PAGE_SIZE) #define GEN8_LR_CONTEXT_OTHER_SIZE ( 2 * PAGE_SIZE) @@ -181,6 +182,8 @@ struct engine_info { switch (INTEL_GEN(dev_priv)) { default: MISSING_CASE(INTEL_GEN(dev_priv)); + case 11: + return GEN11_LR_CONTEXT_RENDER_SIZE; case 10: return GEN10_LR_CONTEXT_RENDER_SIZE; case 9: