Lines Matching refs:async_data

552 			      struct mlx5vf_async_data *async_data)  in mlx5vf_save_callback_complete()  argument
554 kvfree(async_data->out); in mlx5vf_save_callback_complete()
561 struct mlx5vf_async_data *async_data = container_of(_work, in mlx5vf_mig_file_cleanup_cb() local
563 struct mlx5_vf_migration_file *migf = container_of(async_data, in mlx5vf_mig_file_cleanup_cb()
564 struct mlx5_vf_migration_file, async_data); in mlx5vf_mig_file_cleanup_cb()
567 if (async_data->status) { in mlx5vf_mig_file_cleanup_cb()
568 mlx5vf_put_data_buffer(async_data->buf); in mlx5vf_mig_file_cleanup_cb()
569 if (async_data->header_buf) in mlx5vf_mig_file_cleanup_cb()
570 mlx5vf_put_data_buffer(async_data->header_buf); in mlx5vf_mig_file_cleanup_cb()
571 if (!async_data->stop_copy_chunk && in mlx5vf_mig_file_cleanup_cb()
572 async_data->status == MLX5_CMD_STAT_BAD_RES_STATE_ERR) in mlx5vf_mig_file_cleanup_cb()
579 mlx5vf_save_callback_complete(migf, async_data); in mlx5vf_mig_file_cleanup_cb()
613 struct mlx5vf_async_data *async_data = container_of(context, in mlx5vf_save_callback() local
615 struct mlx5_vf_migration_file *migf = container_of(async_data, in mlx5vf_save_callback()
616 struct mlx5_vf_migration_file, async_data); in mlx5vf_save_callback()
624 !async_data->stop_copy_chunk; in mlx5vf_save_callback()
626 image_size = MLX5_GET(save_vhca_state_out, async_data->out, in mlx5vf_save_callback()
628 if (async_data->buf->stop_copy_chunk_num) in mlx5vf_save_callback()
630 async_data->out, next_required_umem_size); in mlx5vf_save_callback()
631 stop_copy_last_chunk = async_data->stop_copy_chunk && in mlx5vf_save_callback()
633 if (async_data->header_buf) { in mlx5vf_save_callback()
634 status = add_buf_header(async_data->header_buf, image_size, in mlx5vf_save_callback()
639 async_data->buf->length = image_size; in mlx5vf_save_callback()
640 async_data->buf->start_pos = migf->max_pos; in mlx5vf_save_callback()
641 migf->max_pos += async_data->buf->length; in mlx5vf_save_callback()
643 list_add_tail(&async_data->buf->buf_elm, &migf->buf_list); in mlx5vf_save_callback()
644 if (async_data->buf->stop_copy_chunk_num) { in mlx5vf_save_callback()
664 (async_data->buf->stop_copy_chunk_num % MAX_NUM_CHUNKS) + 1, in mlx5vf_save_callback()
666 mlx5vf_save_callback_complete(migf, async_data); in mlx5vf_save_callback()
673 status = MLX5_GET(save_vhca_state_out, async_data->out, status); in mlx5vf_save_callback()
676 async_data->out); in mlx5vf_save_callback()
679 async_data->status = status; in mlx5vf_save_callback()
680 queue_work(migf->mvdev->cb_wq, &async_data->work); in mlx5vf_save_callback()
691 struct mlx5vf_async_data *async_data; in mlx5vf_cmd_save_vhca_state() local
723 async_data = &migf->async_data; in mlx5vf_cmd_save_vhca_state()
724 async_data->buf = buf; in mlx5vf_cmd_save_vhca_state()
725 async_data->stop_copy_chunk = (!track && !pre_copy_cleanup); in mlx5vf_cmd_save_vhca_state()
726 async_data->out = kvzalloc(out_size, GFP_KERNEL); in mlx5vf_cmd_save_vhca_state()
727 if (!async_data->out) { in mlx5vf_cmd_save_vhca_state()
732 if (async_data->stop_copy_chunk) { in mlx5vf_cmd_save_vhca_state()
749 if (async_data->stop_copy_chunk) in mlx5vf_cmd_save_vhca_state()
752 async_data->header_buf = header_buf; in mlx5vf_cmd_save_vhca_state()
755 async_data->out, in mlx5vf_cmd_save_vhca_state()
757 &async_data->cb_work); in mlx5vf_cmd_save_vhca_state()
768 kvfree(async_data->out); in mlx5vf_cmd_save_vhca_state()