forked from Minki/linux
drm/msm/dpu: clean up redundant hw type
struct dpu_hw_blk has hw block type info. Remove duplicate type tracking in struct dpu_rm_hw_blk. changes in v2: - remove redundant type in trace api's (Sean Paul) Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org> Signed-off-by: Sean Paul <seanpaul@chromium.org>
This commit is contained in:
parent
ab92182cdd
commit
1a5e177856
@ -38,14 +38,12 @@ struct dpu_rm_requirements {
|
|||||||
/**
|
/**
|
||||||
* struct dpu_rm_hw_blk - hardware block tracking list member
|
* struct dpu_rm_hw_blk - hardware block tracking list member
|
||||||
* @list: List head for list of all hardware blocks tracking items
|
* @list: List head for list of all hardware blocks tracking items
|
||||||
* @type: Type of hardware block this structure tracks
|
|
||||||
* @id: Hardware ID number, within it's own space, ie. LM_X
|
* @id: Hardware ID number, within it's own space, ie. LM_X
|
||||||
* @enc_id: Encoder id to which this blk is binded
|
* @enc_id: Encoder id to which this blk is binded
|
||||||
* @hw: Pointer to the hardware register access object for this block
|
* @hw: Pointer to the hardware register access object for this block
|
||||||
*/
|
*/
|
||||||
struct dpu_rm_hw_blk {
|
struct dpu_rm_hw_blk {
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
enum dpu_hw_blk_type type;
|
|
||||||
uint32_t id;
|
uint32_t id;
|
||||||
uint32_t enc_id;
|
uint32_t enc_id;
|
||||||
struct dpu_hw_blk *hw;
|
struct dpu_hw_blk *hw;
|
||||||
@ -86,12 +84,6 @@ static bool _dpu_rm_get_hw_locked(struct dpu_rm *rm, struct dpu_rm_hw_iter *i)
|
|||||||
i->blk = list_prepare_entry(i->blk, blk_list, list);
|
i->blk = list_prepare_entry(i->blk, blk_list, list);
|
||||||
|
|
||||||
list_for_each_entry_continue(i->blk, blk_list, list) {
|
list_for_each_entry_continue(i->blk, blk_list, list) {
|
||||||
if (i->blk->type != i->type) {
|
|
||||||
DPU_ERROR("found incorrect block type %d on %d list\n",
|
|
||||||
i->blk->type, i->type);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (i->enc_id == i->blk->enc_id) {
|
if (i->enc_id == i->blk->enc_id) {
|
||||||
i->hw = i->blk->hw;
|
i->hw = i->blk->hw;
|
||||||
DPU_DEBUG("found type %d id %d for enc %d\n",
|
DPU_DEBUG("found type %d id %d for enc %d\n",
|
||||||
@ -151,7 +143,7 @@ int dpu_rm_destroy(struct dpu_rm *rm)
|
|||||||
list_for_each_entry_safe(hw_cur, hw_nxt, &rm->hw_blks[type],
|
list_for_each_entry_safe(hw_cur, hw_nxt, &rm->hw_blks[type],
|
||||||
list) {
|
list) {
|
||||||
list_del(&hw_cur->list);
|
list_del(&hw_cur->list);
|
||||||
_dpu_rm_hw_destroy(hw_cur->type, hw_cur->hw);
|
_dpu_rm_hw_destroy(type, hw_cur->hw);
|
||||||
kfree(hw_cur);
|
kfree(hw_cur);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -213,7 +205,6 @@ static int _dpu_rm_hw_blk_create(
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
blk->type = type;
|
|
||||||
blk->id = id;
|
blk->id = id;
|
||||||
blk->hw = hw;
|
blk->hw = hw;
|
||||||
blk->enc_id = 0;
|
blk->enc_id = 0;
|
||||||
@ -458,8 +449,7 @@ static int _dpu_rm_reserve_lms(struct dpu_rm *rm, uint32_t enc_id,
|
|||||||
lm[i]->enc_id = enc_id;
|
lm[i]->enc_id = enc_id;
|
||||||
pp[i]->enc_id = enc_id;
|
pp[i]->enc_id = enc_id;
|
||||||
|
|
||||||
trace_dpu_rm_reserve_lms(lm[i]->id, lm[i]->type, enc_id,
|
trace_dpu_rm_reserve_lms(lm[i]->id, enc_id, pp[i]->id);
|
||||||
pp[i]->id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
@ -510,8 +500,7 @@ static int _dpu_rm_reserve_ctls(
|
|||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(ctls) && i < num_ctls; i++) {
|
for (i = 0; i < ARRAY_SIZE(ctls) && i < num_ctls; i++) {
|
||||||
ctls[i]->enc_id = enc_id;
|
ctls[i]->enc_id = enc_id;
|
||||||
trace_dpu_rm_reserve_ctls(ctls[i]->id, ctls[i]->type,
|
trace_dpu_rm_reserve_ctls(ctls[i]->id, enc_id);
|
||||||
enc_id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -538,8 +527,7 @@ static int _dpu_rm_reserve_intf(
|
|||||||
}
|
}
|
||||||
|
|
||||||
iter.blk->enc_id = enc_id;
|
iter.blk->enc_id = enc_id;
|
||||||
trace_dpu_rm_reserve_intf(iter.blk->id, iter.blk->type,
|
trace_dpu_rm_reserve_intf(iter.blk->id, enc_id);
|
||||||
enc_id);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -628,7 +616,7 @@ static void _dpu_rm_release_reservation(struct dpu_rm *rm, uint32_t enc_id)
|
|||||||
if (blk->enc_id == enc_id) {
|
if (blk->enc_id == enc_id) {
|
||||||
blk->enc_id = 0;
|
blk->enc_id = 0;
|
||||||
DPU_DEBUG("rel enc %d %d %d\n", enc_id,
|
DPU_DEBUG("rel enc %d %d %d\n", enc_id,
|
||||||
blk->type, blk->id);
|
type, blk->id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -831,48 +831,42 @@ TRACE_EVENT(dpu_plane_disable,
|
|||||||
);
|
);
|
||||||
|
|
||||||
DECLARE_EVENT_CLASS(dpu_rm_iter_template,
|
DECLARE_EVENT_CLASS(dpu_rm_iter_template,
|
||||||
TP_PROTO(uint32_t id, enum dpu_hw_blk_type type, uint32_t enc_id),
|
TP_PROTO(uint32_t id, uint32_t enc_id),
|
||||||
TP_ARGS(id, type, enc_id),
|
TP_ARGS(id, enc_id),
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field( uint32_t, id )
|
__field( uint32_t, id )
|
||||||
__field( enum dpu_hw_blk_type, type )
|
|
||||||
__field( uint32_t, enc_id )
|
__field( uint32_t, enc_id )
|
||||||
),
|
),
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
__entry->id = id;
|
__entry->id = id;
|
||||||
__entry->type = type;
|
|
||||||
__entry->enc_id = enc_id;
|
__entry->enc_id = enc_id;
|
||||||
),
|
),
|
||||||
TP_printk("id:%d type:%d enc_id:%u", __entry->id, __entry->type,
|
TP_printk("id:%d enc_id:%u", __entry->id, __entry->enc_id)
|
||||||
__entry->enc_id)
|
|
||||||
);
|
);
|
||||||
DEFINE_EVENT(dpu_rm_iter_template, dpu_rm_reserve_intf,
|
DEFINE_EVENT(dpu_rm_iter_template, dpu_rm_reserve_intf,
|
||||||
TP_PROTO(uint32_t id, enum dpu_hw_blk_type type, uint32_t enc_id),
|
TP_PROTO(uint32_t id, uint32_t enc_id),
|
||||||
TP_ARGS(id, type, enc_id)
|
TP_ARGS(id, enc_id)
|
||||||
);
|
);
|
||||||
DEFINE_EVENT(dpu_rm_iter_template, dpu_rm_reserve_ctls,
|
DEFINE_EVENT(dpu_rm_iter_template, dpu_rm_reserve_ctls,
|
||||||
TP_PROTO(uint32_t id, enum dpu_hw_blk_type type, uint32_t enc_id),
|
TP_PROTO(uint32_t id, uint32_t enc_id),
|
||||||
TP_ARGS(id, type, enc_id)
|
TP_ARGS(id, enc_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
TRACE_EVENT(dpu_rm_reserve_lms,
|
TRACE_EVENT(dpu_rm_reserve_lms,
|
||||||
TP_PROTO(uint32_t id, enum dpu_hw_blk_type type, uint32_t enc_id,
|
TP_PROTO(uint32_t id, uint32_t enc_id, uint32_t pp_id),
|
||||||
uint32_t pp_id),
|
TP_ARGS(id, enc_id, pp_id),
|
||||||
TP_ARGS(id, type, enc_id, pp_id),
|
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field( uint32_t, id )
|
__field( uint32_t, id )
|
||||||
__field( enum dpu_hw_blk_type, type )
|
|
||||||
__field( uint32_t, enc_id )
|
__field( uint32_t, enc_id )
|
||||||
__field( uint32_t, pp_id )
|
__field( uint32_t, pp_id )
|
||||||
),
|
),
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
__entry->id = id;
|
__entry->id = id;
|
||||||
__entry->type = type;
|
|
||||||
__entry->enc_id = enc_id;
|
__entry->enc_id = enc_id;
|
||||||
__entry->pp_id = pp_id;
|
__entry->pp_id = pp_id;
|
||||||
),
|
),
|
||||||
TP_printk("id:%d type:%d enc_id:%u pp_id:%u", __entry->id,
|
TP_printk("id:%d enc_id:%u pp_id:%u", __entry->id,
|
||||||
__entry->type, __entry->enc_id, __entry->pp_id)
|
__entry->enc_id, __entry->pp_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
TRACE_EVENT(dpu_vbif_wait_xin_halt_fail,
|
TRACE_EVENT(dpu_vbif_wait_xin_halt_fail,
|
||||||
|
Loading…
Reference in New Issue
Block a user