Lines Matching refs:pip

138     mdi_pathinfo_t *pip);
922 mdi_pathinfo_t *pip;
987 (MDI_SELECT_ONLINE_PATH | MDI_SELECT_STANDBY_PATH), NULL, &pip);
989 mdi_rele_path(pip);
1044 NULL, &pip);
1046 mdi_rele_path(pip);
1137 mdi_pathinfo_t *pip;
1339 "reserved instance %d, new instance: %d, pip: 0x%p",
1351 (void *)(intptr_t)resrv_instance, &pip);
1353 if ((rval == MDI_SUCCESS) && (pip != NULL)) {
1355 mdi_pi_get_vhci_private(pip);
1376 ddi_pathname(mdi_pi_get_phci(pip), p_path));
1398 " RELEASE\n", (void *)pip));
1400 mdi_rele_path(pip);
1617 mdi_pathinfo_t *pip = NULL;
1643 rval = mdi_select_path(cdip, NULL, MDI_SELECT_ONLINE_PATH, NULL, &pip);
1644 if ((rval != MDI_SUCCESS) || (pip == NULL)) {
1650 svp = (scsi_vhci_priv_t *)mdi_pi_get_vhci_private(pip);
1653 "priv is NULL, pip 0x%p", (void *)pip));
1654 mdi_rele_path(pip);
1660 "psd is NULL, pip 0x%p, svp 0x%p",
1661 (void *)pip, (void *)svp));
1662 mdi_rele_path(pip);
1677 mdi_pi_spathname(pip), level);
1684 MDI_SELECT_ONLINE_PATH, pip, &npip);
1686 mdi_rele_path(pip);
1689 mdi_rele_path(pip);
1690 pip = npip;
1693 mdi_rele_path(pip);
1699 "reset %d sent down pip:%p for cdip:%p\n", level,
1700 (void *)pip, (void *)cdip));
1703 mdi_rele_path(pip);
2221 mdi_pathinfo_t *pip = NULL;
2248 NULL, &pip);
2249 if ((rval != MDI_SUCCESS) || (pip == NULL)) {
2253 npip = pip;
2261 pip = vlun->svl_first_path;
2264 pip = npip;
2268 pip, &npip);
2269 mdi_rele_path(pip);
2298 pip = vpkt->vpkt_path;
2315 * If reservation is active bind the transport directly to the pip
2321 pip = vlun->svl_resrv_pip;
2322 mdi_hold_path(pip);
2336 (void *)(intptr_t)path_instance, &pip);
2363 pip = NULL;
2365 mps_flag, NULL, &pip);
2366 if ((rval != MDI_SUCCESS) || (pip == NULL)) {
2374 mps_flag, NULL, &pip);
2375 if ((rval != MDI_SUCCESS) || (pip == NULL)) {
2391 if ((pip == NULL) || (rval == MDI_NOPATH)) {
2431 pip = NULL;
2433 0, NULL, &pip);
2434 if (pip != NULL) {
2491 vpkt->vpkt_path = pip;
2492 svp = (scsi_vhci_priv_t *)mdi_pi_get_vhci_private(pip);
2685 mdi_pathinfo_t *pip, *npip;
2697 pip = vpkt->vpkt_path;
2698 svp = (scsi_vhci_priv_t *)mdi_pi_get_vhci_private(pip);
2709 pip = npip = NULL;
2740 pip = npip;
2743 pip, &npip);
2744 mdi_rele_path(pip);
3795 mdi_pathinfo_t *pip, *npip;
3812 pip = npip = NULL;
3825 pip = npip;
3826 svp = (scsi_vhci_priv_t *)mdi_pi_get_vhci_private(pip);
3832 MDI_SELECT_NO_PREFERRED), pip, &npip);
3833 mdi_rele_path(pip);
3837 if (mdi_prop_lookup_string(pip, "path-class", &pclass) !=
3841 "path 0x%p\n", (void *)pip));
3844 MDI_SELECT_NO_PREFERRED), pip, &npip);
3845 mdi_rele_path(pip);
3855 (void) mdi_prop_update_string(pip, "path-class",
3867 if (!(MDI_PI_IS_ONLINE(pip))) {
3870 " 0x%p as ONLINE\n", (void *)pip));
3879 mdi_pi_spathname(pip));
3881 mdi_pi_set_state(pip,
3883 mdi_pi_set_preferred(pip,
3899 } else if (MDI_PI_IS_ONLINE(pip)) {
3902 mdi_pi_set_preferred(pip,
3949 mdi_rele_path(pip);
3962 mdi_pi_get_path_instance(pip);
3971 (void *)pip));
3978 !(MDI_PI_IS_STANDBY(pip))) {
3981 " 0x%p as STANDBY\n", (void *)pip));
3990 mdi_pi_spathname(pip));
3992 mdi_pi_set_state(pip,
3994 mdi_pi_set_preferred(pip,
4012 MDI_SELECT_NO_PREFERRED), pip, &npip);
4013 mdi_rele_path(pip);
4062 vhci_pathinfo_init(dev_info_t *vdip, mdi_pathinfo_t *pip, int flags)
4076 ASSERT(pip != NULL);
4081 pdip = mdi_pi_get_phci(pip);
4087 tgt_dip = mdi_pi_get_client(pip);
4157 psd->sd_pathinfo = pip;
4165 psd->sd_private = (caddr_t)pip;
4171 mdi_pi_set_vhci_private(pip, (caddr_t)svp);
4182 "path=0x%p rval=%x", (void *)pip, rval));
4190 (void *)pip));
4199 mdi_pi_set_vhci_private(pip, NULL);
4215 vhci_pathinfo_uninit(dev_info_t *vdip, mdi_pathinfo_t *pip, int flags)
4224 ASSERT(pip != NULL);
4226 pdip = mdi_pi_get_phci(pip);
4229 cdip = mdi_pi_get_client(pip);
4235 vhci_mpapi_set_path_state(vdip, pip, MP_DRVR_PATH_STATE_UNINIT);
4236 svp = (scsi_vhci_priv_t *)mdi_pi_get_vhci_private(pip);
4265 mdi_pi_set_vhci_private(pip, NULL);
4280 (void *)pip));
4286 vhci_pathinfo_state_change(dev_info_t *vdip, mdi_pathinfo_t *pip,
4307 svp = (scsi_vhci_priv_t *)mdi_pi_get_vhci_private(pip);
4332 "_state_change (pip:%p): "
4334 (void *)pip));
4337 if (pip == vlun->svl_resrv_pip) {
4347 " (pip:%p): "
4350 (void *)pip));
4360 MDI_PI_IS_USER_DISABLE(pip) &&
4361 MDI_PI_IS_STANDBY(pip)) {
4370 best_class = mdi_pi_get_preferred(pip);
4381 rv = mdi_prop_lookup_string(pip,
4423 (void *)pip,
4463 1, pip);
4483 rval = vhci_pathinfo_online(vdip, pip, flags);
4487 rval = vhci_pathinfo_offline(vdip, pip, flags);
4722 vhci_update_pathinfo(struct scsi_device *psd, mdi_pathinfo_t *pip,
4735 "Failed to get operation info for path:%p\n", (void *)pip));
4740 (void) mdi_prop_update_string(pip, "path-class",
4779 mdi_pi_set_state(pip,
4797 mdi_pi_set_state(pip,
4801 mdi_pi_set_preferred(pip,
4860 mdi_pi_set_state(pip, MDI_PATHINFO_STATE_ONLINE);
4874 mdi_pi_set_state(pip, MDI_PATHINFO_STATE_ONLINE);
4885 mdi_pi_set_state(pip,
4888 mdi_pi_set_preferred(pip,
4894 mdi_pi_set_state(pip, MDI_PATHINFO_STATE_STANDBY);
4910 ((MDI_PI_OLD_STATE(pip) == MDI_PATHINFO_STATE_OFFLINE)||
4911 (MDI_PI_OLD_STATE(pip) == MDI_PATHINFO_STATE_INIT))) {
4914 best_pclass, (void *)pip, vlun->svl_lun_wwn));
4921 mdi_pi_set_preferred(pip, opinfo.opinfo_preferred);
4935 vhci_kstat_create_pathinfo(mdi_pathinfo_t *pip)
4948 if (mdi_pi_kstat_exists(pip))
4955 tgt_dip = mdi_pi_get_client(pip);
4956 pdip = mdi_pi_get_phci(pip);
4980 if (mdi_prop_lookup_string(pip,
5038 "kstat %s: pid %x <-> port %s\n", (void *)pip,
5044 (void) mdi_pi_kstat_create(pip, ks_name);
5049 vhci_pathinfo_online(dev_info_t *vdip, mdi_pathinfo_t *pip, int flags)
5068 ASSERT(pip != NULL);
5073 pdip = mdi_pi_get_phci(pip);
5077 svp = (scsi_vhci_priv_t *)mdi_pi_get_vhci_private(pip);
5080 cdip = mdi_pi_get_client(pip);
5094 vlun->svl_dip = mdi_pi_get_client(pip);
5110 "scsi_probe failed path:%p rval:%x\n", (void *)pip, rval));
5143 (void *)pip));
5147 sfo ? sfo->sfo_name : "NULL", mdi_pi_pathname(pip));
5155 "supported\n", (void *)pip));
5219 (void *)pip));
5228 "Issued SCSI-2 RELEASE\n", (void *)pip));
5236 rval = vhci_update_pathinfo(psd, pip, sfo, vlun, vhci);
5242 vhci_update_mpapi_data(vhci, vlun, pip);
5262 vhci_kstat_create_pathinfo(pip);
5271 vlun->svl_sector_size, 1, pip);
5275 (void *)pip));
5290 vhci_pathinfo_offline(dev_info_t *vdip, mdi_pathinfo_t *pip, int flags)
5299 ASSERT(pip != NULL);
5301 pdip = mdi_pi_get_phci(pip);
5305 "phci dip", (void *)pip));
5309 cdip = mdi_pi_get_client(pip);
5313 "client dip", (void *)pip));
5320 svp = (scsi_vhci_priv_t *)mdi_pi_get_vhci_private(pip);
5327 "svp is NULL for pip 0x%p\n", (void *)pip));
5337 "%d cmds pending on path: 0x%p\n", svp->svp_cmds, (void *)pip));
5348 (void *)pip));
5351 svp->svp_cmds, (void *)pip));
5359 * is the pip for the path that has been reserved.
5367 if (pip == svp->svp_svl->svl_resrv_pip) {
5372 "!vhci_pathinfo_offline (pip:%p):"
5373 "reset failed, retrying\n", (void *)pip));
5380 "(pip:%p): reset failed, "
5381 "giving up!\n", (void *)pip));
5388 mdi_pi_set_state(pip, MDI_PATHINFO_STATE_OFFLINE);
5389 vhci_mpapi_set_path_state(vdip, pip, MP_DRVR_PATH_STATE_REMOVED);
5392 "!vhci_pathinfo_offline: offlined path 0x%p\n", (void *)pip));
5406 mdi_pathinfo_t *pip;
5735 if ((pip = mdi_pi_find(pdip, NULL, paddr)) == NULL) {
5743 cdip = mdi_pi_get_client(pip);
5782 if ((pip = mdi_pi_find(pdip, NULL, paddr)) == NULL) {
5794 retval = mdi_pi_online(pip, 0);
5798 retval = mdi_pi_offline(pip, 0);
5802 retval = mdi_pi_standby(pip, 0);
6091 mdi_pathinfo_t *pip;
6143 NULL, &pip);
6144 if ((retval != MDI_SUCCESS) || (pip == NULL)) {
6150 svp = (scsi_vhci_priv_t *)mdi_pi_get_vhci_private(pip);
6155 "!vhci_ioctl(pip:%p): "
6156 "reset failed\n", (void *)pip));
6159 mdi_rele_path(pip);
6280 mdi_pathinfo_t *pip;
6297 pip = mdi_get_next_client_path(pdip, NULL);
6298 while (pip && !done) {
6299 mdi_pi_lock(pip);
6300 (void) ddi_pathname(mdi_pi_get_phci(pip),
6302 (void) strcpy(ret_pip->ret_addr, mdi_pi_get_addr(pip));
6303 (void) mdi_pi_get_state2(pip, &ret_pip->ret_state,
6306 status = mdi_prop_size(pip, &prop_size);
6323 status = mdi_prop_pack(pip,
6337 mdi_pi_unlock(pip);
6338 pip = mdi_get_next_client_path(pdip, pip);
6363 mdi_pathinfo_t *pip;
6375 pip = mdi_get_next_phci_path(cdip, NULL);
6376 while (pip && !done) {
6377 mdi_pi_lock(pip);
6378 (void) ddi_pathname(mdi_pi_get_phci(pip),
6380 (void) strcpy(ret_pip->ret_addr, mdi_pi_get_addr(pip));
6381 (void) mdi_pi_get_state2(pip, &ret_pip->ret_state,
6384 status = mdi_prop_size(pip, &prop_size);
6401 status = mdi_prop_pack(pip,
6415 mdi_pi_unlock(pip);
6416 pip = mdi_get_next_phci_path(cdip, pip);
6836 mdi_pathinfo_t *pip, *npip;
6925 pip = npip = NULL;
6943 pip = npip;
6945 MDI_SELECT_STANDBY_PATH, pip, &npip);
6946 mdi_rele_path(pip);
7056 pip = npip;
7058 pip, &npip);
7059 mdi_rele_path(pip);
7073 pip = npip = NULL;
7087 pip = npip;
7092 pip, &npip);
7093 mdi_rele_path(pip);
7128 pip = npip;
7131 pip, &npip);
7132 mdi_rele_path(pip);
7183 mdi_pathinfo_t *pip;
7194 for (pip = mdi_get_next_phci_path(cdip, NULL); pip;
7195 pip = mdi_get_next_phci_path(cdip, pip))
7196 vhci_kstat_create_pathinfo(pip);
7209 mdi_pathinfo_t *npip, *pip;
7214 pip = npip = NULL;
7245 pip = npip;
7247 MDI_SELECT_ONLINE_PATH, pip, &npip);
7248 mdi_rele_path(pip);
7278 pip = npip;
7280 pip, &npip);
7281 mdi_rele_path(pip);
7490 mdi_pathinfo_t *pip, *spip;
7498 pip = spip = NULL;
7500 pip = mdi_get_next_phci_path(cdip, NULL);
7501 while (pip != NULL) {
7502 (void) mdi_pi_get_state2(pip, &pstate, &p_ext_state);
7504 spip = pip;
7505 pip = mdi_get_next_phci_path(cdip, spip);
7508 mdi_hold_path(pip);
7510 svp = (scsi_vhci_priv_t *)mdi_pi_get_vhci_private(pip);
7517 mdi_rele_path(pip);
7526 spip = pip;
7527 pip = mdi_get_next_phci_path(cdip, spip);
7540 mdi_pathinfo_t *pip, *npip;
7553 MDI_SELECT_STANDBY_PATH, NULL, &pip);
7554 if ((rval != MDI_SUCCESS) || (pip == NULL)) {
7571 npip = pip;
7572 pip = NULL;
7624 pip = npip;
7638 pip = npip;
7641 pip, &npip);
7642 mdi_rele_path(pip);
7660 ASSERT(pip != NULL);
7684 (void *)pip, (void *)svp, rval));
7686 mdi_rele_path(pip);
7693 mdi_rele_path(pip);
7702 npip = pip;
7703 pip = NULL;
7750 pip = npip;
7765 pip = npip;
7768 pip, &npip);
7769 mdi_rele_path(pip);
7777 mdi_rele_path(pip);
7800 MDI_SELECT_STANDBY_PATH, NULL, &pip);
7801 if ((rval != MDI_SUCCESS) || (pip == NULL)) {
7803 "%s%d: vhci_pgr_validate_and_register: no valid pip\n",
7833 mdi_rele_path(pip);
8075 mdi_pathinfo_t *pip)
8087 if (pip) {
8099 (void *)pip, (void *)ap, rval));
8112 sps = mdi_select_path(cdip, NULL, mps_flag, NULL, &pip);
8113 if ((sps != MDI_SUCCESS) || (pip == NULL)) {
8121 svp = (scsi_vhci_priv_t *)mdi_pi_get_vhci_private(pip);
8124 "priv is NULL, pip 0x%p", (void *)pip));
8125 mdi_rele_path(pip);
8131 "psd is NULL, pip 0x%p, svp 0x%p",
8132 (void *)pip, (void *)svp));
8133 mdi_rele_path(pip);
8147 (void *)pip, (void *)ap, rval));
8153 sps = mdi_select_path(cdip, NULL, mps_flag, pip, &npip);
8155 mdi_rele_path(pip);
8158 mdi_rele_path(pip);
8159 pip = npip;
8162 mdi_rele_path(pip);
8404 mdi_pi_kstat_iosupdate(mp_uscmdp->pip, bp);
8425 MDI_PI_ERRSTAT(mp_uscmdp->pip, MDI_PI_TRANSERR);
8427 MDI_PI_ERRSTAT(mp_uscmdp->pip, MDI_PI_HARDERR);
8449 mdi_pi_kstat_iosupdate(mp_uscmdp->pip, bp);
8476 MDI_PI_ERRSTAT(mp_uscmdp->pip, MDI_PI_TRANSERR);
8502 mdi_pi_kstat_iosupdate(mp_uscmdp->pip, bp);
8571 " ucdbp: %p pcdblen: %d bp: %p count: %ld pip: %p"
8575 (void *)bp, bp->b_bcount, (void *)mp_uscmdp->pip, stat_size));
8608 MDI_PI_ERRSTAT(mp_uscmdp->pip, MDI_PI_TRANSERR);