aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
diff options
context:
space:
mode:
authorSara Sharon <sara.sharon@intel.com>2016-03-07 09:55:20 -0500
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2016-03-30 09:21:27 -0400
commit97f95c93c8ed5177371e75275f236513152fa308 (patch)
tree1bccd1fe9435b8b24354e2fa0cd114dff4ca6b41 /drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
parenta0b09f13036cedfd67c9cb4b9d05138e7022723d (diff)
iwlwifi: remove support for fw older than -16.ucode
API version lower than 16 is not supported anymore - don't load older ucode. Remove code handling older versions. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c164
1 files changed, 27 insertions, 137 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
index a43b3921c4c1..abc16f73f07b 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
@@ -463,69 +463,11 @@ int iwl_mvm_coex_dump_mbox(struct iwl_bt_coex_profile_notif *notif, char *buf,
463 return pos; 463 return pos;
464} 464}
465 465
466static
467int iwl_mvm_coex_dump_mbox_old(struct iwl_bt_coex_profile_notif_old *notif,
468 char *buf, int pos, int bufsz)
469{
470 pos += scnprintf(buf+pos, bufsz-pos, "MBOX dw0:\n");
471
472 BT_MBOX_PRINT(0, LE_SLAVE_LAT, false);
473 BT_MBOX_PRINT(0, LE_PROF1, false);
474 BT_MBOX_PRINT(0, LE_PROF2, false);
475 BT_MBOX_PRINT(0, LE_PROF_OTHER, false);
476 BT_MBOX_PRINT(0, CHL_SEQ_N, false);
477 BT_MBOX_PRINT(0, INBAND_S, false);
478 BT_MBOX_PRINT(0, LE_MIN_RSSI, false);
479 BT_MBOX_PRINT(0, LE_SCAN, false);
480 BT_MBOX_PRINT(0, LE_ADV, false);
481 BT_MBOX_PRINT(0, LE_MAX_TX_POWER, false);
482 BT_MBOX_PRINT(0, OPEN_CON_1, true);
483
484 pos += scnprintf(buf+pos, bufsz-pos, "MBOX dw1:\n");
485
486 BT_MBOX_PRINT(1, BR_MAX_TX_POWER, false);
487 BT_MBOX_PRINT(1, IP_SR, false);
488 BT_MBOX_PRINT(1, LE_MSTR, false);
489 BT_MBOX_PRINT(1, AGGR_TRFC_LD, false);
490 BT_MBOX_PRINT(1, MSG_TYPE, false);
491 BT_MBOX_PRINT(1, SSN, true);
492
493 pos += scnprintf(buf+pos, bufsz-pos, "MBOX dw2:\n");
494
495 BT_MBOX_PRINT(2, SNIFF_ACT, false);
496 BT_MBOX_PRINT(2, PAG, false);
497 BT_MBOX_PRINT(2, INQUIRY, false);
498 BT_MBOX_PRINT(2, CONN, false);
499 BT_MBOX_PRINT(2, SNIFF_INTERVAL, false);
500 BT_MBOX_PRINT(2, DISC, false);
501 BT_MBOX_PRINT(2, SCO_TX_ACT, false);
502 BT_MBOX_PRINT(2, SCO_RX_ACT, false);
503 BT_MBOX_PRINT(2, ESCO_RE_TX, false);
504 BT_MBOX_PRINT(2, SCO_DURATION, true);
505
506 pos += scnprintf(buf+pos, bufsz-pos, "MBOX dw3:\n");
507
508 BT_MBOX_PRINT(3, SCO_STATE, false);
509 BT_MBOX_PRINT(3, SNIFF_STATE, false);
510 BT_MBOX_PRINT(3, A2DP_STATE, false);
511 BT_MBOX_PRINT(3, ACL_STATE, false);
512 BT_MBOX_PRINT(3, MSTR_STATE, false);
513 BT_MBOX_PRINT(3, OBX_STATE, false);
514 BT_MBOX_PRINT(3, OPEN_CON_2, false);
515 BT_MBOX_PRINT(3, TRAFFIC_LOAD, false);
516 BT_MBOX_PRINT(3, CHL_SEQN_LSB, false);
517 BT_MBOX_PRINT(3, INBAND_P, false);
518 BT_MBOX_PRINT(3, MSG_TYPE_2, false);
519 BT_MBOX_PRINT(3, SSN_2, false);
520 BT_MBOX_PRINT(3, UPDATE_REQUEST, true);
521
522 return pos;
523}
524
525static ssize_t iwl_dbgfs_bt_notif_read(struct file *file, char __user *user_buf, 466static ssize_t iwl_dbgfs_bt_notif_read(struct file *file, char __user *user_buf,
526 size_t count, loff_t *ppos) 467 size_t count, loff_t *ppos)
527{ 468{
528 struct iwl_mvm *mvm = file->private_data; 469 struct iwl_mvm *mvm = file->private_data;
470 struct iwl_bt_coex_profile_notif *notif = &mvm->last_bt_notif;
529 char *buf; 471 char *buf;
530 int ret, pos = 0, bufsz = sizeof(char) * 1024; 472 int ret, pos = 0, bufsz = sizeof(char) * 1024;
531 473
@@ -535,52 +477,24 @@ static ssize_t iwl_dbgfs_bt_notif_read(struct file *file, char __user *user_buf,
535 477
536 mutex_lock(&mvm->mutex); 478 mutex_lock(&mvm->mutex);
537 479
538 if (!fw_has_api(&mvm->fw->ucode_capa, 480 pos += iwl_mvm_coex_dump_mbox(notif, buf, pos, bufsz);
539 IWL_UCODE_TLV_API_BT_COEX_SPLIT)) { 481
540 struct iwl_bt_coex_profile_notif_old *notif = 482 pos += scnprintf(buf + pos, bufsz - pos, "bt_ci_compliance = %d\n",
541 &mvm->last_bt_notif_old; 483 notif->bt_ci_compliance);
542 484 pos += scnprintf(buf + pos, bufsz - pos, "primary_ch_lut = %d\n",
543 pos += iwl_mvm_coex_dump_mbox_old(notif, buf, pos, bufsz); 485 le32_to_cpu(notif->primary_ch_lut));
544 486 pos += scnprintf(buf + pos, bufsz - pos, "secondary_ch_lut = %d\n",
545 pos += scnprintf(buf+pos, bufsz-pos, "bt_ci_compliance = %d\n", 487 le32_to_cpu(notif->secondary_ch_lut));
546 notif->bt_ci_compliance); 488 pos += scnprintf(buf + pos,
547 pos += scnprintf(buf+pos, bufsz-pos, "primary_ch_lut = %d\n", 489 bufsz - pos, "bt_activity_grading = %d\n",
548 le32_to_cpu(notif->primary_ch_lut)); 490 le32_to_cpu(notif->bt_activity_grading));
549 pos += scnprintf(buf+pos, bufsz-pos, "secondary_ch_lut = %d\n", 491 pos += scnprintf(buf + pos, bufsz - pos,
550 le32_to_cpu(notif->secondary_ch_lut)); 492 "antenna isolation = %d CORUN LUT index = %d\n",
551 pos += scnprintf(buf+pos, 493 mvm->last_ant_isol, mvm->last_corun_lut);
552 bufsz-pos, "bt_activity_grading = %d\n", 494 pos += scnprintf(buf + pos, bufsz - pos, "bt_rrc = %d\n",
553 le32_to_cpu(notif->bt_activity_grading)); 495 (notif->ttc_rrc_status >> 4) & 0xF);
554 pos += scnprintf(buf+pos, bufsz-pos, 496 pos += scnprintf(buf + pos, bufsz - pos, "bt_ttc = %d\n",
555 "antenna isolation = %d CORUN LUT index = %d\n", 497 notif->ttc_rrc_status & 0xF);
556 mvm->last_ant_isol, mvm->last_corun_lut);
557 pos += scnprintf(buf + pos, bufsz - pos, "bt_rrc = %d\n",
558 notif->rrc_enabled);
559 pos += scnprintf(buf + pos, bufsz - pos, "bt_ttc = %d\n",
560 notif->ttc_enabled);
561 } else {
562 struct iwl_bt_coex_profile_notif *notif =
563 &mvm->last_bt_notif;
564
565 pos += iwl_mvm_coex_dump_mbox(notif, buf, pos, bufsz);
566
567 pos += scnprintf(buf+pos, bufsz-pos, "bt_ci_compliance = %d\n",
568 notif->bt_ci_compliance);
569 pos += scnprintf(buf+pos, bufsz-pos, "primary_ch_lut = %d\n",
570 le32_to_cpu(notif->primary_ch_lut));
571 pos += scnprintf(buf+pos, bufsz-pos, "secondary_ch_lut = %d\n",
572 le32_to_cpu(notif->secondary_ch_lut));
573 pos += scnprintf(buf+pos,
574 bufsz-pos, "bt_activity_grading = %d\n",
575 le32_to_cpu(notif->bt_activity_grading));
576 pos += scnprintf(buf+pos, bufsz-pos,
577 "antenna isolation = %d CORUN LUT index = %d\n",
578 mvm->last_ant_isol, mvm->last_corun_lut);
579 pos += scnprintf(buf + pos, bufsz - pos, "bt_rrc = %d\n",
580 (notif->ttc_rrc_status >> 4) & 0xF);
581 pos += scnprintf(buf + pos, bufsz - pos, "bt_ttc = %d\n",
582 notif->ttc_rrc_status & 0xF);
583 }
584 498
585 pos += scnprintf(buf + pos, bufsz - pos, "sync_sco = %d\n", 499 pos += scnprintf(buf + pos, bufsz - pos, "sync_sco = %d\n",
586 IWL_MVM_BT_COEX_SYNC2SCO); 500 IWL_MVM_BT_COEX_SYNC2SCO);
@@ -602,44 +516,20 @@ static ssize_t iwl_dbgfs_bt_cmd_read(struct file *file, char __user *user_buf,
602 size_t count, loff_t *ppos) 516 size_t count, loff_t *ppos)
603{ 517{
604 struct iwl_mvm *mvm = file->private_data; 518 struct iwl_mvm *mvm = file->private_data;
519 struct iwl_bt_coex_ci_cmd *cmd = &mvm->last_bt_ci_cmd;
605 char buf[256]; 520 char buf[256];
606 int bufsz = sizeof(buf); 521 int bufsz = sizeof(buf);
607 int pos = 0; 522 int pos = 0;
608 523
609 mutex_lock(&mvm->mutex); 524 mutex_lock(&mvm->mutex);
610 525
611 if (!fw_has_api(&mvm->fw->ucode_capa, 526 pos += scnprintf(buf + pos, bufsz - pos, "Channel inhibition CMD\n");
612 IWL_UCODE_TLV_API_BT_COEX_SPLIT)) { 527 pos += scnprintf(buf + pos, bufsz - pos,
613 struct iwl_bt_coex_ci_cmd_old *cmd = &mvm->last_bt_ci_cmd_old; 528 "\tPrimary Channel Bitmap 0x%016llx\n",
614 529 le64_to_cpu(cmd->bt_primary_ci));
615 pos += scnprintf(buf+pos, bufsz-pos, 530 pos += scnprintf(buf + pos, bufsz - pos,
616 "Channel inhibition CMD\n"); 531 "\tSecondary Channel Bitmap 0x%016llx\n",
617 pos += scnprintf(buf+pos, bufsz-pos, 532 le64_to_cpu(cmd->bt_secondary_ci));
618 "\tPrimary Channel Bitmap 0x%016llx\n",
619 le64_to_cpu(cmd->bt_primary_ci));
620 pos += scnprintf(buf+pos, bufsz-pos,
621 "\tSecondary Channel Bitmap 0x%016llx\n",
622 le64_to_cpu(cmd->bt_secondary_ci));
623
624 pos += scnprintf(buf+pos, bufsz-pos,
625 "BT Configuration CMD - 0=default, 1=never, 2=always\n");
626 pos += scnprintf(buf+pos, bufsz-pos, "\tACK Kill msk idx %d\n",
627 mvm->bt_ack_kill_msk[0]);
628 pos += scnprintf(buf+pos, bufsz-pos, "\tCTS Kill msk idx %d\n",
629 mvm->bt_cts_kill_msk[0]);
630
631 } else {
632 struct iwl_bt_coex_ci_cmd *cmd = &mvm->last_bt_ci_cmd;
633
634 pos += scnprintf(buf+pos, bufsz-pos,
635 "Channel inhibition CMD\n");
636 pos += scnprintf(buf+pos, bufsz-pos,
637 "\tPrimary Channel Bitmap 0x%016llx\n",
638 le64_to_cpu(cmd->bt_primary_ci));
639 pos += scnprintf(buf+pos, bufsz-pos,
640 "\tSecondary Channel Bitmap 0x%016llx\n",
641 le64_to_cpu(cmd->bt_secondary_ci));
642 }
643 533
644 mutex_unlock(&mvm->mutex); 534 mutex_unlock(&mvm->mutex);
645 535