• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/scsi/lpfc/

Lines Matching defs:phba

86 	struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
87 return snprintf(buf, PAGE_SIZE, "%s\n",phba->SerialNumber);
94 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
95 return snprintf(buf, PAGE_SIZE, "%s\n",phba->ModelDesc);
102 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
103 return snprintf(buf, PAGE_SIZE, "%s\n",phba->ModelName);
110 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
111 return snprintf(buf, PAGE_SIZE, "%s\n",phba->ProgramType);
118 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
119 return snprintf(buf, PAGE_SIZE, "%s\n",phba->Port);
126 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
128 lpfc_decode_firmware_rev(phba, fwrev, 1);
137 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
138 lpfc_vpd_t *vp = &phba->vpd;
146 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
147 return snprintf(buf, PAGE_SIZE, "%s\n", phba->OptionROMVersion);
153 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
155 switch (phba->hba_state) {
180 if (phba->fc_topology == TOPOLOGY_LOOP) {
181 if (phba->fc_flag & FC_PUBLIC_LOOP)
188 if (phba->fc_flag & FC_FABRIC)
203 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
204 return snprintf(buf, PAGE_SIZE, "%d\n", phba->fc_map_cnt +
205 phba->fc_unmap_cnt);
212 struct lpfc_hba *phba = (struct lpfc_hba *) host->hostdata;
216 if ((phba->fc_flag & FC_OFFLINE_MODE) ||
217 (phba->fc_flag & FC_BLOCK_MGMT_IO) ||
218 (phba->hba_state != LPFC_HBA_READY))
221 pmboxq = mempool_alloc(phba->mbox_mem_pool,GFP_KERNEL);
230 mbxstatus = lpfc_sli_issue_mbox_wait(phba, pmboxq, LPFC_MBOX_TMO * 2);
234 lpfc_init_link(phba, pmboxq, phba->cfg_topology,
235 phba->cfg_link_speed);
236 mbxstatus = lpfc_sli_issue_mbox_wait(phba, pmboxq,
237 phba->fc_ratov * 2);
240 lpfc_set_loopback_flag(phba);
244 mempool_free(pmboxq, phba->mbox_mem_pool);
253 lpfc_do_offline(struct lpfc_hba *phba, uint32_t type)
263 lpfc_workq_post_event(phba, &status, &online_compl,
270 psli = &phba->sli;
278 lpfc_printf_log(phba,
282 phba->brd_no);
289 lpfc_workq_post_event(phba, &status, &online_compl, type);
299 lpfc_selective_reset(struct lpfc_hba *phba)
304 status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
310 lpfc_workq_post_event(phba, &status, &online_compl,
324 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
328 status = lpfc_selective_reset(phba);
340 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
341 return snprintf(buf, PAGE_SIZE, "%d\n", phba->nport_event_cnt);
348 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
351 if (phba->hba_state == LPFC_HBA_ERROR)
353 else if (phba->hba_state == LPFC_WARM_START)
355 else if (phba->hba_state == LPFC_INIT_START)
367 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
374 lpfc_workq_post_event(phba, &status, &online_compl,
378 status = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
380 status = lpfc_do_offline(phba, LPFC_EVT_WARM_START);
382 status = lpfc_do_offline(phba, LPFC_EVT_KILL);
396 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
398 return snprintf(buf, PAGE_SIZE, "%#x\n", phba->cfg_poll);
406 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
420 spin_lock_irq(phba->host->host_lock);
422 old_val = phba->cfg_poll;
427 creg_val = readl(phba->HCregaddr);
429 writel(creg_val, phba->HCregaddr);
430 readl(phba->HCregaddr); /* flush */
432 lpfc_poll_start_timer(phba);
435 spin_unlock_irq(phba->host->host_lock);
442 spin_unlock_irq(phba->host->host_lock);
443 del_timer(&phba->fcp_poll_timer);
444 spin_lock_irq(phba->host->host_lock);
445 creg_val = readl(phba->HCregaddr);
447 writel(creg_val, phba->HCregaddr);
448 readl(phba->HCregaddr); /* flush */
451 phba->cfg_poll = val;
453 spin_unlock_irq(phba->host->host_lock);
463 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;\
465 val = phba->cfg_##attr;\
467 phba->cfg_##attr);\
475 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;\
477 val = phba->cfg_##attr;\
479 phba->cfg_##attr);\
484 lpfc_##attr##_init(struct lpfc_hba *phba, int val) \
487 phba->cfg_##attr = val;\
490 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
493 phba->brd_no, val); \
494 phba->cfg_##attr = default;\
500 lpfc_##attr##_set(struct lpfc_hba *phba, int val) \
503 phba->cfg_##attr = val;\
506 lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \
509 phba->brd_no, val); \
518 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;\
524 if (lpfc_##attr##_set(phba, val) == 0) \
604 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
628 phba->soft_wwn_enable = 1;
638 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
640 (unsigned long long)phba->cfg_soft_wwpn);
648 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
658 if (!phba->soft_wwn_enable || (cnt < 16) || (cnt > 18) ||
663 phba->soft_wwn_enable = 0;
682 phba->cfg_soft_wwpn = wwn_to_u64(wwpn);
683 fc_host_port_name(host) = phba->cfg_soft_wwpn;
684 if (phba->cfg_soft_wwnn)
685 fc_host_node_name(host) = phba->cfg_soft_wwnn;
687 dev_printk(KERN_NOTICE, &phba->pcidev->dev,
688 "lpfc%d: Reinitializing to use soft_wwpn\n", phba->brd_no);
690 stat1 = lpfc_do_offline(phba, LPFC_EVT_OFFLINE);
692 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
694 "adapter - %d\n", phba->brd_no, stat1);
697 lpfc_workq_post_event(phba, &stat2, &online_compl, LPFC_EVT_ONLINE);
700 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
702 "adapter - %d\n", phba->brd_no, stat2);
713 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
715 (unsigned long long)phba->cfg_soft_wwnn);
723 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
731 if (!phba->soft_wwn_enable || (cnt < 16) || (cnt > 18) ||
758 phba->cfg_soft_wwnn = wwn_to_u64(wwnn);
760 dev_printk(KERN_NOTICE, &phba->pcidev->dev,
762 "setting of the soft_wwpn\n", phba->brd_no);
794 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
796 val = phba->cfg_devloss_tmo;
798 phba->cfg_devloss_tmo);
802 lpfc_nodev_tmo_init(struct lpfc_hba *phba, int val)
805 if (phba->cfg_devloss_tmo != LPFC_DEF_DEVLOSS_TMO) {
806 phba->cfg_nodev_tmo = phba->cfg_devloss_tmo;
809 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
813 phba->brd_no);
819 phba->cfg_nodev_tmo = val;
820 phba->cfg_devloss_tmo = val;
823 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
826 phba->brd_no, val,
828 phba->cfg_nodev_tmo = LPFC_DEF_DEVLOSS_TMO;
833 lpfc_update_rport_devloss_tmo(struct lpfc_hba *phba)
837 spin_lock_irq(phba->host->host_lock);
838 list_for_each_entry(ndlp, &phba->fc_nodes, nlp_listp)
840 ndlp->rport->dev_loss_tmo = phba->cfg_devloss_tmo;
841 spin_unlock_irq(phba->host->host_lock);
845 lpfc_nodev_tmo_set(struct lpfc_hba *phba, int val)
847 if (phba->dev_loss_tmo_changed ||
849 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
852 phba->brd_no);
857 phba->cfg_nodev_tmo = val;
858 phba->cfg_devloss_tmo = val;
859 lpfc_update_rport_devloss_tmo(phba);
863 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
866 phba->brd_no, val, LPFC_MIN_DEVLOSS_TMO,
889 lpfc_devloss_tmo_set(struct lpfc_hba *phba, int val)
892 phba->cfg_nodev_tmo = val;
893 phba->cfg_devloss_tmo = val;
894 phba->dev_loss_tmo_changed = 1;
895 lpfc_update_rport_devloss_tmo(phba);
899 lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
902 phba->brd_no, val, LPFC_MIN_DEVLOSS_TMO,
1141 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
1151 spin_lock_irq(phba->host->host_lock);
1153 if (!(phba->fc_flag & FC_OFFLINE_MODE)) {
1154 spin_unlock_irq(phba->host->host_lock);
1160 phba->ctrl_regs_memmap_p + off + buf_off);
1162 spin_unlock_irq(phba->host->host_lock);
1174 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
1187 spin_lock_irq(phba->host->host_lock);
1191 *tmp_ptr = readl(phba->ctrl_regs_memmap_p + off + buf_off);
1194 spin_unlock_irq(phba->host->host_lock);
1212 sysfs_mbox_idle (struct lpfc_hba * phba)
1214 phba->sysfs_mbox.state = SMBOX_IDLE;
1215 phba->sysfs_mbox.offset = 0;
1217 if (phba->sysfs_mbox.mbox) {
1218 mempool_free(phba->sysfs_mbox.mbox,
1219 phba->mbox_mem_pool);
1220 phba->sysfs_mbox.mbox = NULL;
1229 struct lpfc_hba * phba = (struct lpfc_hba*)host->hostdata;
1242 mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
1251 if (phba->sysfs_mbox.mbox)
1252 mempool_free(mbox, phba->mbox_mem_pool);
1254 phba->sysfs_mbox.mbox = mbox;
1255 phba->sysfs_mbox.state = SMBOX_WRITING;
1257 if (phba->sysfs_mbox.state != SMBOX_WRITING ||
1258 phba->sysfs_mbox.offset != off ||
1259 phba->sysfs_mbox.mbox == NULL ) {
1260 sysfs_mbox_idle(phba);
1266 memcpy((uint8_t *) & phba->sysfs_mbox.mbox->mb + off,
1269 phba->sysfs_mbox.offset = off + count;
1282 struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata;
1297 spin_lock_irq(phba->host->host_lock);
1300 phba->sysfs_mbox.state == SMBOX_WRITING &&
1301 phba->sysfs_mbox.offset >= 2 * sizeof(uint32_t)) {
1303 switch (phba->sysfs_mbox.mbox->mb.mbxCommand) {
1320 if (!(phba->fc_flag & FC_OFFLINE_MODE)) {
1323 phba->sysfs_mbox.mbox->mb.mbxCommand);
1324 sysfs_mbox_idle(phba);
1325 spin_unlock_irq(phba->host->host_lock);
1353 phba->sysfs_mbox.mbox->mb.mbxCommand);
1354 sysfs_mbox_idle(phba);
1355 spin_unlock_irq(phba->host->host_lock);
1359 phba->sysfs_mbox.mbox->mb.mbxCommand);
1360 sysfs_mbox_idle(phba);
1361 spin_unlock_irq(phba->host->host_lock);
1365 if (phba->fc_flag & FC_BLOCK_MGMT_IO) {
1366 sysfs_mbox_idle(phba);
1371 if ((phba->fc_flag & FC_OFFLINE_MODE) ||
1372 (!(phba->sli.sli_flag & LPFC_SLI2_ACTIVE))){
1374 spin_unlock_irq(phba->host->host_lock);
1375 rc = lpfc_sli_issue_mbox (phba,
1376 phba->sysfs_mbox.mbox,
1378 spin_lock_irq(phba->host->host_lock);
1381 spin_unlock_irq(phba->host->host_lock);
1382 rc = lpfc_sli_issue_mbox_wait (phba,
1383 phba->sysfs_mbox.mbox,
1384 lpfc_mbox_tmo_val(phba,
1385 phba->sysfs_mbox.mbox->mb.mbxCommand) * HZ);
1386 spin_lock_irq(phba->host->host_lock);
1391 phba->sysfs_mbox.mbox->mbox_cmpl =
1393 phba->sysfs_mbox.mbox = NULL;
1395 sysfs_mbox_idle(phba);
1399 phba->sysfs_mbox.state = SMBOX_READING;
1401 else if (phba->sysfs_mbox.offset != off ||
1402 phba->sysfs_mbox.state != SMBOX_READING) {
1404 sysfs_mbox_idle(phba);
1409 memcpy(buf, (uint8_t *) & phba->sysfs_mbox.mbox->mb + off, count);
1411 phba->sysfs_mbox.offset = off + count;
1413 if (phba->sysfs_mbox.offset == MAILBOX_CMD_SIZE)
1414 sysfs_mbox_idle(phba);
1416 spin_unlock_irq(phba->host->host_lock);
1433 lpfc_alloc_sysfs_attr(struct lpfc_hba *phba)
1435 struct Scsi_Host *host = phba->host;
1456 lpfc_free_sysfs_attr(struct lpfc_hba *phba)
1458 struct Scsi_Host *host = phba->host;
1472 struct lpfc_hba *phba = (struct lpfc_hba*)shost->hostdata;
1474 fc_host_port_id(shost) = phba->fc_myDID;
1480 struct lpfc_hba *phba = (struct lpfc_hba*)shost->hostdata;
1484 if (phba->hba_state == LPFC_HBA_READY) {
1485 if (phba->fc_topology == TOPOLOGY_LOOP) {
1486 if (phba->fc_flag & FC_PUBLIC_LOOP)
1491 if (phba->fc_flag & FC_FABRIC)
1505 struct lpfc_hba *phba = (struct lpfc_hba*)shost->hostdata;
1509 if (phba->fc_flag & FC_OFFLINE_MODE)
1512 switch (phba->hba_state) {
1548 struct lpfc_hba *phba = (struct lpfc_hba*)shost->hostdata;
1552 if (phba->hba_state == LPFC_HBA_READY) {
1553 switch(phba->fc_linkspeed) {
1578 struct lpfc_hba *phba = (struct lpfc_hba*)shost->hostdata;
1583 if ((phba->fc_flag & FC_FABRIC) ||
1584 ((phba->fc_topology == TOPOLOGY_LOOP) &&
1585 (phba->fc_flag & FC_PUBLIC_LOOP)))
1586 node_name = wwn_to_u64(phba->fc_fabparam.nodeName.u.wwn);
1589 node_name = wwn_to_u64(phba->fc_nodename.u.wwn);
1599 struct lpfc_hba *phba = (struct lpfc_hba*)shost->hostdata;
1602 lpfc_get_hba_sym_node_name(phba, fc_host_symbolic_name(shost));
1609 struct lpfc_hba *phba = (struct lpfc_hba *)shost->hostdata;
1610 struct lpfc_sli *psli = &phba->sli;
1611 struct fc_host_statistics *hs = &phba->link_stats;
1618 if (phba->fc_flag & FC_BLOCK_MGMT_IO)
1621 pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
1631 if ((phba->fc_flag & FC_OFFLINE_MODE) ||
1633 rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL);
1635 rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2);
1641 mempool_free(pmboxq, phba->mbox_mem_pool);
1657 if ((phba->fc_flag & FC_OFFLINE_MODE) ||
1659 rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL);
1661 rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2);
1667 mempool_free( pmboxq, phba->mbox_mem_pool);
1687 if (phba->fc_topology == TOPOLOGY_LOOP) {
1688 hs->lip_count = (phba->fc_eventTag >> 1);
1693 hs->nos_count = (phba->fc_eventTag >> 1);
1706 mempool_free(pmboxq, phba->mbox_mem_pool);
1714 struct lpfc_hba *phba = (struct lpfc_hba *)shost->hostdata;
1715 struct lpfc_sli *psli = &phba->sli;
1721 if (phba->fc_flag & FC_BLOCK_MGMT_IO)
1724 pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
1735 if ((phba->fc_flag & FC_OFFLINE_MODE) ||
1737 rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL);
1739 rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2);
1745 mempool_free(pmboxq, phba->mbox_mem_pool);
1754 if ((phba->fc_flag & FC_OFFLINE_MODE) ||
1756 rc = lpfc_sli_issue_mbox(phba, pmboxq, MBX_POLL);
1758 rc = lpfc_sli_issue_mbox_wait(phba, pmboxq, phba->fc_ratov * 2);
1764 mempool_free( pmboxq, phba->mbox_mem_pool);
1775 lso->link_events = (phba->fc_eventTag >> 1);
1779 mempool_free(pmboxq, phba->mbox_mem_pool);
1793 struct lpfc_hba *phba = (struct lpfc_hba *) shost->hostdata;
1798 list_for_each_entry(ndlp, &phba->fc_nodes, nlp_listp) {
1921 lpfc_get_cfgparam(struct lpfc_hba *phba)
1923 lpfc_log_verbose_init(phba, lpfc_log_verbose);
1924 lpfc_cr_delay_init(phba, lpfc_cr_delay);
1925 lpfc_cr_count_init(phba, lpfc_cr_count);
1926 lpfc_multi_ring_support_init(phba, lpfc_multi_ring_support);
1927 lpfc_multi_ring_rctl_init(phba, lpfc_multi_ring_rctl);
1928 lpfc_multi_ring_type_init(phba, lpfc_multi_ring_type);
1929 lpfc_lun_queue_depth_init(phba, lpfc_lun_queue_depth);
1930 lpfc_fcp_class_init(phba, lpfc_fcp_class);
1931 lpfc_use_adisc_init(phba, lpfc_use_adisc);
1932 lpfc_ack0_init(phba, lpfc_ack0);
1933 lpfc_topology_init(phba, lpfc_topology);
1934 lpfc_scan_down_init(phba, lpfc_scan_down);
1935 lpfc_link_speed_init(phba, lpfc_link_speed);
1936 lpfc_fdmi_on_init(phba, lpfc_fdmi_on);
1937 lpfc_discovery_threads_init(phba, lpfc_discovery_threads);
1938 lpfc_max_luns_init(phba, lpfc_max_luns);
1939 lpfc_poll_tmo_init(phba, lpfc_poll_tmo);
1940 lpfc_use_msi_init(phba, lpfc_use_msi);
1941 lpfc_devloss_tmo_init(phba, lpfc_devloss_tmo);
1942 lpfc_nodev_tmo_init(phba, lpfc_nodev_tmo);
1943 phba->cfg_poll = lpfc_poll;
1944 phba->cfg_soft_wwnn = 0L;
1945 phba->cfg_soft_wwpn = 0L;
1951 phba->cfg_sg_seg_cnt = LPFC_SG_SEG_CNT + 2;
1957 phba->cfg_sg_dma_buf_size = sizeof(struct fcp_cmnd) +
1959 (phba->cfg_sg_seg_cnt * sizeof(struct ulp_bde64));
1962 lpfc_hba_queue_depth_init(phba, lpfc_hba_queue_depth);