Lines Matching defs:pwrk

101  * Called with pwrk lock
104 pmcs_complete_work(pmcs_hw_t *pwp, pmcwork_t *pwrk, uint32_t *iomb, size_t amt)
108 pwp->ltags[pwp->lti++] = pwrk->htag;
110 pwrk->htag |= PMCS_TAG_DONE;
115 if (pwrk->state != PMCS_WORK_STATE_TIMED_OUT) {
116 pwrk->state = PMCS_WORK_STATE_INTR;
117 pwrk->onwire = 0;
120 pmcs_complete_work_impl(pwp, pwrk, iomb, amt);
166 pmcwork_t *pwrk;
170 pwrk = pmcs_tag2wp(pwp, htag, B_FALSE);
171 if (pwrk == NULL) {
177 pwrk->htag |= PMCS_TAG_DONE;
182 if (pwrk->state != PMCS_WORK_STATE_TIMED_OUT) {
183 pwrk->state = PMCS_WORK_STATE_INTR;
184 pwrk->onwire = 0;
192 tag_type = PMCS_TAG_TYPE(pwrk->htag);
194 ASSERT(PMCS_TAG_TYPE(pwrk->htag) == PMCS_TAG_TYPE_WAIT);
195 if (pwrk->arg && amt) {
196 (void) memcpy(pwrk->arg, ioccb->iomb, amt);
198 cv_signal(&pwrk->sleep_cv);
199 mutex_exit(&pwrk->lock);
207 pwp->ltags[pwp->lti++] = pwrk->htag;
210 ioccb->pwrk = pwrk;
216 if (pwrk->state == PMCS_WORK_STATE_INTR) {
217 pwrk->state = PMCS_WORK_STATE_IOCOMPQ;
231 mutex_exit(&pwrk->lock);
239 pmcwork_t *pwrk;
242 pwrk = pmcs_tag2wp(pwp, htag, B_FALSE);
243 if (pwrk == NULL) {
248 pmcs_complete_work(pwp, pwrk, iomb, amt);
250 * The pwrk lock is now released
1067 pmcwork_t *pwrk;
1069 pwrk = pmcs_tag2wp(pwp, htag, B_FALSE);
1070 if (pwrk) {
1074 pmcs_complete_work(pwp, pwrk, msg, amt);
1086 pmcwork_t *pwrk;
1095 pwrk = pmcs_tag2wp(pwp, htag, B_FALSE);
1096 if (pwrk == NULL) {
1099 phyp = pwrk->phy;
1100 path = pwrk->phy->path;
1114 if (pwrk != NULL) {
1119 pmcs_start_ssp_event_recovery(pwp, pwrk, iomb, amt);
1125 if (pwrk) {
1126 pwrk->onwire = 1;
1127 mutex_exit(&pwrk->lock);
1136 pmcwork_t *pwrk = NULL;
1157 pwrk = pmcs_tag2wp(pwp, htag, B_TRUE);
1160 if (pwrk) {
1161 pptr = pwrk->phy;
1193 mutex_exit(&pwrk->lock);
1198 pwrk->onwire = 1;
1199 mutex_exit(&pwrk->lock);
1209 struct pmcwork *pwrk;
1215 pwrk = pmcs_tag2wp(pwp, htag, B_TRUE);
1216 if (pwrk == NULL) {
1222 pptr = pwrk->phy;
1250 __func__, pwrk->abt_htag, path, htag);
1281 pmcs_complete_work(pwp, pwrk, iomb, amt);
1289 struct pmcwork *pwrk;
1314 pwrk = pmcs_tag2wp(pwp, htag, B_FALSE);
1315 if (pwrk) {
1316 pmcs_complete_work(pwp, pwrk, iomb, PMCS_QENTRY_SIZE);