Lines Matching refs:ccw
272 static int virtio_ccw_handle_set_vq(SubchDev *sch, CCW1 ccw, bool check_len, in virtio_ccw_handle_set_vq() argument
281 if (ccw.count != info_len) { in virtio_ccw_handle_set_vq()
284 } else if (ccw.count < info_len) { in virtio_ccw_handle_set_vq()
288 if (!ccw.cda) { in virtio_ccw_handle_set_vq()
317 static int virtio_ccw_cb(SubchDev *sch, CCW1 ccw) in virtio_ccw_cb() argument
336 ccw.cmd_code); in virtio_ccw_cb()
337 check_len = !((ccw.flags & CCW_FLAG_SLI) && !(ccw.flags & CCW_FLAG_DC)); in virtio_ccw_cb()
339 if (dev->revision < 0 && ccw.cmd_code != CCW_CMD_SET_VIRTIO_REV) { in virtio_ccw_cb()
356 switch (ccw.cmd_code) { in virtio_ccw_cb()
358 ret = virtio_ccw_handle_set_vq(sch, ccw, check_len, dev->revision < 1); in virtio_ccw_cb()
366 if (ccw.count != sizeof(features)) { in virtio_ccw_cb()
370 } else if (ccw.count < sizeof(features)) { in virtio_ccw_cb()
375 if (!ccw.cda) { in virtio_ccw_cb()
407 sch->curr_status.scsw.count = ccw.count - sizeof(features); in virtio_ccw_cb()
413 if (ccw.count != sizeof(features)) { in virtio_ccw_cb()
417 } else if (ccw.count < sizeof(features)) { in virtio_ccw_cb()
422 if (!ccw.cda) { in virtio_ccw_cb()
455 sch->curr_status.scsw.count = ccw.count - sizeof(features); in virtio_ccw_cb()
461 if (ccw.count > vdev->config_len) { in virtio_ccw_cb()
466 len = MIN(ccw.count, vdev->config_len); in virtio_ccw_cb()
467 if (!ccw.cda) { in virtio_ccw_cb()
473 sch->curr_status.scsw.count = ccw.count - len; in virtio_ccw_cb()
479 if (ccw.count > vdev->config_len) { in virtio_ccw_cb()
484 len = MIN(ccw.count, vdev->config_len); in virtio_ccw_cb()
485 if (!ccw.cda) { in virtio_ccw_cb()
491 sch->curr_status.scsw.count = ccw.count - len; in virtio_ccw_cb()
497 if (ccw.count != sizeof(status)) { in virtio_ccw_cb()
501 } else if (ccw.count < sizeof(status)) { in virtio_ccw_cb()
506 if (!ccw.cda) { in virtio_ccw_cb()
509 address_space_stb(&address_space_memory, ccw.cda, vdev->status, in virtio_ccw_cb()
511 sch->curr_status.scsw.count = ccw.count - sizeof(vdev->status); in virtio_ccw_cb()
517 if (ccw.count != sizeof(status)) { in virtio_ccw_cb()
521 } else if (ccw.count < sizeof(status)) { in virtio_ccw_cb()
526 if (!ccw.cda) { in virtio_ccw_cb()
543 sch->curr_status.scsw.count = ccw.count - sizeof(status); in virtio_ccw_cb()
553 if (ccw.count != sizeof(indicators)) { in virtio_ccw_cb()
557 } else if (ccw.count < sizeof(indicators)) { in virtio_ccw_cb()
572 if (!ccw.cda) { in virtio_ccw_cb()
581 sch->curr_status.scsw.count = ccw.count - sizeof(indicators); in virtio_ccw_cb()
587 if (ccw.count != sizeof(indicators)) { in virtio_ccw_cb()
591 } else if (ccw.count < sizeof(indicators)) { in virtio_ccw_cb()
596 if (!ccw.cda) { in virtio_ccw_cb()
605 sch->curr_status.scsw.count = ccw.count - sizeof(indicators); in virtio_ccw_cb()
611 if (ccw.count != sizeof(vq_config)) { in virtio_ccw_cb()
615 } else if (ccw.count < sizeof(vq_config)) { in virtio_ccw_cb()
620 if (!ccw.cda) { in virtio_ccw_cb()
637 sch->curr_status.scsw.count = ccw.count - sizeof(vq_config); in virtio_ccw_cb()
643 if (ccw.count != sizeof(thinint)) { in virtio_ccw_cb()
647 } else if (ccw.count < sizeof(thinint)) { in virtio_ccw_cb()
652 if (!ccw.cda) { in virtio_ccw_cb()
680 sch->curr_status.scsw.count = ccw.count - sizeof(thinint); in virtio_ccw_cb()
687 if (ccw.count < len) { in virtio_ccw_cb()
691 if (!ccw.cda) { in virtio_ccw_cb()
701 if (ccw.count < len + revinfo.length || in virtio_ccw_cb()
702 (check_len && ccw.count > len + revinfo.length)) { in virtio_ccw_cb()