Looks good to me. Reviewed-by: Yan Zhao <yan.y.zhao@xxxxxxxxx> > -----Original Message----- > From: intel-gvt-dev [mailto:intel-gvt-dev-bounces@xxxxxxxxxxxxxxxxxxxxx] On > Behalf Of Jani Nikula > Sent: Tuesday, January 8, 2019 10:12 PM > To: intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx > Cc: Nikula, Jani <jani.nikula@xxxxxxxxx>; intel-gfx@xxxxxxxxxxxxxxxxxxxxx; Wang, > Zhi A <zhi.a.wang@xxxxxxxxx>; zhenyuw@xxxxxxxxxxxxxxx > Subject: [PATCH 1/2] drm/i915/gvt: give the cmd parser decode_info a const > treatment > > It doesn't need to be changed, make it const. The string literals should anyway > be referred to as const data. > > The following gets moved to rodata section: > > 0000000000000410 l O .rodata 0000000000000018 decode_info_mi > 0000000000000390 l O .rodata 0000000000000018 > decode_info_3d_media > 00000000000003e0 l O .rodata 0000000000000018 decode_info_2d > 0000000000000330 l O .rodata 0000000000000018 > decode_info_mfx_vc > 00000000000002e0 l O .rodata 0000000000000018 > decode_info_vebox > 0000000000000300 l O .rodata 0000000000000028 sub_op_vebox > 0000000000000360 l O .rodata 0000000000000028 sub_op_mfx_vc > 00000000000003c0 l O .rodata 0000000000000020 sub_op_3d_media > 0000000000000400 l O .rodata 0000000000000010 sub_op_2d > 0000000000000430 l O .rodata 0000000000000010 sub_op_mi > > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/gvt/cmd_parser.c | 30 +++++++++++++-------------- > 1 file changed, 15 insertions(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gvt/cmd_parser.c > b/drivers/gpu/drm/i915/gvt/cmd_parser.c > index 77ae634eb11c..98415d465a09 100644 > --- a/drivers/gpu/drm/i915/gvt/cmd_parser.c > +++ b/drivers/gpu/drm/i915/gvt/cmd_parser.c > @@ -55,10 +55,10 @@ struct sub_op_bits { > int low; > }; > struct decode_info { > - char *name; > + const char *name; > int op_len; > int nr_sub_op; > - struct sub_op_bits *sub_op; > + const struct sub_op_bits *sub_op; > }; > > #define MAX_CMD_BUDGET 0x7fffffff > @@ -485,12 +485,12 @@ struct parser_exec_state { static unsigned long > bypass_scan_mask = 0; > > /* ring ALL, type = 0 */ > -static struct sub_op_bits sub_op_mi[] = { > +static const struct sub_op_bits sub_op_mi[] = { > {31, 29}, > {28, 23}, > }; > > -static struct decode_info decode_info_mi = { > +static const struct decode_info decode_info_mi = { > "MI", > OP_LEN_MI, > ARRAY_SIZE(sub_op_mi), > @@ -498,12 +498,12 @@ static struct decode_info decode_info_mi = { }; > > /* ring RCS, command type 2 */ > -static struct sub_op_bits sub_op_2d[] = { > +static const struct sub_op_bits sub_op_2d[] = { > {31, 29}, > {28, 22}, > }; > > -static struct decode_info decode_info_2d = { > +static const struct decode_info decode_info_2d = { > "2D", > OP_LEN_2D, > ARRAY_SIZE(sub_op_2d), > @@ -511,14 +511,14 @@ static struct decode_info decode_info_2d = { }; > > /* ring RCS, command type 3 */ > -static struct sub_op_bits sub_op_3d_media[] = { > +static const struct sub_op_bits sub_op_3d_media[] = { > {31, 29}, > {28, 27}, > {26, 24}, > {23, 16}, > }; > > -static struct decode_info decode_info_3d_media = { > +static const struct decode_info decode_info_3d_media = { > "3D_Media", > OP_LEN_3D_MEDIA, > ARRAY_SIZE(sub_op_3d_media), > @@ -526,7 +526,7 @@ static struct decode_info decode_info_3d_media = { }; > > /* ring VCS, command type 3 */ > -static struct sub_op_bits sub_op_mfx_vc[] = { > +static const struct sub_op_bits sub_op_mfx_vc[] = { > {31, 29}, > {28, 27}, > {26, 24}, > @@ -534,7 +534,7 @@ static struct sub_op_bits sub_op_mfx_vc[] = { > {20, 16}, > }; > > -static struct decode_info decode_info_mfx_vc = { > +static const struct decode_info decode_info_mfx_vc = { > "MFX_VC", > OP_LEN_MFX_VC, > ARRAY_SIZE(sub_op_mfx_vc), > @@ -542,7 +542,7 @@ static struct decode_info decode_info_mfx_vc = { }; > > /* ring VECS, command type 3 */ > -static struct sub_op_bits sub_op_vebox[] = { > +static const struct sub_op_bits sub_op_vebox[] = { > {31, 29}, > {28, 27}, > {26, 24}, > @@ -550,14 +550,14 @@ static struct sub_op_bits sub_op_vebox[] = { > {20, 16}, > }; > > -static struct decode_info decode_info_vebox = { > +static const struct decode_info decode_info_vebox = { > "VEBOX", > OP_LEN_VEBOX, > ARRAY_SIZE(sub_op_vebox), > sub_op_vebox, > }; > > -static struct decode_info *ring_decode_info[I915_NUM_ENGINES][8] = { > +static const struct decode_info *ring_decode_info[I915_NUM_ENGINES][8] > += { > [RCS] = { > &decode_info_mi, > NULL, > @@ -616,7 +616,7 @@ static struct decode_info > *ring_decode_info[I915_NUM_ENGINES][8] = { > > static inline u32 get_opcode(u32 cmd, int ring_id) { > - struct decode_info *d_info; > + const struct decode_info *d_info; > > d_info = ring_decode_info[ring_id][CMD_TYPE(cmd)]; > if (d_info == NULL) > @@ -657,7 +657,7 @@ static inline u32 sub_op_val(u32 cmd, u32 hi, u32 low) > > static inline void print_opcode(u32 cmd, int ring_id) { > - struct decode_info *d_info; > + const struct decode_info *d_info; > int i; > > d_info = ring_decode_info[ring_id][CMD_TYPE(cmd)]; > -- > 2.20.1 > > _______________________________________________ > intel-gvt-dev mailing list > intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx