[2/2] drm/i915/gvt: give the cmd parser cmd_info a const treatment

Submitted by Jani Nikula on Jan. 8, 2019, 2:12 p.m.

Details

Message ID 20190108141205.17860-2-jani.nikula@intel.com
State New
Series "Series without cover letter"
Headers show

Commit Message

Jani Nikula Jan. 8, 2019, 2:12 p.m.
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:

0000000000000080 l     O .rodata	0000000000001c00 cmd_info

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/gvt/cmd_parser.c | 24 ++++++++++++------------
 drivers/gpu/drm/i915/gvt/trace.h      |  2 +-
 2 files changed, 13 insertions(+), 13 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/i915/gvt/cmd_parser.c b/drivers/gpu/drm/i915/gvt/cmd_parser.c
index 98415d465a09..cae00e6debaf 100644
--- a/drivers/gpu/drm/i915/gvt/cmd_parser.c
+++ b/drivers/gpu/drm/i915/gvt/cmd_parser.c
@@ -375,7 +375,7 @@  typedef int (*parser_cmd_handler)(struct parser_exec_state *s);
 #define ADDR_FIX_5(x1, x2, x3, x4, x5)  (ADDR_FIX_1(x1) | ADDR_FIX_4(x2, x3, x4, x5))
 
 struct cmd_info {
-	char *name;
+	const char *name;
 	u32 opcode;
 
 #define F_LEN_MASK	(1U<<0)
@@ -425,7 +425,7 @@  struct cmd_info {
 
 struct cmd_entry {
 	struct hlist_node hlist;
-	struct cmd_info *info;
+	const struct cmd_info *info;
 };
 
 enum {
@@ -474,7 +474,7 @@  struct parser_exec_state {
 	int saved_buf_addr_type;
 	bool is_ctx_wa;
 
-	struct cmd_info *info;
+	const struct cmd_info *info;
 
 	struct intel_vgpu_workload *workload;
 };
@@ -625,7 +625,7 @@  static inline u32 get_opcode(u32 cmd, int ring_id)
 	return cmd >> (32 - d_info->op_len);
 }
 
-static inline struct cmd_info *find_cmd_entry(struct intel_gvt *gvt,
+static inline const struct cmd_info *find_cmd_entry(struct intel_gvt *gvt,
 		unsigned int opcode, int ring_id)
 {
 	struct cmd_entry *e;
@@ -638,7 +638,7 @@  static inline struct cmd_info *find_cmd_entry(struct intel_gvt *gvt,
 	return NULL;
 }
 
-static inline struct cmd_info *get_cmd_info(struct intel_gvt *gvt,
+static inline const struct cmd_info *get_cmd_info(struct intel_gvt *gvt,
 		u32 cmd, int ring_id)
 {
 	u32 opcode;
@@ -776,7 +776,7 @@  static inline int ip_gma_advance(struct parser_exec_state *s,
 	return 0;
 }
 
-static inline int get_cmd_length(struct cmd_info *info, u32 cmd)
+static inline int get_cmd_length(const struct cmd_info *info, u32 cmd)
 {
 	if ((info->flag & F_LEN_MASK) == F_LEN_CONST)
 		return info->len;
@@ -1643,7 +1643,7 @@  static int batch_buffer_needs_scan(struct parser_exec_state *s)
 static int find_bb_size(struct parser_exec_state *s, unsigned long *bb_size)
 {
 	unsigned long gma = 0;
-	struct cmd_info *info;
+	const struct cmd_info *info;
 	uint32_t cmd_len = 0;
 	bool bb_end = false;
 	struct intel_vgpu *vgpu = s->vgpu;
@@ -1842,7 +1842,7 @@  static int cmd_handler_mi_batch_buffer_start(struct parser_exec_state *s)
 
 static int mi_noop_index;
 
-static struct cmd_info cmd_info[] = {
+static const struct cmd_info cmd_info[] = {
 	{"MI_NOOP", OP_MI_NOOP, F_LEN_CONST, R_ALL, D_ALL, 0, 1, NULL},
 
 	{"MI_SET_PREDICATE", OP_MI_SET_PREDICATE, F_LEN_CONST, R_ALL, D_ALL,
@@ -2521,7 +2521,7 @@  static void add_cmd_entry(struct intel_gvt *gvt, struct cmd_entry *e)
 static int cmd_parser_exec(struct parser_exec_state *s)
 {
 	struct intel_vgpu *vgpu = s->vgpu;
-	struct cmd_info *info;
+	const struct cmd_info *info;
 	u32 cmd;
 	int ret = 0;
 
@@ -2895,10 +2895,10 @@  int intel_gvt_scan_and_shadow_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx)
 	return 0;
 }
 
-static struct cmd_info *find_cmd_entry_any_ring(struct intel_gvt *gvt,
+static const struct cmd_info *find_cmd_entry_any_ring(struct intel_gvt *gvt,
 		unsigned int opcode, unsigned long rings)
 {
-	struct cmd_info *info = NULL;
+	const struct cmd_info *info = NULL;
 	unsigned int ring;
 
 	for_each_set_bit(ring, &rings, I915_NUM_ENGINES) {
@@ -2913,7 +2913,7 @@  static int init_cmd_table(struct intel_gvt *gvt)
 {
 	int i;
 	struct cmd_entry *e;
-	struct cmd_info	*info;
+	const struct cmd_info *info;
 	unsigned int gen_type;
 
 	gen_type = intel_gvt_get_device_type(gvt);
diff --git a/drivers/gpu/drm/i915/gvt/trace.h b/drivers/gpu/drm/i915/gvt/trace.h
index 1fd64202d74e..6d787750d279 100644
--- a/drivers/gpu/drm/i915/gvt/trace.h
+++ b/drivers/gpu/drm/i915/gvt/trace.h
@@ -228,7 +228,7 @@  TRACE_EVENT(oos_sync,
 TRACE_EVENT(gvt_command,
 	TP_PROTO(u8 vgpu_id, u8 ring_id, u32 ip_gma, u32 *cmd_va,
 		u32 cmd_len,  u32 buf_type, u32 buf_addr_type,
-		void *workload, char *cmd_name),
+		void *workload, const char *cmd_name),
 
 	TP_ARGS(vgpu_id, ring_id, ip_gma, cmd_va, cmd_len, buf_type,
 		buf_addr_type, workload, cmd_name),

Comments

Zhao, Yan Y Jan. 10, 2019, 2:51 a.m.
Looks good to me.
Reviewed-by: Yan Zhao <yan.y.zhao@intel.com>


> -----Original Message-----

> From: intel-gvt-dev [mailto:intel-gvt-dev-bounces@lists.freedesktop.org] On

> Behalf Of Jani Nikula

> Sent: Tuesday, January 8, 2019 10:12 PM

> To: intel-gvt-dev@lists.freedesktop.org

> Cc: Nikula, Jani <jani.nikula@intel.com>; intel-gfx@lists.freedesktop.org; Wang,

> Zhi A <zhi.a.wang@intel.com>; zhenyuw@linux.intel.com

> Subject: [PATCH 2/2] drm/i915/gvt: give the cmd parser cmd_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:

> 

> 0000000000000080 l     O .rodata	0000000000001c00 cmd_info

> 

> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

> ---

>  drivers/gpu/drm/i915/gvt/cmd_parser.c | 24 ++++++++++++------------

>  drivers/gpu/drm/i915/gvt/trace.h      |  2 +-

>  2 files changed, 13 insertions(+), 13 deletions(-)

> 

> diff --git a/drivers/gpu/drm/i915/gvt/cmd_parser.c

> b/drivers/gpu/drm/i915/gvt/cmd_parser.c

> index 98415d465a09..cae00e6debaf 100644

> --- a/drivers/gpu/drm/i915/gvt/cmd_parser.c

> +++ b/drivers/gpu/drm/i915/gvt/cmd_parser.c

> @@ -375,7 +375,7 @@ typedef int (*parser_cmd_handler)(struct

> parser_exec_state *s);  #define ADDR_FIX_5(x1, x2, x3, x4, x5)  (ADDR_FIX_1(x1)

> | ADDR_FIX_4(x2, x3, x4, x5))

> 

>  struct cmd_info {

> -	char *name;

> +	const char *name;

>  	u32 opcode;

> 

>  #define F_LEN_MASK	(1U<<0)

> @@ -425,7 +425,7 @@ struct cmd_info {

> 

>  struct cmd_entry {

>  	struct hlist_node hlist;

> -	struct cmd_info *info;

> +	const struct cmd_info *info;

>  };

> 

>  enum {

> @@ -474,7 +474,7 @@ struct parser_exec_state {

>  	int saved_buf_addr_type;

>  	bool is_ctx_wa;

> 

> -	struct cmd_info *info;

> +	const struct cmd_info *info;

> 

>  	struct intel_vgpu_workload *workload;

>  };

> @@ -625,7 +625,7 @@ static inline u32 get_opcode(u32 cmd, int ring_id)

>  	return cmd >> (32 - d_info->op_len);

>  }

> 

> -static inline struct cmd_info *find_cmd_entry(struct intel_gvt *gvt,

> +static inline const struct cmd_info *find_cmd_entry(struct intel_gvt

> +*gvt,

>  		unsigned int opcode, int ring_id)

>  {

>  	struct cmd_entry *e;

> @@ -638,7 +638,7 @@ static inline struct cmd_info *find_cmd_entry(struct

> intel_gvt *gvt,

>  	return NULL;

>  }

> 

> -static inline struct cmd_info *get_cmd_info(struct intel_gvt *gvt,

> +static inline const struct cmd_info *get_cmd_info(struct intel_gvt

> +*gvt,

>  		u32 cmd, int ring_id)

>  {

>  	u32 opcode;

> @@ -776,7 +776,7 @@ static inline int ip_gma_advance(struct

> parser_exec_state *s,

>  	return 0;

>  }

> 

> -static inline int get_cmd_length(struct cmd_info *info, u32 cmd)

> +static inline int get_cmd_length(const struct cmd_info *info, u32 cmd)

>  {

>  	if ((info->flag & F_LEN_MASK) == F_LEN_CONST)

>  		return info->len;

> @@ -1643,7 +1643,7 @@ static int batch_buffer_needs_scan(struct

> parser_exec_state *s)  static int find_bb_size(struct parser_exec_state *s,

> unsigned long *bb_size)  {

>  	unsigned long gma = 0;

> -	struct cmd_info *info;

> +	const struct cmd_info *info;

>  	uint32_t cmd_len = 0;

>  	bool bb_end = false;

>  	struct intel_vgpu *vgpu = s->vgpu;

> @@ -1842,7 +1842,7 @@ static int cmd_handler_mi_batch_buffer_start(struct

> parser_exec_state *s)

> 

>  static int mi_noop_index;

> 

> -static struct cmd_info cmd_info[] = {

> +static const struct cmd_info cmd_info[] = {

>  	{"MI_NOOP", OP_MI_NOOP, F_LEN_CONST, R_ALL, D_ALL, 0, 1, NULL},

> 

>  	{"MI_SET_PREDICATE", OP_MI_SET_PREDICATE, F_LEN_CONST, R_ALL,

> D_ALL, @@ -2521,7 +2521,7 @@ static void add_cmd_entry(struct intel_gvt

> *gvt, struct cmd_entry *e)  static int cmd_parser_exec(struct parser_exec_state

> *s)  {

>  	struct intel_vgpu *vgpu = s->vgpu;

> -	struct cmd_info *info;

> +	const struct cmd_info *info;

>  	u32 cmd;

>  	int ret = 0;

> 

> @@ -2895,10 +2895,10 @@ int intel_gvt_scan_and_shadow_wa_ctx(struct

> intel_shadow_wa_ctx *wa_ctx)

>  	return 0;

>  }

> 

> -static struct cmd_info *find_cmd_entry_any_ring(struct intel_gvt *gvt,

> +static const struct cmd_info *find_cmd_entry_any_ring(struct intel_gvt

> +*gvt,

>  		unsigned int opcode, unsigned long rings)  {

> -	struct cmd_info *info = NULL;

> +	const struct cmd_info *info = NULL;

>  	unsigned int ring;

> 

>  	for_each_set_bit(ring, &rings, I915_NUM_ENGINES) { @@ -2913,7

> +2913,7 @@ static int init_cmd_table(struct intel_gvt *gvt)  {

>  	int i;

>  	struct cmd_entry *e;

> -	struct cmd_info	*info;

> +	const struct cmd_info *info;

>  	unsigned int gen_type;

> 

>  	gen_type = intel_gvt_get_device_type(gvt); diff --git

> a/drivers/gpu/drm/i915/gvt/trace.h b/drivers/gpu/drm/i915/gvt/trace.h

> index 1fd64202d74e..6d787750d279 100644

> --- a/drivers/gpu/drm/i915/gvt/trace.h

> +++ b/drivers/gpu/drm/i915/gvt/trace.h

> @@ -228,7 +228,7 @@ TRACE_EVENT(oos_sync,  TRACE_EVENT(gvt_command,

>  	TP_PROTO(u8 vgpu_id, u8 ring_id, u32 ip_gma, u32 *cmd_va,

>  		u32 cmd_len,  u32 buf_type, u32 buf_addr_type,

> -		void *workload, char *cmd_name),

> +		void *workload, const char *cmd_name),

> 

>  	TP_ARGS(vgpu_id, ring_id, ip_gma, cmd_va, cmd_len, buf_type,

>  		buf_addr_type, workload, cmd_name),

> --

> 2.20.1

> 

> _______________________________________________

> intel-gvt-dev mailing list

> intel-gvt-dev@lists.freedesktop.org

> https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev