qcacmn: Recording timestamp more precisely in function ce_tasklet

Change location of HIF_CE_TASKLET_ENTRY and HIF_CE_TASKLET_RESCHEDULE
to record the timestamp of entering ce tasklet and ce rescheduling
more precisely. This change can provide a more reliable scene when some
exception occurs.

Change-Id: Ia70488372201ffb906355722043d8405af766c10
CRs-Fixed: 3112970
Šī revīzija ir iekļauta:
jinbao liu
2022-01-19 00:17:27 -08:00
revīziju iesūtīja Madan Koyyalamudi
vecāks d8e05be641
revīzija 9155686ef7

Parādīt failu

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2015-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -392,12 +392,12 @@ static void ce_tasklet(unsigned long data)
struct hif_softc *scn = HIF_GET_SOFTC(hif_ce_state);
struct CE_state *CE_state = scn->ce_id_to_state[tasklet_entry->ce_id];
if (scn->ce_latency_stats)
hif_record_tasklet_exec_entry_ts(scn, tasklet_entry->ce_id);
hif_record_ce_desc_event(scn, tasklet_entry->ce_id,
HIF_CE_TASKLET_ENTRY, NULL, NULL, -1, 0);
if (scn->ce_latency_stats)
hif_record_tasklet_exec_entry_ts(scn, tasklet_entry->ce_id);
hif_latency_detect_tasklet_exec(scn, tasklet_entry);
if (qdf_atomic_read(&scn->link_suspended)) {
@@ -414,9 +414,6 @@ static void ce_tasklet(unsigned long data)
* Enable the interrupt only when there is no pending frames in
* any of the Copy Engine pipes.
*/
hif_record_ce_desc_event(scn, tasklet_entry->ce_id,
HIF_CE_TASKLET_RESCHEDULE, NULL, NULL, -1, 0);
if (test_bit(TASKLET_STATE_SCHED,
&tasklet_entry->intr_tq.state)) {
hif_info("ce_id%d tasklet was scheduled, return",
@@ -425,6 +422,10 @@ static void ce_tasklet(unsigned long data)
return;
}
hif_record_ce_desc_event(scn, tasklet_entry->ce_id,
HIF_CE_TASKLET_RESCHEDULE,
NULL, NULL, -1, 0);
ce_tasklet_schedule(tasklet_entry);
hif_latency_detect_tasklet_sched(scn, tasklet_entry);