Переглянути джерело

Merge e60f66098e69d7cc5b7ec8374420ffd6c646d4fc on remote branch

Change-Id: I405f401ada053de520bc22955bd74dd646fc1fc5
Linux Build Service Account 8 місяців тому
батько
коміт
1241a14614
3 змінених файлів з 18 додано та 0 видалено
  1. 10 0
      icnss2/debug.c
  2. 1 0
      icnss2/main.h
  3. 7 0
      icnss2/qmi.c

+ 10 - 0
icnss2/debug.c

@@ -341,12 +341,22 @@ static int icnss_stats_show_events(struct seq_file *s, struct icnss_priv *priv)
 	return 0;
 }
 
+static u64 icnss_get_serial_id(struct icnss_priv *priv)
+{
+	u32 msb = priv->serial_id.serial_id_msb;
+	u32 lsb = priv->serial_id.serial_id_lsb;
+
+	msb &= 0xFFFF;
+	return (((u64)msb << 32) | lsb);
+}
+
 static int icnss_stats_show_state(struct seq_file *s, struct icnss_priv *priv)
 {
 	enum icnss_driver_state i;
 	int skip = 0;
 	unsigned long state;
 
+	seq_printf(s, "\nSerial Number: 0x%llx", icnss_get_serial_id(priv));
 	seq_printf(s, "\nState: 0x%lx(", priv->state);
 	for (i = 0, state = priv->state; state != 0; state >>= 1, i++) {
 

+ 1 - 0
icnss2/main.h

@@ -531,6 +531,7 @@ struct icnss_priv {
 	enum icnss_phy_he_channel_width_cap phy_he_channel_width_cap;
 	enum icnss_phy_qam_cap phy_qam_cap;
 	bool rproc_fw_download;
+	struct wlchip_serial_id_v01 serial_id;
 };
 
 struct icnss_reg_info {

+ 7 - 0
icnss2/qmi.c

@@ -815,6 +815,13 @@ int wlfw_cap_send_sync_msg(struct icnss_priv *priv)
 	if (resp->phy_qam_cap_valid)
 		priv->phy_qam_cap = (enum icnss_phy_qam_cap)resp->phy_qam_cap;
 
+	if (resp->serial_id_valid) {
+		priv->serial_id = resp->serial_id;
+		icnss_pr_info("serial id  0x%x 0x%x\n",
+			     resp->serial_id.serial_id_msb,
+			     resp->serial_id.serial_id_lsb);
+	}
+
 	icnss_pr_dbg("Capability, chip_id: 0x%x, chip_family: 0x%x, board_id: 0x%x, soc_id: 0x%x",
 		     priv->chip_info.chip_id, priv->chip_info.chip_family,
 		     priv->board_id, priv->soc_id);