Lines Matching defs:mpt

63 mptsas_smhba_add_hba_prop(mptsas_t *mpt, data_type_t dt,
67 mptsas_smhba_show_phy_info(mptsas_t *mpt);
70 mptsas_smhba_add_hba_prop(mptsas_t *mpt, data_type_t dt,
73 ASSERT(mpt != NULL);
77 if (ddi_prop_update_int(DDI_DEV_T_NONE, mpt->m_dip,
79 mptsas_log(mpt, CE_WARN,
84 if (ddi_prop_update_string(DDI_DEV_T_NONE, mpt->m_dip,
86 mptsas_log(mpt, CE_WARN,
91 mptsas_log(mpt, CE_WARN, "%s: "
98 mptsas_smhba_show_phy_info(mptsas_t *mpt)
102 ASSERT(mpt != NULL);
105 mptsas_log(mpt, CE_WARN,
109 i, mpt->m_phy_info[i].smhba_info.owner_devhdl,
110 mpt->m_phy_info[i].smhba_info.attached_devhdl,
111 mpt->m_phy_info[i].smhba_info.attached_phy_identify,
112 mpt->m_phy_info[i].smhba_info.programmed_link_rate,
113 mpt->m_phy_info[i].smhba_info.hw_link_rate,
114 mpt->m_phy_info[i].smhba_info.negotiated_link_rate,
115 mpt->m_phy_info[i].smhba_info.path);
120 mptsas_smhba_set_phy_props(mptsas_t *mpt, char *iport, dev_info_t *dip,
137 mptsas_log(mpt, CE_WARN, "%s: nvlist_alloc() failed", __func__);
143 for (i = 0; i < mpt->m_num_phys; i++) {
146 (void) sprintf(phymask, "%x", mpt->m_phy_info[i].phy_mask);
148 pSmhba = &mpt->m_phy_info[i].smhba_info;
189 mptsas_log(mpt, CE_WARN,
218 mptsas_smhba_log_sysevent(mptsas_t *mpt, char *subclass, char *etype,
227 if (mpt->m_dip == NULL)
248 (void) ddi_pathname(mpt->m_dip, pname);
252 mptsas_log(mpt, CE_WARN,
259 ddi_get_instance(mpt->m_dip)) != 0)
279 (void) ddi_log_sysevent(mpt->m_dip, DDI_VENDOR_SUNW, EC_HBA, subclass,
288 mptsas_create_phy_stats(mptsas_t *mpt, char *iport, dev_info_t *dip)
298 ASSERT(mpt != NULL);
300 for (i = 0; i < mpt->m_num_phys; i++) {
303 (void) sprintf(phymask, "%x", mpt->m_phy_info[i].phy_mask);
306 phyp = &mpt->m_phy_info[i].smhba_info;
319 (longlong_t)mpt->un.m_base_wwid,
328 mptsas_log(mpt, CE_WARN,
370 mptsas_t *mpt;
376 mpt = (mptsas_t *)pptr->mpt;
377 ASSERT((mpt != NULL));
384 mutex_enter(&mpt->m_mutex);
386 ret = mptsas_get_sas_phy_page1(pptr->mpt, page_address, pptr);
405 mutex_exit(&mpt->m_mutex);
411 mptsas_destroy_phy_stats(mptsas_t *mpt)
416 ASSERT(mpt != NULL);
418 for (i = 0; i < mpt->m_num_phys; i++) {
419 phyp = &mpt->m_phy_info[i].smhba_info;
434 mptsas_smhba_phy_init(mptsas_t *mpt)
440 ASSERT(mutex_owned(&mpt->m_mutex));
442 for (i = 0; i < mpt->m_num_phys; i++) {
446 rval = mptsas_get_sas_phy_page0(mpt,
447 page_address, &mpt->m_phy_info[i].smhba_info);
449 mptsas_log(mpt, CE_WARN,
454 mpt->m_phy_info[i].smhba_info.phy_id = (uint8_t)i;
455 mpt->m_phy_info[i].smhba_info.sas_addr =
456 mpt->un.m_base_wwid + i;
457 mpt->m_phy_info[i].smhba_info.mpt = mpt;
463 mptsas_smhba_setup(mptsas_t *mpt)
470 mutex_enter(&mpt->m_mutex);
471 if (mptsas_smhba_phy_init(mpt)) {
472 mutex_exit(&mpt->m_mutex);
475 mutex_exit(&mpt->m_mutex);
478 mptsas_smhba_add_hba_prop(mpt, DATA_TYPE_INT32, MPTSAS_SMHBA_SUPPORTED,
482 mptsas_smhba_add_hba_prop(mpt, DATA_TYPE_STRING, MPTSAS_DRV_VERSION,
486 chiprev = 'A' + mpt->m_revid;
488 mptsas_smhba_add_hba_prop(mpt, DATA_TYPE_STRING, MPTSAS_HWARE_VERSION,
492 mptsas_smhba_add_hba_prop(mpt, DATA_TYPE_INT32, MPTSAS_NUM_PHYS_HBA,
493 &(mpt->m_num_phys));
497 mptsas_smhba_add_hba_prop(mpt, DATA_TYPE_INT32,
500 mptsas_smhba_add_hba_prop(mpt, DATA_TYPE_STRING, MPTSAS_MANUFACTURER,
501 mpt->m_MANU_page0.ChipName);
503 mptsas_smhba_add_hba_prop(mpt, DATA_TYPE_STRING, MPTSAS_MODEL_NAME,
504 mpt->m_MANU_page0.BoardName);
511 mpt->m_MANU_page0.ChipName,
512 mpt->m_MANU_page0.ChipRevision,
513 mpt->m_MANU_page0.BoardName,
514 mpt->m_MANU_page0.BoardAssembly,
515 mpt->m_MANU_page0.BoardTracerNumber);
517 mptsas_smhba_add_hba_prop(mpt, DATA_TYPE_STRING, MPTSAS_SERIAL_NUMBER,