Lines Matching refs:ccw

258 static inline int ccw_does_data_transfer(struct ccw1 *ccw)  in ccw_does_data_transfer()  argument
261 if (ccw->count == 0) in ccw_does_data_transfer()
265 if (ccw_is_noop(ccw)) in ccw_does_data_transfer()
269 if (!ccw_is_skip(ccw)) in ccw_does_data_transfer()
277 if (ccw_is_read(ccw) || ccw_is_read_backward(ccw)) in ccw_does_data_transfer()
280 if (ccw_is_sense(ccw)) in ccw_does_data_transfer()
306 static inline int is_tic_within_range(struct ccw1 *ccw, u32 head, int len) in is_tic_within_range() argument
308 if (!ccw_is_tic(ccw)) in is_tic_within_range()
311 return is_cpa_within_range(ccw->cda, head, len); in is_tic_within_range()
350 struct ccw1 *ccw = chain->ch_ccw + idx; in ccwchain_cda_free() local
352 if (ccw_is_tic(ccw)) in ccwchain_cda_free()
355 kfree((void *)(u64)ccw->cda); in ccwchain_cda_free()
373 struct ccw1 *ccw = cp->guest_cp; in ccwchain_calc_length() local
384 if ((!cp->orb.cmd.c64 || cp->orb.cmd.i2k) && ccw_is_idal(ccw)) in ccwchain_calc_length()
395 if (!ccw_is_chain(ccw) && !is_tic_within_range(ccw, iova, cnt)) in ccwchain_calc_length()
398 ccw++; in ccwchain_calc_length()
491 struct ccw1 *ccw = chain->ch_ccw + idx; in ccwchain_fetch_tic() local
497 if (is_cpa_within_range(ccw->cda, ccw_head, iter->ch_len)) { in ccwchain_fetch_tic()
498 ccw->cda = (__u32) (addr_t) (((char *)iter->ch_ccw) + in ccwchain_fetch_tic()
499 (ccw->cda - ccw_head)); in ccwchain_fetch_tic()
511 struct ccw1 *ccw; in ccwchain_fetch_direct() local
520 ccw = chain->ch_ccw + idx; in ccwchain_fetch_direct()
522 if (ccw->count) in ccwchain_fetch_direct()
523 bytes = ccw->count; in ccwchain_fetch_direct()
526 if (ccw_is_idal(ccw)) { in ccwchain_fetch_direct()
529 ret = copy_from_iova(cp->mdev, &iova, ccw->cda, sizeof(iova)); in ccwchain_fetch_direct()
533 iova = ccw->cda; in ccwchain_fetch_direct()
556 if (ccw_is_idal(ccw)) { in ccwchain_fetch_direct()
558 ret = copy_from_iova(cp->mdev, idaws, ccw->cda, idal_len); in ccwchain_fetch_direct()
576 if (ccw_does_data_transfer(ccw)) { in ccwchain_fetch_direct()
584 ccw->cda = (__u32) virt_to_phys(idaws); in ccwchain_fetch_direct()
585 ccw->flags |= CCW_FLAG_IDA; in ccwchain_fetch_direct()
597 ccw->cda = 0; in ccwchain_fetch_direct()
611 struct ccw1 *ccw = chain->ch_ccw + idx; in ccwchain_fetch_one() local
613 if (ccw_is_tic(ccw)) in ccwchain_fetch_one()