Message ID | 20190108141205.17860-2-jani.nikula@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] drm/i915/gvt: give the cmd parser decode_info a const treatment | expand |
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
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),
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(-)