Lines Matching refs:async_data

480 	struct mlx5vf_async_data *async_data = container_of(_work,  in mlx5vf_mig_file_cleanup_cb()  local
482 struct mlx5_vf_migration_file *migf = container_of(async_data, in mlx5vf_mig_file_cleanup_cb()
483 struct mlx5_vf_migration_file, async_data); in mlx5vf_mig_file_cleanup_cb()
486 if (async_data->status) { in mlx5vf_mig_file_cleanup_cb()
487 mlx5vf_put_data_buffer(async_data->buf); in mlx5vf_mig_file_cleanup_cb()
488 if (async_data->header_buf) in mlx5vf_mig_file_cleanup_cb()
489 mlx5vf_put_data_buffer(async_data->header_buf); in mlx5vf_mig_file_cleanup_cb()
490 if (async_data->status == MLX5_CMD_STAT_BAD_RES_STATE_ERR) in mlx5vf_mig_file_cleanup_cb()
497 kvfree(async_data->out); in mlx5vf_mig_file_cleanup_cb()
533 struct mlx5vf_async_data *async_data = container_of(context, in mlx5vf_save_callback() local
535 struct mlx5_vf_migration_file *migf = container_of(async_data, in mlx5vf_save_callback()
536 struct mlx5_vf_migration_file, async_data); in mlx5vf_save_callback()
542 !async_data->last_chunk; in mlx5vf_save_callback()
544 image_size = MLX5_GET(save_vhca_state_out, async_data->out, in mlx5vf_save_callback()
546 if (async_data->header_buf) { in mlx5vf_save_callback()
547 status = add_buf_header(async_data->header_buf, image_size, in mlx5vf_save_callback()
552 async_data->buf->length = image_size; in mlx5vf_save_callback()
553 async_data->buf->start_pos = migf->max_pos; in mlx5vf_save_callback()
554 migf->max_pos += async_data->buf->length; in mlx5vf_save_callback()
556 list_add_tail(&async_data->buf->buf_elm, &migf->buf_list); in mlx5vf_save_callback()
560 migf->state = async_data->last_chunk ? in mlx5vf_save_callback()
571 status = MLX5_GET(save_vhca_state_out, async_data->out, status); in mlx5vf_save_callback()
572 async_data->status = status; in mlx5vf_save_callback()
573 queue_work(migf->mvdev->cb_wq, &async_data->work); in mlx5vf_save_callback()
584 struct mlx5vf_async_data *async_data; in mlx5vf_cmd_save_vhca_state() local
611 async_data = &migf->async_data; in mlx5vf_cmd_save_vhca_state()
612 async_data->buf = buf; in mlx5vf_cmd_save_vhca_state()
613 async_data->last_chunk = !track; in mlx5vf_cmd_save_vhca_state()
614 async_data->out = kvzalloc(out_size, GFP_KERNEL); in mlx5vf_cmd_save_vhca_state()
615 if (!async_data->out) { in mlx5vf_cmd_save_vhca_state()
621 if (async_data->last_chunk && migf->buf_header) { in mlx5vf_cmd_save_vhca_state()
634 if (async_data->last_chunk) in mlx5vf_cmd_save_vhca_state()
637 async_data->header_buf = header_buf; in mlx5vf_cmd_save_vhca_state()
640 async_data->out, in mlx5vf_cmd_save_vhca_state()
642 &async_data->cb_work); in mlx5vf_cmd_save_vhca_state()
653 kvfree(async_data->out); in mlx5vf_cmd_save_vhca_state()