Thanks for your help. > -----Original Message----- > From: Arun Siluvery [mailto:[email protected]] > Sent: Wednesday, September 7, 2016 20:56 > To: Yang, Rong R <[email protected]> > Cc: [email protected]; [email protected]; Chris > Wilson <[email protected]> > Subject: Re: [Beignet] [Patch V3] intel: Export pooled EU and min no. of eus > in a pool. > > On 02/08/2016 07:20, Yang, Rong R wrote: > > I sent a new version, could you check this and give comments/ACK? > > > > Thanks, > > Yang Rong > > > >> -----Original Message----- > >> From: Beignet [mailto:[email protected]] On > >> Behalf Of Yang Rong > >> Sent: Tuesday, August 2, 2016 15:51 > >> To: [email protected]; [email protected] > >> Cc: Yang, Rong R <[email protected]> > >> Subject: [Beignet] [Patch V3] intel: Export pooled EU and min no. of > >> eus in a pool. > >> > >> Update kernel interface with new I915_GETPARAM ioctl entries for > >> pooled EU and min no. of eus in a pool. Add a wrapping function for each > parameter. > >> Userspace drivers need these values when decide the thread count. > >> This kernel enabled pooled eu by default for BXT and for fused down > >> 2x6 parts it is advised to turn it off. > >> > >> But there is another HW issue in these parts (fused down 2x6 parts) > >> before > >> C0 that requires Pooled EU to be enabled as a workaround. In this > >> case the pool configuration changes depending upon which subslice is > >> disabled and the no. of eus in a pool is different, So userspace need > >> to know min no. of eus in a pool. > >> > >> V2: use return value as the query results. > >> ret < 0 when error, ret = 0 when not support, and ret > 0 indicate > >> query results.(Chris) > >> V3: Correct V2 errors. > >> > >> Signed-off-by: Yang Rong <[email protected]> > >> --- > >> include/drm/i915_drm.h | 2 ++ > >> intel/intel_bufmgr.h | 3 +++ > >> intel/intel_bufmgr_gem.c | 30 ++++++++++++++++++++++++++++++ > >> 3 files changed, 35 insertions(+) > >> > >> diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h index > >> c4ce6b2..eb611a7 100644 > >> --- a/include/drm/i915_drm.h > >> +++ b/include/drm/i915_drm.h > >> @@ -357,6 +357,8 @@ typedef struct drm_i915_irq_wait { > >> #define I915_PARAM_HAS_GPU_RESET 35 > >> #define I915_PARAM_HAS_RESOURCE_STREAMER 36 > >> #define I915_PARAM_HAS_EXEC_SOFTPIN 37 > >> +#define I915_PARAM_HAS_POOLED_EU 38 > >> +#define I915_PARAM_MIN_EU_IN_POOL 39 > >> > >> typedef struct drm_i915_getparam { > >> __s32 param; > >> diff --git a/intel/intel_bufmgr.h b/intel/intel_bufmgr.h index > >> a1abbcd..96a4d9d 100644 > >> --- a/intel/intel_bufmgr.h > >> +++ b/intel/intel_bufmgr.h > >> @@ -273,6 +273,9 @@ int drm_intel_get_reset_stats(drm_intel_context > >> *ctx, int drm_intel_get_subslice_total(int fd, unsigned int > >> *subslice_total); int drm_intel_get_eu_total(int fd, unsigned int > >> *eu_total); > >> > >> +int drm_intel_get_pooled_eu(int fd); int > >> +drm_intel_get_min_eu_in_pool(int fd); > >> + > >> /** @{ Compatibility defines to keep old code building despite the > >> symbol rename > >> * from dri_* to drm_intel_* > >> */ > >> diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c > >> index > >> 0a4012b..b0a0eb9 100644 > >> --- a/intel/intel_bufmgr_gem.c > >> +++ b/intel/intel_bufmgr_gem.c > >> @@ -3237,6 +3237,36 @@ drm_intel_get_eu_total(int fd, unsigned int > >> *eu_total) > >> return 0; > >> } > >> > >> +int > >> +drm_intel_get_pooled_eu(int fd) > >> +{ > >> + drm_i915_getparam_t gp; > >> + int ret; > > with 'ret' initialized to -1 in both functions, this patch is now merged to > libdrm. > > Thanks Chris for the review and pushing it. > > regards > Arun > > > >> + > >> + memclear(gp); > >> + gp.param = I915_PARAM_HAS_POOLED_EU; > >> + gp.value = &ret; > >> + if (drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp)) > >> + return -errno; > >> + > >> + return ret; > >> +} > >> + > >> +int > >> +drm_intel_get_min_eu_in_pool(int fd) { > >> + drm_i915_getparam_t gp; > >> + int ret; > >> + > >> + memclear(gp); > >> + gp.param = I915_PARAM_MIN_EU_IN_POOL; > >> + gp.value = &ret; > >> + if (drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp)) > >> + return -errno; > >> + > >> + return ret; > >> +} > >> + > >> /** > >> * Annotate the given bo for use in aub dumping. > >> * > >> -- > >> 2.1.4 > >> > >> _______________________________________________ > >> Beignet mailing list > >> [email protected] > >> https://lists.freedesktop.org/mailman/listinfo/beignet > > _______________________________________________ > > Beignet mailing list > > [email protected] > > https://lists.freedesktop.org/mailman/listinfo/beignet > >
_______________________________________________ Beignet mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/beignet
