Lines Matching refs:transfer
786 struct cxl_mbox_transfer_fw *transfer; in cxl_mem_abort_fw_xfer() local
790 transfer = kzalloc(struct_size(transfer, data, 0), GFP_KERNEL); in cxl_mem_abort_fw_xfer()
791 if (!transfer) in cxl_mem_abort_fw_xfer()
797 .size_in = sizeof(*transfer), in cxl_mem_abort_fw_xfer()
798 .payload_in = transfer, in cxl_mem_abort_fw_xfer()
803 transfer->action = CXL_FW_TRANSFER_ACTION_ABORT; in cxl_mem_abort_fw_xfer()
806 kfree(transfer); in cxl_mem_abort_fw_xfer()
835 struct cxl_mbox_transfer_fw *transfer; in cxl_fw_prepare() local
841 mds->fw.oneshot = struct_size(transfer, data, size) < in cxl_fw_prepare()
864 struct cxl_mbox_transfer_fw *transfer; in cxl_fw_write() local
886 cur_size = min_t(size_t, size, cxl_mbox->payload_size - sizeof(*transfer)); in cxl_fw_write()
889 size_in = struct_size(transfer, data, cur_size); in cxl_fw_write()
902 transfer = kzalloc(size_in, GFP_KERNEL); in cxl_fw_write()
903 if (!transfer) in cxl_fw_write()
906 transfer->offset = cpu_to_le32(offset / CXL_FW_TRANSFER_ALIGNMENT); in cxl_fw_write()
907 memcpy(transfer->data, data + offset, cur_size); in cxl_fw_write()
909 transfer->action = CXL_FW_TRANSFER_ACTION_FULL; in cxl_fw_write()
910 transfer->slot = mds->fw.next_slot; in cxl_fw_write()
913 transfer->action = CXL_FW_TRANSFER_ACTION_INITIATE; in cxl_fw_write()
915 transfer->action = CXL_FW_TRANSFER_ACTION_END; in cxl_fw_write()
916 transfer->slot = mds->fw.next_slot; in cxl_fw_write()
918 transfer->action = CXL_FW_TRANSFER_ACTION_CONTINUE; in cxl_fw_write()
925 .payload_in = transfer, in cxl_fw_write()
954 kfree(transfer); in cxl_fw_write()