Lines Matching defs:iwl_trans

1149 static void get_crf_id(struct iwl_trans *iwl_trans)
1154 if (iwl_trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_AX210)
1160 val = iwl_read_umac_prph_no_grab(iwl_trans, WFPM_CTRL_REG);
1162 iwl_write_umac_prph_no_grab(iwl_trans, WFPM_CTRL_REG, val);
1165 iwl_trans->hw_crf_id = iwl_read_prph_no_grab(iwl_trans, sd_reg_ver_addr);
1168 iwl_trans->hw_cnv_id =
1169 iwl_read_prph_no_grab(iwl_trans, CNVI_AUX_MISC_CHIP);
1172 if (CSR_HW_REV_TYPE(iwl_trans->hw_rev) == IWL_CFG_MAC_TYPE_BZ) {
1173 u8 step = CNVI_AUX_MISC_CHIP_MAC_STEP(iwl_trans->hw_cnv_id);
1176 if ((CNVI_AUX_MISC_CHIP_PROD_TYPE(iwl_trans->hw_cnv_id) ==
1181 iwl_trans->hw_rev_step = step;
1182 iwl_trans->hw_rev |= step;
1186 iwl_trans->hw_wfpm_id =
1187 iwl_read_umac_prph_no_grab(iwl_trans, WFPM_OTP_CFG1_ADDR);
1188 IWL_INFO(iwl_trans, "Detected crf-id 0x%x, cnv-id 0x%x wfpm id 0x%x\n",
1189 iwl_trans->hw_crf_id, iwl_trans->hw_cnv_id,
1190 iwl_trans->hw_wfpm_id);
1197 static int map_crf_id(struct iwl_trans *iwl_trans)
1200 u32 val = iwl_trans->hw_crf_id;
1203 u32 jacket_id_cnv = REG_CRF_ID_SLAVE(iwl_trans->hw_cnv_id);
1204 u32 jacket_id_wfpm = WFPM_OTP_CFG1_IS_JACKET(iwl_trans->hw_wfpm_id);
1205 u32 cdb_id_wfpm = WFPM_OTP_CFG1_IS_CDB(iwl_trans->hw_wfpm_id);
1210 iwl_trans->hw_rf_id = (IWL_CFG_RF_TYPE_JF1 << 12);
1213 iwl_trans->hw_rf_id = (IWL_CFG_RF_TYPE_JF2 << 12);
1216 iwl_trans->hw_rf_id = (IWL_CFG_RF_TYPE_HR1 << 12);
1219 iwl_trans->hw_rf_id = (IWL_CFG_RF_TYPE_HR2 << 12);
1222 iwl_trans->hw_rf_id = (IWL_CFG_RF_TYPE_HR2 << 12);
1225 iwl_trans->hw_rf_id = (IWL_CFG_RF_TYPE_GF << 12);
1228 iwl_trans->hw_rf_id = (IWL_CFG_RF_TYPE_MR << 12);
1233 iwl_trans->hw_rf_id = (IWL_CFG_RF_TYPE_FM << 12);
1236 iwl_trans->hw_rf_id = (IWL_CFG_RF_TYPE_WH << 12);
1240 IWL_ERR(iwl_trans,
1248 iwl_trans->hw_rf_id |= (step_id << 8);
1252 iwl_trans->hw_rf_id += BIT(28);
1253 IWL_INFO(iwl_trans, "Adding cdb to rf id\n");
1258 iwl_trans->hw_rf_id += BIT(29);
1259 IWL_INFO(iwl_trans, "Adding jacket to rf id\n");
1262 IWL_INFO(iwl_trans,
1264 REG_CRF_ID_TYPE(val), step_id, slave_id, iwl_trans->hw_rf_id);
1265 IWL_INFO(iwl_trans,
1267 cdb_id_wfpm, jacket_id_wfpm, iwl_trans->hw_wfpm_id);
1268 IWL_INFO(iwl_trans, "Detected jacket-id 0x%x from cnvi id 0x%x\n",
1269 jacket_id_cnv, iwl_trans->hw_cnv_id);
1348 struct iwl_trans *iwl_trans;
1366 iwl_trans = iwl_trans_pcie_alloc(pdev, ent, trans);
1367 if (IS_ERR(iwl_trans))
1368 return PTR_ERR(iwl_trans);
1370 trans_pcie = IWL_TRANS_GET_PCIE_TRANS(iwl_trans);
1379 ret = iwl_pcie_prepare_card_hw(iwl_trans);
1381 ret = iwl_finish_nic_init(iwl_trans);
1384 if (iwl_trans_grab_nic_access(iwl_trans)) {
1385 get_crf_id(iwl_trans);
1387 iwl_trans_release_nic_access(iwl_trans);
1394 iwl_trans->hw_rf_id = iwl_read32(iwl_trans, CSR_HW_RF_ID);
1401 if (iwl_trans->trans_cfg->rf_id &&
1402 iwl_trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_9000 &&
1403 !CSR_HW_RFID_TYPE(iwl_trans->hw_rf_id) && map_crf_id(iwl_trans)) {
1408 IWL_INFO(iwl_trans, "PCI dev %04x/%04x, rev=0x%x, rfid=0x%x\n",
1410 iwl_trans->hw_rev, iwl_trans->hw_rf_id);
1413 CSR_HW_REV_TYPE(iwl_trans->hw_rev),
1414 iwl_trans->hw_rev_step,
1415 CSR_HW_RFID_TYPE(iwl_trans->hw_rf_id),
1416 CSR_HW_RFID_IS_CDB(iwl_trans->hw_rf_id),
1417 CSR_HW_RFID_IS_JACKET(iwl_trans->hw_rf_id),
1421 CSR_HW_RFID_STEP(iwl_trans->hw_rf_id));
1423 iwl_trans->cfg = dev_info->cfg;
1424 iwl_trans->name = dev_info->name;
1425 iwl_trans->no_160 = dev_info->no_160 == IWL_CFG_NO_160;
1443 (iwl_trans->hw_rev & CSR_HW_REV_TYPE_MSK) == CSR_HW_REV_TYPE_7265D)
1444 iwl_trans->cfg = cfg_7265d;
1452 if (iwl_trans->hw_rev == CSR_HW_REV_TYPE_QU_C0) {
1453 if (iwl_trans->cfg == &iwl_ax201_cfg_qu_hr)
1454 iwl_trans->cfg = &iwl_ax201_cfg_qu_c0_hr_b0;
1455 else if (iwl_trans->cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0)
1456 iwl_trans->cfg = &killer1650s_2ax_cfg_qu_c0_hr_b0;
1457 else if (iwl_trans->cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0)
1458 iwl_trans->cfg = &killer1650i_2ax_cfg_qu_c0_hr_b0;
1462 if (iwl_trans->hw_rev == CSR_HW_REV_TYPE_QUZ) {
1463 if (iwl_trans->cfg == &iwl_ax201_cfg_qu_hr)
1464 iwl_trans->cfg = &iwl_ax201_cfg_quz_hr;
1465 else if (iwl_trans->cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0)
1466 iwl_trans->cfg = &iwl_ax1650s_cfg_quz_hr;
1467 else if (iwl_trans->cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0)
1468 iwl_trans->cfg = &iwl_ax1650i_cfg_quz_hr;
1476 if (!iwl_trans->cfg) {
1480 iwl_trans->hw_rev, iwl_trans->hw_rf_id);
1484 iwl_trans->cfg = cfg;
1488 if (!iwl_trans->name)
1489 iwl_trans->name = iwl_trans->cfg->name;
1491 if (iwl_trans->trans_cfg->mq_rx_supported) {
1492 if (WARN_ON(!iwl_trans->cfg->num_rbds)) {
1496 trans_pcie->num_rx_bufs = iwl_trans->cfg->num_rbds;
1501 if (!iwl_trans->trans_cfg->integrated) {
1506 iwl_trans->pcie_link_speed =
1510 ret = iwl_trans_init(iwl_trans);
1514 pci_set_drvdata(pdev, iwl_trans);
1517 iwl_pcie_prepare_card_hw(iwl_trans);
1519 iwl_trans->drv = iwl_drv_start(iwl_trans);
1521 if (IS_ERR(iwl_trans->drv)) {
1522 ret = PTR_ERR(iwl_trans->drv);
1527 iwl_trans_pcie_dbgfs_register(iwl_trans);
1532 iwl_trans_pcie_free(iwl_trans);
1538 struct iwl_trans *trans = pci_get_drvdata(pdev);
1563 struct iwl_trans *trans = pci_get_drvdata(pdev);