Lines Matching defs:cport
1120 /* Release cport info */
1125 sdevice.satadev_addr.cport = (uint8_t)ncport;
1320 int cport, pmport, qual;
1367 cport = SCSI_TO_SATA_CPORT(comp_port);
1371 if (sata_validate_sata_address(sata_hba_inst, cport, pmport,
1377 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
1378 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->
1384 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->
1391 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
1393 sata_device.satadev_addr.cport = cport;
1525 cport = SCSI_TO_SATA_CPORT(ioc.port);
1531 cport, pmport, qual);
1533 if (sata_validate_sata_address(sata_hba_inst, cport,
1537 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
1538 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->
1545 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->
1551 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
1554 sata_device.satadev_addr.cport = cport;
1680 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
1682 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
1721 "cport %d", sata_device->satadev_addr.cport);
1911 int cport = sd->satadev_addr.cport;
1943 mutex_enter(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
1944 pmultinfo = SATA_PMULT_INFO(sata_hba_inst, cport);
1950 "Port multiplier registered at port %d", cport);
1952 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
2069 sata_device.satadev_addr.cport)));
2075 sata_device.satadev_addr.cport)));
2079 sata_device.satadev_addr.cport)));
2197 sata_device.satadev_addr.cport)));
2203 sata_device.satadev_addr.cport)));
2212 sata_device.satadev_addr.cport)));
2262 sata_device.satadev_addr.cport = SCSI_TO_SATA_CPORT(ap->a_target);
2334 sata_device.satadev_addr.cport)));
2341 sata_device.satadev_addr.cport)));
2468 uint8_t cport, pmport;
2478 cport = SCSI_TO_SATA_CPORT(ap->a_target);
2481 mutex_enter(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
2486 SATA_CPORT_INFO(sata_hba_inst, cport)->
2492 if (SATA_CPORT_DEV_TYPE(sata_hba_inst, cport) !=
2494 cport) == NULL) {
2496 } else if (SATA_PMPORT_INFO(sata_hba_inst, cport,
2501 cport, pmport)));
2504 SATA_PMPORT_INFO(sata_hba_inst, cport, pmport)->
2510 cport, pmport)));
2515 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
2546 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
2552 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
2721 sata_device.satadev_addr.cport)));
2725 sata_device.satadev_addr.cport)));
2739 sata_device.satadev_addr.cport)));
2750 sata_device.satadev_addr.cport)));
2759 sata_device.satadev_addr.cport)));
2809 sata_device.satadev_addr.cport)));
2813 sata_device.satadev_addr.cport)));
2817 sata_device.satadev_addr.cport)));
2911 sata_device.satadev_addr.cport)));
2916 sata_device.satadev_addr.cport)));
2978 sata_device.satadev_addr.cport)));
3014 sata_device.satadev_addr.cport)));
3019 sata_device.satadev_addr.cport)));
3023 sata_device.satadev_addr.cport)));
3307 sata_device.satadev_addr.cport) &
3329 sata_device.satadev_addr.cport)->cport_event_flags &
3505 int cport = SATA_TXLT_CPORT(spx);
3509 mutex_enter(&SATA_CPORT_MUTEX(shi, cport));
3520 mutex_exit(&SATA_CPORT_MUTEX(shi, cport));
6849 sata_device.satadev_addr.cport,
6954 * This function has to be called with cport mutex held. It does release
6970 uint8_t cport = SATA_TXLT_CPORT(spx);
6982 ASSERT(mutex_owned(&SATA_CPORT_MUTEX(sata_hba_inst, cport)));
6998 pminfo = SATA_PMULT_INFO(sata_hba_inst, cport);
7027 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
7034 mutex_enter(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
7080 sata_device->satadev_addr.cport);
7084 sata_device->satadev_addr.cport,
7097 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
7101 mutex_enter(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
7122 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
7124 mutex_enter(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
9987 cport_mutex = &(SATA_CPORT_MUTEX(sata_hba, saddr->cport));
10138 sata_test_atapi_packet_command(sata_hba_inst_t *sata_hba_inst, int cport)
10150 sata_device.satadev_addr.cport = cport;
10154 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
10156 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
10160 "no device info for cport %d",
10161 sata_device.satadev_addr.cport);
10220 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
10227 &SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
10230 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
10438 /* allocate cport structure */
10445 cportinfo->cport_addr.cport = ncport;
10471 sata_device.satadev_addr.cport = ncport;
10575 sata_device.satadev_addr.cport = ncport;
10619 drive->satadrv_addr.cport = pmportinfo->pmport_addr.cport;
10668 uint8_t cport, pmport;
10671 cport = saddr->cport;
10673 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
10731 cport);
10800 cport, pmport);
10834 uint8_t cport, pmport, qual;
10837 cport = sata_device->satadev_addr.cport;
10843 "sata_hba_ioctl: disconnect device at port %d", cport));
10847 cport, pmport));
10869 cport));
10875 cport, pmport));
10926 mutex_enter(&(SATA_CPORT_MUTEX(sata_hba_inst, sata_addr->cport)));
10930 target = SATA_TO_SCSI_TARGET(sata_addr->cport,
10935 sata_addr->cport)));
10952 sata_addr->cport)));
10955 sata_addr->cport)));
11056 (int)sata_addr->cport) != DDI_PROP_SUCCESS) {
11060 sata_addr->cport));
11089 sata_addr->cport);
11101 uint8_t cport = sata_addr->cport;
11109 tdip = sata_get_target_dip(SATA_DIP(sata_hba_inst), cport, pmport);
11131 cport, pmport);
11145 "SATA device detached at port %d", cport);
11149 cport, pmport);
11155 "target node not found at port %d", cport);
11159 cport, pmport);
11196 uint8_t cport = sata_device->satadev_addr.cport;
11206 /* We only care about host sata cport for now */
11208 sata_device->satadev_addr.cport);
11249 cportinfo->cport_addr.cport));
11305 "from port %d", cportinfo->cport_addr.cport);
11359 "from port %d", cportinfo->cport_addr.cport);
11364 cportinfo->cport_addr.cport);
11378 pmultinfo = SATA_PMULT_INFO(sata_hba_inst, cport);
11462 cportinfo->cport_addr.cport);
11485 uint8_t cport = sata_device->satadev_addr.cport;
11488 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
11489 pmultinfo = SATA_PMULT_INFO(sata_hba_inst, cport);
11504 "SATA port %d probing failed", cport));
11506 "SATA port multiplier detached at port %d", cport);
11532 "SATA port multiplier detached at port %d", cport);
11550 "SATA port multiplier detached at port %d", cport);
11572 "SATA port multiplier [changed] at port %d", cport);
11574 "SATA port multiplier detected at port %d", cport);
11620 uint8_t cport = sata_device->satadev_addr.cport;
11624 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
11625 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, pmport);
11669 cport, pmport));
11674 cport, pmport));
11710 sdevice.satadev_addr.cport = cport;
11770 cport, pmport);
11905 uint8_t cport = sata_device->satadev_addr.cport;
11909 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
11950 "at port %d.", cport)
11959 if (SATA_PMPORT_INFO(sata_hba_inst, cport, npmport) != NULL)
11967 pmportinfo->pmport_addr.cport = cport;
11974 SATA_PMPORT_INFO(sata_hba_inst, cport, npmport) = pmportinfo;
11978 cport, (uint8_t)npmport, SATA_ADDR_PMPORT);
11979 (void) sprintf(name, "%d.%d", cport, npmport);
11985 "port %d:%d", cport, npmport);
12012 uint8_t cport = sata_device->satadev_addr.cport;
12015 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
12027 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, npmport);
12039 (void) sprintf(name, "%d.%d", cport, npmport);
12043 cport, npmport);
12050 pmport_device.satadev_addr.cport = cport;
12068 cport, npmport));
12095 cport, npmport);
12108 "SATA port multiplier detached at port %d", cport);
12232 * Specified cport, pmport and qualifier has to match
12239 sata_validate_sata_address(sata_hba_inst_t *sata_hba_inst, int cport,
12244 if (cport >= SATA_NUM_CPORTS(sata_hba_inst))
12247 ((SATA_CPORT_DEV_TYPE(sata_hba_inst, cport) != SATA_DTYPE_PMULT) ||
12248 (SATA_PMULT_INFO(sata_hba_inst, cport) == NULL) ||
12249 (pmport >= SATA_NUM_PMPORTS(sata_hba_inst, cport))))
12261 * SCSI target address is translated into SATA cport/pmport and compared
12275 int cport, pmport, qual, rval;
12282 cport = SCSI_TO_SATA_CPORT(ap->a_target);
12288 if (sata_validate_sata_address(sata_hba_inst, cport, pmport, qual) ==
12296 sata_device->satadev_addr.cport = cport;
12302 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
12327 if (SATA_PMPORT_INFO(sata_hba_inst, cport, pmport) ==
12329 SATA_PMPORT_DEV_TYPE(sata_hba_inst, cport,
12333 sdinfo = SATA_PMPORT_DRV_INFO(sata_hba_inst, cport,
12335 if (SATA_PMPORT_DEV_TYPE(sata_hba_inst, cport,
12341 if ((SATA_PMPORT_DEV_TYPE(sata_hba_inst, cport,
12434 sata_device->satadev_addr.cport) &
12440 sata_device->satadev_addr.cport)));
12444 sata_device->satadev_addr.cport,
12458 sata_device->satadev_addr.cport)));
12471 sata_device->satadev_addr.cport)));
12495 sata_device->satadev_addr.cport)));
12499 sata_device->satadev_addr.cport)));
12510 sata_device->satadev_addr.cport) =
12515 sata_device->satadev_addr.cport,
12521 sata_device->satadev_addr.cport)));
12530 sata_device->satadev_addr.cport)));
12539 sata_device->satadev_addr.cport) =
12545 sata_device->satadev_addr.cport) != NULL) &&
12547 sata_device->satadev_addr.cport,
12550 sata_device->satadev_addr.cport,
12557 sata_device->satadev_addr.cport)));
12565 * The sata_device has to contain address (cport, pmport and qualifier) for
12577 uint8_t cport = sata_device->satadev_addr.cport;
12581 if (cport >= SATA_NUM_CPORTS(sata_hba_inst))
12584 if (!(SATA_CPORT_STATE(sata_hba_inst, cport) &
12589 if (SATA_CPORT_DEV_TYPE(sata_hba_inst, cport) == SATA_DTYPE_NONE)
12594 if (SATA_CPORT_DEV_TYPE(sata_hba_inst, cport) ==
12598 return (SATA_CPORT_DRV_INFO(sata_hba_inst, cport));
12601 if (SATA_CPORT_DEV_TYPE(sata_hba_inst, cport) !=
12605 if (pmport > SATA_NUM_PMPORTS(sata_hba_inst, cport))
12608 if (!(SATA_PMPORT_STATE(sata_hba_inst, cport, pmport) &
12613 return (SATA_PMPORT_DRV_INFO(sata_hba_inst, cport, pmport));
12682 sdinfo->satadrv_addr.cport);
12709 "mode 4 or higher", sdinfo->satadrv_addr.cport);
12726 sdinfo->satadrv_addr.cport);
12786 msg_buf, sdinfo->satadrv_addr.cport);
12789 msg_buf, sdinfo->satadrv_addr.cport,
12914 int cport = sata_device->satadev_addr.cport;
12919 mutex_enter(&SATA_CPORT_MUTEX(sata_hba_inst, cport));
12920 pmultinfo = SATA_PMULT_INFO(sata_hba_inst, cport);
12922 mutex_exit(&SATA_CPORT_MUTEX(sata_hba_inst, cport));
12930 mutex_exit(&SATA_CPORT_MUTEX(sata_hba_inst, cport));
12933 sata_device->satadev_add_info, sata_device->satadev_addr.cport);
13065 spx->txlt_sata_pkt->satapkt_device.satadev_addr.cport,
13789 sdinfo->satadrv_addr.cport));
14239 sata_device->satadev_addr.cport)
14243 sata_device->satadev_addr.cport);
14265 sata_device->satadev_addr.cport) <
14274 sata_device->satadev_addr.cport,
14315 * It is a combination of cport, pmport and address qualifier, encodded same
14317 * At this moment it carries only cport number.
14325 sata_get_target_dip(dev_info_t *dip, uint8_t cport, uint8_t pmport)
14346 if (SATA_CPORT_DEV_TYPE(sata_hba_inst, cport) == SATA_DTYPE_PMULT)
14351 target = SATA_TO_SCSI_TARGET(cport, pmport, qual);
14383 * It is a combination of cport, pmport and address qualifier, encoded same
14396 target = SATA_TO_SCSI_TARGET(saddr->cport, saddr->pmport, saddr->qual);
14454 int cport, pmport, qual;
14459 cport = sata_device->satadev_addr.cport;
14483 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
14489 SATA_CPORT_DEV_TYPE(sata_hba_inst, cport) == SATA_DTYPE_PMULT) {
14500 SATA_CPORT_STATE(sata_hba_inst, cport) =
14504 "SATA port %d", cport);
14514 sata_hba_inst, cport); npmport ++) {
14516 sata_hba_inst, cport, npmport);
14528 "successfully.", cport, npmport);
14564 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, pmport);
14569 SATA_PMPORT_STATE(sata_hba_inst, cport, pmport) =
14573 "SATA port %d:%d", cport, pmport);
14619 SATA_CPORT_STATE(sata_hba_inst, cport) =
14623 "SATA port %d", cport);
14744 uint8_t cport, pmport, qual;
14747 cport = sata_device->satadev_addr.cport;
14758 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, pmport);
14778 cport)->cport_mutex);
14781 SATA_CPORT_STATE(sata_hba_inst, cport) =
14785 "activate SATA port %d", cport);
14788 cport)->cport_mutex);
14793 SATA_PMPORT_STATE(sata_hba_inst, cport,
14797 "activate SATA port %d:%d", cport, pmport);
14807 cport)->cport_mutex);
14808 SATA_CPORT_STATE(sata_hba_inst, cport) = 0;
14810 cport)->cport_mutex);
14813 SATA_PMPORT_STATE(sata_hba_inst, cport, pmport) = 0;
14841 "at port %d", cport);
14844 "SATA device detected at port %d", cport);
14852 "device at port %d", cport);
14858 cport, pmport);
14865 "device at port %d:%d", cport, pmport);
14901 sata_device->satadev_addr.cport,
14922 sata_device->satadev_addr.cport,
14947 int cport, pmport, qual;
14955 cport = sata_device->satadev_addr.cport;
14963 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
14965 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, pmport);
14979 cport)->cport_mutex);
14987 cport)->cport_mutex);
14991 cport)->cport_mutex);
15021 cport)->cport_mutex);
15029 sata_hba_inst, cport)->cport_mutex);
15035 cport, pmport));
15052 cport)-> cport_mutex);
15055 cport)->cport_mutex);
15072 cport, pmport);
15075 * When PM is attached to the cport and cport is
15081 * cport.
15084 "SATA device detected at port %d", cport);
15091 * When PM is attached to the cport and cport is activated,
15104 "device at port %d", cport);
15113 "device at port %d:%d", cport, pmport);
15128 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15135 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15143 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15161 cport);
15170 cport, pmport);
15181 "%d:%d failed", cport, pmport));
15191 cport)->cport_mutex);
15194 sata_hba_inst, cport)->cport_mutex);
15205 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->
15208 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->
15219 "failed", cport, pmport));
15240 int cport, pmport, qual;
15254 cport = sata_device->satadev_addr.cport;
15265 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
15267 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, pmport);
15273 SATA_CPORT_DEV_TYPE(sata_hba_inst, cport) == SATA_DTYPE_PMULT) {
15280 sata_hba_inst, cport); npmport++) {
15282 subsdevice.satadev_addr.cport = cport;
15291 cport, npmport);
15298 "successfully.", cport, npmport);
15334 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15360 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->
15376 cport, pmport));
15395 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->
15422 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15436 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15446 SATA_CPORT_STATE(sata_hba_inst, cport) =
15451 "cannot deactivate SATA port %d", cport));
15460 SATA_PMPORT_STATE(sata_hba_inst, cport,
15466 cport, pmport));
15474 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15488 int cport, pmport, qual;
15497 cport = sata_device->satadev_addr.cport;
15501 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
15513 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15515 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, pmport);
15519 } else { /* cport */
15524 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15534 cport)->cport_mutex);
15545 cport)->cport_mutex);
15548 "SATA port %d:%d", cport, pmport));
15551 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15553 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15560 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15589 cport, pmport);
15599 "SATA device detected at port %d", cport);
15603 cport);
15621 int cport, pmport, qual;
15624 cport = sata_device->satadev_addr.cport;
15651 cport, pmport));
15652 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->
15656 SATA_CPORT_STATE(sata_hba_inst, cport) =
15659 mutex_enter(&SATA_PMPORT_MUTEX(sata_hba_inst, cport,
15661 SATA_PMPORT_STATE(sata_hba_inst, cport, pmport) =
15663 mutex_exit(&SATA_PMPORT_MUTEX(sata_hba_inst, cport,
15666 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->
15685 int cport, pmport;
15696 cport = sata_device->satadev_addr.cport;
15699 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15701 if (SATA_CPORT_DEV_TYPE(sata_hba_inst, cport) ==
15703 pmultinfo = SATA_CPORT_INFO(sata_hba_inst, cport)->
15707 sata_device->satadev_addr.cport);
15711 sata_device->satadev_addr.cport,
15715 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15718 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15725 cport, pmport));
15726 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->
15742 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->cport_mutex);
15795 * It is enough to lock cport in command-based
15813 sata_device.satadev_addr.cport = 0;
15852 int cport, pmport, qual;
15859 cport = sata_device->satadev_addr.cport;
15872 "failed port %d:%d", cport, pmport));
15873 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, cport)->
15877 SATA_CPORT_STATE(sata_hba_inst, cport) =
15881 cport, pmport));
15882 SATA_PMPORT_STATE(sata_hba_inst, cport, pmport) =
15885 cport, pmport));
15888 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, cport)->
15910 * The port argument is a value with encoded cport,
15912 * SCSI_TO_SATA_CPORT macro extracts cport number,
15923 uint8_t cport, pmport, qual;
15928 cport = SCSI_TO_SATA_CPORT(port);
15932 /* Check cport state */
15933 port_state = SATA_CPORT_STATE(sata_hba_inst, cport);
15946 /* cport state is okay. Now check pmport state */
15949 if (SATA_CPORT_DEV_TYPE(sata_hba_inst, cport) !=
15951 cport, pmport) == NULL)
15953 port_state = SATA_PMPORT_STATE(sata_hba_inst, cport, pmport);
15969 dev_type = SATA_CPORT_DEV_TYPE(sata_hba_inst, cport);
15971 dev_type = SATA_PMPORT_DEV_TYPE(sata_hba_inst, cport, pmport);
15986 pmult_state = SATA_PMULT_INFO(sata_hba_inst, cport)->
16016 tdip = sata_get_target_dip(dip, cport, pmport);
16034 cport));
16036 cport);
16050 cport));
16151 sata_device->satadev_addr.cport);
16154 sata_device->satadev_addr.cport,
16227 sata_device->satadev_addr.cport)->cport_mutex);
16230 sata_device->satadev_addr.cport);
16233 sata_device->satadev_addr.cport,
16237 sata_device->satadev_addr.cport)->cport_mutex);
16248 sata_device->satadev_addr.cport)->cport_mutex);
16285 sata_device->satadev_addr.cport)->cport_mutex);
16288 sata_device->satadev_addr.cport);
16291 sata_device->satadev_addr.cport,
16295 sata_device->satadev_addr.cport)->cport_mutex);
16306 sata_device->satadev_addr.cport)->cport_mutex);
16342 sata_device->satadev_addr.cport)->cport_mutex);
16345 sata_device->satadev_addr.cport);
16348 sata_device->satadev_addr.cport,
16352 sata_device->satadev_addr.cport)->cport_mutex);
16363 sata_device->satadev_addr.cport)->cport_mutex);
16463 " on port %d", sdinfo->satadrv_addr.cport);
16753 sdinfo->satadrv_addr.cport)));
16761 sdinfo->satadrv_addr.cport)));
16768 sdinfo->satadrv_addr.cport)));
16867 sdinfo->satadrv_addr.cport)));
16874 sdinfo->satadrv_addr.cport)));
16882 sdinfo->satadrv_addr.cport)));
16981 sdinfo->satadrv_addr.cport)));
16988 sdinfo->satadrv_addr.cport)));
16997 sdinfo->satadrv_addr.cport)));
17093 sdinfo->satadrv_addr.cport)));
17100 sdinfo->satadrv_addr.cport)));
17108 sdinfo->satadrv_addr.cport)));
17200 sdinfo->satadrv_addr.cport)));
17207 sdinfo->satadrv_addr.cport)));
17216 sdinfo->satadrv_addr.cport)));
17310 sdinfo->satadrv_addr.cport)));
17317 sdinfo->satadrv_addr.cport)));
17325 sdinfo->satadrv_addr.cport)));
17632 int cport, pmport;
17665 if (saddr->cport >= SATA_NUM_CPORTS(sata_hba_inst))
17668 cport = saddr->cport;
17680 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
17693 cport, event));
17698 pmultinfo = SATA_PMULT_INFO(sata_hba_inst, cport);
17714 cport, pmport, event));
17723 if (pmport > SATA_NUM_PMPORTS(sata_hba_inst, cport)) {
17727 "ignore event 0x%x", cport, pmport,
17728 SATA_NUM_PMPORTS(sata_hba_inst, cport), event));
17736 cport, pmport);
17744 "event 0x%x", cport, pmport, event));
17755 mutex_enter(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
17762 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
17768 (SATA_CPORT_INFO(sata_hba_inst, cport))->
17772 &(SATA_CPORT_INFO(sata_hba_inst, cport))->
17775 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
17778 (SATA_PMPORT_INFO(sata_hba_inst, cport, pmport))->
17782 &(SATA_PMPORT_INFO(sata_hba_inst, cport, pmport))->
17785 mutex_enter(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
17836 "port %d power level changed", cport);
17846 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
17849 mutex_enter(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
17856 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
17877 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
17879 mutex_enter(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
17887 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
17891 pmultinfo = SATA_PMULT_INFO(sata_hba_inst, cport);
17896 "[Reset] port-mult on cport %d", cport);
17906 "pmult link changed on cport %d", cport);
17912 mutex_exit(&(SATA_CPORT_MUTEX(sata_hba_inst, cport)));
17972 cport, buf1);
17976 cport, buf2);
17982 "port %d pmport %d: %s\n", cport, pmport, buf1);
17986 "port %d pmport %d: %s\n", cport, pmport, buf2);
18295 sata_process_pmult_events(sata_hba_inst_t *sata_hba_inst, uint8_t cport)
18297 sata_cport_info_t *cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
18307 "Processing pmult event(s) on cport %d of controller %d",
18308 cport, ddi_get_instance(SATA_DIP(sata_hba_inst)));
18312 pmultinfo = SATA_PMULT_INFO(sata_hba_inst, cport);
18325 sata_hba_inst, cport); npmport ++) {
18327 cport, npmport);
18334 cport, npmport, SATA_NUM_PMPORTS(
18335 sata_hba_inst, cport)));
18356 sata_device.satadev_addr.cport = cport;
18369 "SATA port %d probing failed", cport));
18407 for (npmport = 0; npmport < SATA_NUM_PMPORTS(sata_hba_inst, cport);
18409 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, npmport);
18468 "[DONE] pmult event(s) on cport %d of controller %d",
18469 cport, ddi_get_instance(SATA_DIP(sata_hba_inst)));
18501 cportinfo = SATA_CPORT_INFO(sata_hba_inst, saddr->cport);
18502 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
18505 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
18518 cportinfo = SATA_CPORT_INFO(sata_hba_inst, saddr->cport);
18519 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
18525 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
18531 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
18532 sata_log(sata_hba_inst, CE_WARN, "SATA port %d failed", saddr->cport);
18542 * NOTE: This function has to be entered with cport mutex held. It exits with
18555 /* We only care about host sata cport for now */
18556 cportinfo = SATA_CPORT_INFO(sata_hba_inst, saddr->cport);
18557 sdinfo = SATA_CPORT_DRV_INFO(sata_hba_inst, saddr->cport);
18570 if ((SATA_CPORT_DEV_TYPE(sata_hba_inst, saddr->cport) ==
18580 if ((SATA_CPORT_DEV_TYPE(sata_hba_inst, saddr->cport) &
18615 "Processing port %d device reset", saddr->cport);
18627 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
18630 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
18635 sdinfo = SATA_CPORT_DRV_INFO(sata_hba_inst, saddr->cport);
18638 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
18642 saddr->cport));
18644 saddr->cport)->cport_mutex);
18657 sdinfo = SATA_CPORT_DRV_INFO(sata_hba_inst, saddr->cport);
18667 sdinfo = SATA_CPORT_DRV_INFO(sata_hba_inst, saddr->cport);
18683 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
18698 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
18742 saddr->cport)->cport_mutex);
18751 saddr->cport);
18775 saddr->cport);
18782 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
18812 uint8_t cport = saddr->cport;
18817 "Processing drive reset at port %d:%d", cport, pmport);
18819 cportinfo = SATA_CPORT_INFO(sata_hba_inst, cport);
18820 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, pmport);
18821 sdinfo = SATA_PMPORT_DRV_INFO(sata_hba_inst, cport, pmport);
18869 "Processing port %d:%d device reset", cport, pmport);
18890 sdinfo = SATA_PMPORT_DRV_INFO(sata_hba_inst, saddr->cport,
18897 saddr->cport, saddr->pmport));
18911 sdinfo = SATA_PMPORT_DRV_INFO(sata_hba_inst, saddr->cport,
18916 /* must clear flags on cport */
18918 saddr->cport);
18925 sdinfo = SATA_PMPORT_DRV_INFO(sata_hba_inst, saddr->cport,
18997 saddr->cport, saddr->pmport);
19024 /* must clear flags on cport */
19026 saddr->cport);
19068 "Processing port %d link event(s)", saddr->cport);
19070 cportinfo = SATA_CPORT_INFO(sata_hba_inst, saddr->cport);
19071 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
19081 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
19097 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
19100 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
19105 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
19109 saddr->cport));
19127 saddr->cport);
19133 saddr->cport);
19194 saddr->cport);
19201 saddr->cport);
19232 saddr->cport);
19247 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
19269 uint8_t cport = saddr->cport;
19275 cport, pmport);
19277 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, pmport);
19303 mutex_exit(&SATA_PMPORT_MUTEX(sata_hba_inst, saddr->cport,
19307 mutex_enter(&SATA_PMPORT_MUTEX(sata_hba_inst, saddr->cport,
19313 mutex_exit(&SATA_PMPORT_MUTEX(sata_hba_inst, saddr->cport,
19317 saddr->cport, saddr->pmport));
19329 saddr->cport, saddr->pmport));
19331 saddr->cport, saddr->pmport));
19340 saddr->cport, saddr->pmport);
19346 cport, pmport);
19407 saddr->cport, saddr->pmport);
19415 saddr->cport, saddr->pmport);
19446 saddr->cport, saddr->pmport);
19461 mutex_exit(&SATA_PMPORT_MUTEX(sata_hba_inst, saddr->cport,
19493 uint8_t cport = saddr->cport;
19498 "Processing port %d device detached", saddr->cport);
19500 cportinfo = SATA_CPORT_INFO(sata_hba_inst, saddr->cport);
19501 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
19508 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
19520 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
19523 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
19528 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
19532 saddr->cport));
19552 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
19556 sata_device.satadev_addr.cport);
19579 cport); npmport ++) {
19583 cport, npmport);
19585 mutex_exit(&SATA_CPORT_MUTEX(sata_hba_inst, cport));
19589 (void) sprintf(name, "%d.%d", cport, npmport);
19593 cport, npmport);
19596 pmport_addr.cport = cport;
19601 mutex_enter(&SATA_CPORT_MUTEX(sata_hba_inst, cport));
19605 cport, npmport);
19626 "SATA port-multiplier detached at port %d", cport);
19630 saddr->cport)->cport_mutex);
19639 "SATA device detached at port %d", cport);
19643 saddr->cport)->cport_mutex);
19673 uint8_t cport, pmport;
19675 cport = saddr->cport;
19680 cport, pmport);
19682 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, pmport);
19683 mutex_enter(&SATA_PMPORT_MUTEX(sata_hba_inst, cport, pmport));
19691 mutex_exit(&SATA_PMPORT_MUTEX(sata_hba_inst, cport, pmport));
19702 mutex_exit(&SATA_PMPORT_MUTEX(sata_hba_inst, cport, pmport));
19705 mutex_enter(&SATA_PMPORT_MUTEX(sata_hba_inst, cport, pmport));
19710 mutex_exit(&SATA_PMPORT_MUTEX(sata_hba_inst, cport, pmport));
19734 mutex_exit(&SATA_PMPORT_MUTEX(sata_hba_inst, cport, pmport));
19754 mutex_exit(&SATA_PMPORT_MUTEX(sata_hba_inst, cport, pmport));
19800 "Processing port %d device attached", saddr->cport);
19802 cportinfo = SATA_CPORT_INFO(sata_hba_inst, saddr->cport);
19803 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
19812 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
19841 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
19844 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
19850 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
19854 saddr->cport));
19871 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
19875 sata_device.satadev_addr.cport);
19879 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
19894 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
19924 saddr->cport);
19942 saddr->cport);
19947 saddr->cport)->cport_mutex);
19951 saddr->cport)->cport_mutex);
19959 saddr->cport, npmport);
19963 saddr->cport)->cport_mutex);
19972 saddr->cport)->cport_mutex);
19989 "SATA device detected at port %d", saddr->cport);
20002 saddr->cport)->cport_mutex);
20011 saddr->cport, saddr->pmport);
20013 saddr->cport)->cport_mutex);
20028 saddr->cport)->cport_mutex);
20032 saddr->cport)->cport_mutex);
20057 saddr->cport);
20075 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
20100 uint8_t cport = saddr->cport;
20105 "Processing port %d:%d device attached", cport, pmport);
20107 pmportinfo = SATA_PMPORT_INFO(sata_hba_inst, cport, pmport);
20158 "SATA port %d:%d probing failed", cport, pmport));
20179 cport, pmport);
20226 cport, pmport);
20254 cport, pmport);
20275 saddr->cport, saddr->pmport);
20320 cport, pmport);
20351 /* must clear flags on cport */
20354 saddr->cport);
20370 * NOTE: Processes cport events only, not port multiplier ports.
20380 "Processing port %d device target node cleanup", saddr->cport);
20382 cportinfo = SATA_CPORT_INFO(sata_hba_inst, saddr->cport);
20388 tdip = sata_get_target_dip(SATA_DIP(sata_hba_inst), saddr->cport,
20405 saddr->cport)->cport_mutex);
20409 saddr->cport)->cport_mutex);
20426 saddr->cport)->cport_mutex);
20430 saddr->cport)->cport_mutex);
20433 if (SATA_CPORT_DEV_TYPE(sata_hba_inst, saddr->cport) !=
20435 saddr->cport) == NULL)
20437 if (SATA_PMPORT_INFO(sata_hba_inst, saddr->cport,
20442 saddr->cport, saddr->pmport)->pmport_mutex);
20443 SATA_PMPORT_INFO(sata_hba_inst, saddr->cport,
20447 saddr->cport, saddr->pmport)->pmport_mutex);
20461 * NOTE: Processes cport events only, not port multiplier ports.
20473 "Processing port %d attached device auto-onlining", saddr->cport);
20475 cportinfo = SATA_CPORT_INFO(sata_hba_inst, saddr->cport);
20480 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
20485 saddr->cport)->cport_mutex);
20488 mutex_exit(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
20495 tdip = sata_get_target_dip(SATA_DIP(sata_hba_inst), saddr->cport,
20530 saddr->cport)->cport_mutex);
20548 saddr->cport)->cport_mutex);
20559 saddr->cport));
20563 saddr->cport)->cport_mutex);
20567 mutex_enter(&SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->cport_mutex);
20570 saddr->cport)->cport_mutex);
20607 SATA_MAKE_AP_NUMBER(saddr->cport, saddr->pmport, saddr->qual));
20662 saddr->cport)->cport_mutex);
20663 SATA_CPORT_EVENT_FLAGS(sata_hba_inst, saddr->cport) |=
20665 SATA_CPORT_INFO(sata_hba_inst, saddr->cport)->
20668 saddr->cport)->cport_mutex);
20671 saddr->cport, saddr->pmport)->pmport_mutex);
20672 SATA_PMPORT_EVENT_FLAGS(sata_hba_inst, saddr->cport,
20674 SATA_PMPORT_INFO(sata_hba_inst, saddr->cport, saddr->pmport)->
20677 saddr->cport, saddr->pmport)->pmport_mutex);
20812 if (sata_fault_device.satadev_addr.cport !=
20813 spkt->satapkt_device.satadev_addr.cport ||