Message ID | 20170120214530.1062-2-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Jan 20, 2017 at 09:45:30PM +0000, Chris Wilson wrote: > drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue > > If we move the shift into each case not only do we kill the warning from > smatch, but we shrink the code slightly: > > text data bss dec hex filename > 1267906 20587 3168 1291661 13b58d before > 1267890 20587 3168 1291645 13b57d after > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Any takers for this pair? -Chris
On Fri, 20 Jan 2017, Chris Wilson <chris@chris-wilson.co.uk> wrote: > drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue > drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue I don't understand the error, but the change is sane Reviewed-by: Jani Nikula <jani.nikula@intel.com> > > If we move the shift into each case not only do we kill the warning from > smatch, but we shrink the code slightly: > > text data bss dec hex filename > 1267906 20587 3168 1291661 13b58d before > 1267890 20587 3168 1291645 13b57d after > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > --- > drivers/gpu/drm/i915/i915_cmd_parser.c | 13 +++---------- > 1 file changed, 3 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c > index 420bbc220f35..650ee34f5786 100644 > --- a/drivers/gpu/drm/i915/i915_cmd_parser.c > +++ b/drivers/gpu/drm/i915/i915_cmd_parser.c > @@ -800,22 +800,15 @@ struct cmd_node { > */ > static inline u32 cmd_header_key(u32 x) > { > - u32 shift; > - > switch (x >> INSTR_CLIENT_SHIFT) { > default: > case INSTR_MI_CLIENT: > - shift = STD_MI_OPCODE_SHIFT; > - break; > + return x >> STD_MI_OPCODE_SHIFT; > case INSTR_RC_CLIENT: > - shift = STD_3D_OPCODE_SHIFT; > - break; > + return x >> STD_3D_OPCODE_SHIFT; > case INSTR_BC_CLIENT: > - shift = STD_2D_OPCODE_SHIFT; > - break; > + return x >> STD_2D_OPCODE_SHIFT; > } > - > - return x >> shift; > } > > static int init_hash_table(struct intel_engine_cs *engine,
diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c index 420bbc220f35..650ee34f5786 100644 --- a/drivers/gpu/drm/i915/i915_cmd_parser.c +++ b/drivers/gpu/drm/i915/i915_cmd_parser.c @@ -800,22 +800,15 @@ struct cmd_node { */ static inline u32 cmd_header_key(u32 x) { - u32 shift; - switch (x >> INSTR_CLIENT_SHIFT) { default: case INSTR_MI_CLIENT: - shift = STD_MI_OPCODE_SHIFT; - break; + return x >> STD_MI_OPCODE_SHIFT; case INSTR_RC_CLIENT: - shift = STD_3D_OPCODE_SHIFT; - break; + return x >> STD_3D_OPCODE_SHIFT; case INSTR_BC_CLIENT: - shift = STD_2D_OPCODE_SHIFT; - break; + return x >> STD_2D_OPCODE_SHIFT; } - - return x >> shift; } static int init_hash_table(struct intel_engine_cs *engine,
drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue drivers/gpu/drm/i915/i915_cmd_parser.c:808:23: error: not an lvalue drivers/gpu/drm/i915/i915_cmd_parser.c:811:23: error: not an lvalue drivers/gpu/drm/i915/i915_cmd_parser.c:814:23: error: not an lvalue If we move the shift into each case not only do we kill the warning from smatch, but we shrink the code slightly: text data bss dec hex filename 1267906 20587 3168 1291661 13b58d before 1267890 20587 3168 1291645 13b57d after Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_cmd_parser.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-)