Message ID | 20220707182738.2845991-1-umesh.nerlige.ramappa@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | i915/perf: Disable OA sseu config param for non-gen11 platforms | expand |
On Thu, Jul 07, 2022 at 11:27:38AM -0700, Nerlige Ramappa, Umesh wrote: >The global sseu config is applicable only to gen11 platforms where >concurrent media, render and OA use cases may cause some subslices to be >turned off and hence lose NOA configuration. Return ENODEV for non-gen11 >platforms. > >v2: gfx12 is already shipped with this, disable for gfx12.5+ (Lionel) Pleas ignore, will post an update to this one with commit message changes. Umesh > >Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> >--- > drivers/gpu/drm/i915/i915_perf.c | 6 ++++++ > 1 file changed, 6 insertions(+) > >diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c >index 1577ab6754db..0ba98f73f217 100644 >--- a/drivers/gpu/drm/i915/i915_perf.c >+++ b/drivers/gpu/drm/i915/i915_perf.c >@@ -3706,6 +3706,12 @@ static int read_properties_unlocked(struct i915_perf *perf, > case DRM_I915_PERF_PROP_GLOBAL_SSEU: { > struct drm_i915_gem_context_param_sseu user_sseu; > >+ if (GRAPHICS_VER_FULL(perf->i915) >= IP_VER(12, 50)) { >+ DRM_DEBUG("SSEU config not supported on gfx %x\n", >+ GRAPHICS_VER_FULL(perf->i915)); >+ return -ENODEV; >+ } >+ > if (copy_from_user(&user_sseu, > u64_to_user_ptr(value), > sizeof(user_sseu))) { >-- >2.35.3 >
On Thu, Jul 07, 2022 at 11:27:38AM -0700, Nerlige Ramappa, Umesh wrote: > The global sseu config is applicable only to gen11 platforms where > concurrent media, render and OA use cases may cause some subslices to be > turned off and hence lose NOA configuration. Return ENODEV for non-gen11 > platforms. > > v2: gfx12 is already shipped with this, disable for gfx12.5+ (Lionel) The commit message doesn't really match reality anymore with v2; you might want to update the commit message a bit. Also, minor nitpick: although we write IP version numbers as "arc.release" in shorthand, we shouldn't make the mistake of treating those as fractional numbers since ".5" != ".50" the way they get handled in the driver. So this should say "12.50+" rather than "12.5+." > > Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> > --- > drivers/gpu/drm/i915/i915_perf.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c > index 1577ab6754db..0ba98f73f217 100644 > --- a/drivers/gpu/drm/i915/i915_perf.c > +++ b/drivers/gpu/drm/i915/i915_perf.c > @@ -3706,6 +3706,12 @@ static int read_properties_unlocked(struct i915_perf *perf, > case DRM_I915_PERF_PROP_GLOBAL_SSEU: { > struct drm_i915_gem_context_param_sseu user_sseu; > > + if (GRAPHICS_VER_FULL(perf->i915) >= IP_VER(12, 50)) { > + DRM_DEBUG("SSEU config not supported on gfx %x\n", > + GRAPHICS_VER_FULL(perf->i915)); This should probably be using the device-specific drm_dbg() call. Actually the perf code in general needs some updates to eliminate DRM_DEBUG throughout...not only do we want to avoid using the old non-device-aware interface in newer code, that's also the wrong old interface to call (DRM_DEBUG categorizes messages as DRM_UT_CORE, whereas DRM_DEBUG_DRIVER is the one that treats them as driver messages with DRM_UT_DRIVER). Matt > + return -ENODEV; > + } > + > if (copy_from_user(&user_sseu, > u64_to_user_ptr(value), > sizeof(user_sseu))) { > -- > 2.35.3 >
On Thu, Jul 07, 2022 at 11:49:30AM -0700, Matt Roper wrote: >On Thu, Jul 07, 2022 at 11:27:38AM -0700, Nerlige Ramappa, Umesh wrote: >> The global sseu config is applicable only to gen11 platforms where >> concurrent media, render and OA use cases may cause some subslices to be >> turned off and hence lose NOA configuration. Return ENODEV for non-gen11 >> platforms. >> >> v2: gfx12 is already shipped with this, disable for gfx12.5+ (Lionel) > >The commit message doesn't really match reality anymore with v2; you >might want to update the commit message a bit. > >Also, minor nitpick: although we write IP version numbers as >"arc.release" in shorthand, we shouldn't make the mistake of treating >those as fractional numbers since ".5" != ".50" the way they get handled >in the driver. So this should say "12.50+" rather than "12.5+." will do. I think I posted an updated patch before seeing your comments, so ignore that one. > >> >> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> >> --- >> drivers/gpu/drm/i915/i915_perf.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c >> index 1577ab6754db..0ba98f73f217 100644 >> --- a/drivers/gpu/drm/i915/i915_perf.c >> +++ b/drivers/gpu/drm/i915/i915_perf.c >> @@ -3706,6 +3706,12 @@ static int read_properties_unlocked(struct i915_perf *perf, >> case DRM_I915_PERF_PROP_GLOBAL_SSEU: { >> struct drm_i915_gem_context_param_sseu user_sseu; >> >> + if (GRAPHICS_VER_FULL(perf->i915) >= IP_VER(12, 50)) { >> + DRM_DEBUG("SSEU config not supported on gfx %x\n", >> + GRAPHICS_VER_FULL(perf->i915)); > >This should probably be using the device-specific drm_dbg() call. > >Actually the perf code in general needs some updates to eliminate >DRM_DEBUG throughout...not only do we want to avoid using the old >non-device-aware interface in newer code, that's also the wrong old >interface to call (DRM_DEBUG categorizes messages as DRM_UT_CORE, >whereas DRM_DEBUG_DRIVER is the one that treats them as driver messages >with DRM_UT_DRIVER). will replace with drm_dbg() Thanks, Umesh > > >Matt > >> + return -ENODEV; >> + } >> + >> if (copy_from_user(&user_sseu, >> u64_to_user_ptr(value), >> sizeof(user_sseu))) { >> -- >> 2.35.3 >> > >-- >Matt Roper >Graphics Software Engineer >VTT-OSGC Platform Enablement >Intel Corporation
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c index 1577ab6754db..0ba98f73f217 100644 --- a/drivers/gpu/drm/i915/i915_perf.c +++ b/drivers/gpu/drm/i915/i915_perf.c @@ -3706,6 +3706,12 @@ static int read_properties_unlocked(struct i915_perf *perf, case DRM_I915_PERF_PROP_GLOBAL_SSEU: { struct drm_i915_gem_context_param_sseu user_sseu; + if (GRAPHICS_VER_FULL(perf->i915) >= IP_VER(12, 50)) { + DRM_DEBUG("SSEU config not supported on gfx %x\n", + GRAPHICS_VER_FULL(perf->i915)); + return -ENODEV; + } + if (copy_from_user(&user_sseu, u64_to_user_ptr(value), sizeof(user_sseu))) {
The global sseu config is applicable only to gen11 platforms where concurrent media, render and OA use cases may cause some subslices to be turned off and hence lose NOA configuration. Return ENODEV for non-gen11 platforms. v2: gfx12 is already shipped with this, disable for gfx12.5+ (Lionel) Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> --- drivers/gpu/drm/i915/i915_perf.c | 6 ++++++ 1 file changed, 6 insertions(+)