Browse Source

qcacmn: Set CPU floor freq on high throughput

On high throughput mode, send a message to perfd, through
cnss-daemon, to set the min freq for perf cluster to 700 KHz,
and release it on transition to low throughput.

Goes with corresponding changes on cnss-daemon (1834087).

Change-Id: I9c5c701fa33992e44fc3bad5e58599da0b45cbd7
CRs-Fixed: 2133069
Manjunathappa Prakash 8 years ago
parent
commit
c1e703a4cb
1 changed files with 25 additions and 0 deletions
  1. 25 0
      utils/nlink/inc/wlan_nlink_common.h

+ 25 - 0
utils/nlink/inc/wlan_nlink_common.h

@@ -90,6 +90,7 @@
 #define WLAN_SVC_WLAN_AUTO_SHUTDOWN_CANCEL_IND 0x10C
 #define WLAN_SVC_WLAN_RADIO_INDEX 0x10D
 #define WLAN_SVC_FW_SHUTDOWN_IND  0x10E
+#define WLAN_SVC_CORE_MINFREQ     0x10F
 #define WLAN_SVC_MAX_SSID_LEN    32
 #define WLAN_SVC_MAX_BSSID_LEN   6
 #define WLAN_SVC_MAX_STR_LEN     16
@@ -225,4 +226,28 @@ enum wlan_tp_level {
 	WLAN_SVC_TP_HIGH,
 };
 
+/**
+ * struct wlan_core_minfreq - msg to [re]set the min freq of a set of cores
+ * @magic:            signature token: 0xBABA
+ * @reserved:         unused for now
+ * @coremask:         bitmap of cores (16 bits) bit0=CORE0, bit1=CORE1, ...
+ *                     coremask is ONLY valid for set command
+ *                     valid values: 0xf0, or 0x0f
+ * @freq:             frequency in KH
+ *                     >  0: "set to the given frequency"
+ *                     == 0: "free; remove the lock"
+ *
+ * Msg structure passed by the driver to cnss-daemon.
+ *
+ * Semantical Alert:
+ *   There can be only one outstanding lock, even for different masks.
+ */
+#define WLAN_CORE_MINFREQ_MAGIC 0xBABA
+struct wlan_core_minfreq {
+	uint16_t magic;
+	uint16_t reserved;
+	uint16_t coremask;
+	uint16_t freq;
+};
+
 #endif /* WLAN_NLINK_COMMON_H__ */