Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e0458878 authored by Yue Ma's avatar Yue Ma
Browse files

cnss2: Optimize time sync sequence



Clear device qtimer snapshot register before getting host timestamp
in order to reduce the time difference between getting host timestamp
and getting device timestamp.

Change-Id: I6c94b3657fdbeb7c8084a8b5ae00984aef417af0
Signed-off-by: default avatarYue Ma <yuem@codeaurora.org>
parent 079f3c30
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1081,8 +1081,6 @@ static int cnss_pci_get_device_timestamp(struct cnss_pci_data *pci_priv,
		return -EINVAL;
	}

	cnss_pci_reg_write(pci_priv, QCA6390_WLAON_GLOBAL_COUNTER_CTRL5,
			   QCA6390_TIME_SYNC_CLEAR);
	cnss_pci_reg_write(pci_priv, QCA6390_WLAON_GLOBAL_COUNTER_CTRL5,
			   QCA6390_TIME_SYNC_ENABLE);

@@ -1113,6 +1111,8 @@ static int cnss_pci_update_timestamp(struct cnss_pci_data *pci_priv)
		return ret;

	spin_lock_irqsave(&time_sync_lock, flags);
	cnss_pci_reg_write(pci_priv, QCA6390_WLAON_GLOBAL_COUNTER_CTRL5,
			   QCA6390_TIME_SYNC_CLEAR);
	host_time_us = cnss_get_host_timestamp(plat_priv);
	ret = cnss_pci_get_device_timestamp(pci_priv, &device_time_us);
	spin_unlock_irqrestore(&time_sync_lock, flags);