On Tue, Feb 28, 2017 at 02:12:59PM +0000, Chris Wilson wrote: > On Tue, Feb 28, 2017 at 02:00:50PM +0000, Michal Wajdeczko wrote: > > Additionally use runtime check to catch invalid engine indices. > > Oh no you don't! We can skip it, but today there is no way to verify that our enums fits into [0..I915_NUM_ENGINES) range. Additionally, you've moved definition of the I915_NUM_ENGINES to separate file far away from enum intel_engine_id definition. > > > Signed-off-by: Michal Wajdeczko <michal.wajdeczko@xxxxxxxxx> > > Cc: Jani Nikula <jani.nikula@xxxxxxxxx> > > --- > > drivers/gpu/drm/i915/intel_engine_cs.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c > > index a238304..8df53ae 100644 > > --- a/drivers/gpu/drm/i915/intel_engine_cs.c > > +++ b/drivers/gpu/drm/i915/intel_engine_cs.c > > @@ -89,6 +89,8 @@ intel_engine_setup(struct drm_i915_private *dev_priv, > > const struct engine_info *info = &intel_engines[id]; > > struct intel_engine_cs *engine; > > > > + BUILD_BUG_ON(ARRAY_SIZE(intel_engines) != I915_NUM_ENGINES); > > + GEM_BUG_ON(id < 0 || id >= I915_NUM_ENGINES); > > Are you sure sparse/smatch won't complain? > /me too lazy to check the C standard for signedness of an enum without a > negative value. enums are int's and as such can be negative ;) see http://en.cppreference.com/w/c/language/enum -Michal _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx