[Intel-gfx] [PATCH 1/2] drm/i915/gvt: give the cmd parser decode_info a const treatment
Zhao, Yan Y
yan.y.zhao at intel.com
Thu Jan 10 02:51:25 UTC 2019
Looks good to me.
Reviewed-by: Yan Zhao <yan.y.zhao at intel.com>
> -----Original Message-----
> From: intel-gvt-dev [mailto:intel-gvt-dev-bounces at lists.freedesktop.org] On
> Behalf Of Jani Nikula
> Sent: Tuesday, January 8, 2019 10:12 PM
> To: intel-gvt-dev at lists.freedesktop.org
> Cc: Nikula, Jani <jani.nikula at intel.com>; intel-gfx at lists.freedesktop.org; Wang,
> Zhi A <zhi.a.wang at intel.com>; zhenyuw at linux.intel.com
> 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 at intel.com>
> ---
> 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev
More information about the Intel-gfx
mailing list