Lines Matching defs:priv

41 static int iwmct_fw_parser_init(struct iwmct_priv *priv, const u8 *file,
44 struct iwmct_parser *parser = &priv->parser;
47 LOG_TRACE(priv, FW_DOWNLOAD, "-->\n");
49 LOG_INFO(priv, FW_DOWNLOAD, "file_size=%zd\n", file_size);
57 LOG_ERROR(priv, FW_DOWNLOAD, "kzalloc error\n");
64 LOG_INFO(priv, FW_DOWNLOAD, "fw versions are:\n"
73 LOG_TRACE(priv, FW_DOWNLOAD, "<--\n");
77 static bool iwmct_checksum(struct iwmct_priv *priv)
79 struct iwmct_parser *parser = &priv->parser;
89 LOG_INFO(priv, FW_DOWNLOAD, "pad=%d steps=%d\n", pad, steps);
102 LOG_INFO(priv, FW_DOWNLOAD,
109 static int iwmct_parse_next_section(struct iwmct_priv *priv, const u8 **p_sec,
112 struct iwmct_parser *parser = &priv->parser;
113 struct iwmct_dbg *dbg = &priv->dbg;
116 LOG_TRACE(priv, FW_DOWNLOAD, "-->\n");
125 LOG_INFO(priv, FW_DOWNLOAD,
135 (priv->barker & BARKER_DNLOAD_TOP_MSK)) ||
137 (priv->barker & BARKER_DNLOAD_GPS_MSK)) ||
139 (priv->barker & BARKER_DNLOAD_BT_MSK))) {
146 LOG_WARNING(priv, FW_DOWNLOAD,
151 LOG_INFO(priv, FW_DOWNLOAD,
155 LOG_TRACE(priv, INIT, "<--\n");
159 static int iwmct_download_section(struct iwmct_priv *priv, const u8 *p_sec,
162 struct iwmct_parser *parser = &priv->parser;
170 LOG_TRACE(priv, FW_DOWNLOAD, "-->\n");
171 LOG_INFO(priv, FW_DOWNLOAD, "Download address 0x%x size 0x%zx\n",
177 u32 reset = atomic_read(&priv->reset);
189 LOG_INFO(priv, FW_DOWNLOAD,
198 cmd |= (priv->dbg.direct ? 1 : 0) << CMD_HDR_DIRECT_ACCESS_POS;
199 cmd |= (priv->dbg.checksum ? 1 : 0) << CMD_HDR_USE_CHECKSUM_POS;
217 LOG_INFO(priv, FW_DOWNLOAD, "Checksum = 0x%X\n",
221 LOG_INFO(priv, FW_DOWNLOAD, "trans#%d, len=%d, sent=%zd, "
225 if (priv->dbg.dump)
232 ret = iwmct_tx(priv, parser->buf, trans_size);
234 LOG_INFO(priv, FW_DOWNLOAD,
243 if (priv->dbg.blocks && (cnt + 1) >= priv->dbg.blocks) {
244 LOG_INFO(priv, FW_DOWNLOAD,
246 priv->dbg.blocks);
254 LOG_TRACE(priv, FW_DOWNLOAD, "<--\n");
258 static int iwmct_kick_fw(struct iwmct_priv *priv, bool jump)
260 struct iwmct_parser *parser = &priv->parser;
265 LOG_TRACE(priv, FW_DOWNLOAD, "-->\n");
272 LOG_INFO(priv, FW_DOWNLOAD, "jump address 0x%x\n",
276 LOG_INFO(priv, FW_DOWNLOAD, "last command\n");
284 ret = iwmct_tx(priv, parser->buf, IWMC_SDIO_BLK_SIZE);
286 LOG_INFO(priv, FW_DOWNLOAD, "iwmct_tx returned %d", ret);
288 LOG_TRACE(priv, FW_DOWNLOAD, "<--\n");
292 int iwmct_fw_load(struct iwmct_priv *priv)
302 LOG_INFO(priv, FW_DOWNLOAD, "barker download request 0x%x is:\n",
303 priv->barker);
304 LOG_INFO(priv, FW_DOWNLOAD, "******* Top FW %s requested ********\n",
305 (priv->barker & BARKER_DNLOAD_TOP_MSK) ? "was" : "not");
306 LOG_INFO(priv, FW_DOWNLOAD, "******* GPS FW %s requested ********\n",
307 (priv->barker & BARKER_DNLOAD_GPS_MSK) ? "was" : "not");
308 LOG_INFO(priv, FW_DOWNLOAD, "******* BT FW %s requested ********\n",
309 (priv->barker & BARKER_DNLOAD_BT_MSK) ? "was" : "not");
313 ret = request_firmware(&raw, fw_name, &priv->func->dev);
315 LOG_ERROR(priv, FW_DOWNLOAD, "%s request_firmware failed %d\n",
321 LOG_ERROR(priv, FW_DOWNLOAD, "%s smaller then (%zd) (%zd)\n",
326 LOG_INFO(priv, FW_DOWNLOAD, "Read firmware '%s'\n", fw_name);
329 ret = iwmct_fw_parser_init(priv, raw->data, raw->size, priv->trans_len);
331 LOG_ERROR(priv, FW_DOWNLOAD,
336 if (!iwmct_checksum(priv)) {
337 LOG_ERROR(priv, FW_DOWNLOAD, "checksum error\n");
343 while (iwmct_parse_next_section(priv, &pdata, &len, &addr)) {
344 ret = iwmct_download_section(priv, pdata, len, addr);
346 LOG_ERROR(priv, FW_DOWNLOAD,
352 ret = iwmct_kick_fw(priv, !!(priv->barker & BARKER_DNLOAD_JUMP_MSK));
355 kfree(priv->parser.buf);