qcacmn: Add dequeue value in delayed register write entry

The delayed register write for srngs will have
the value of the HP/TP at the time of enqueue,
but the final value which is written to the
hp_addr/tp_addr will be determined based on
HP/TP value at the time of dequeue of the
entry for a particular srng.

Hence to know what was the exact value which
was written to the HP/TP address, add one more
element in the delayed register write entry.
This element will contain the value of the
HP/TP which was actually written to the address.

Change-Id: I73e592611fa50b106da1deda06b839cf4fbe2126
CRs-Fixed: 2658331
这个提交包含在:
Rakesh Pillai
2020-04-07 00:02:23 +05:30
提交者 nshrivas
父节点 bb32488efe
当前提交 eee37dab3f
修改 2 个文件,包含 16 行新增11 行删除

查看文件

@@ -233,7 +233,8 @@ typedef struct hal_ring_handle *hal_ring_handle_t;
* struct hal_reg_write_q_elem - delayed register write queue element
* @srng: hal_srng queued for a delayed write
* @addr: iomem address of the register
* @val: register value at the time of delayed write enqueue
* @enqueue_val: register value at the time of delayed write enqueue
* @dequeue_val: register value at the time of delayed write dequeue
* @valid: whether this entry is valid or not
* @enqueue_time: enqueue time (qdf_log_timestamp)
* @dequeue_time: dequeue time (qdf_log_timestamp)
@@ -241,7 +242,8 @@ typedef struct hal_ring_handle *hal_ring_handle_t;
struct hal_reg_write_q_elem {
struct hal_srng *srng;
void __iomem *addr;
uint32_t val;
uint32_t enqueue_val;
uint32_t dequeue_val;
uint8_t valid;
qdf_time_t enqueue_time;
qdf_time_t dequeue_time;