[virtio_magma] Update to latest API
Removes magma_wait_semaphores.
The new APIs aren't tested on Linux yet so we ignore them.
Bug:62444
Change-Id: I366cf8cb5fa83395b7b7fc22704652682599c7a8
diff --git a/drivers/virtio/virtio_magma.c b/drivers/virtio/virtio_magma.c
index 6d12129..58f5c31 100644
--- a/drivers/virtio/virtio_magma.c
+++ b/drivers/virtio/virtio_magma.c
@@ -1040,40 +1040,6 @@
return 0;
}
-static int virtmagma_command_magma_wait_semaphores(
- struct virtmagma_instance *instance,
- struct virtmagma_virtio_command *command)
-{
- int ret;
- size_t semaphores_size;
- struct virtio_magma_wait_semaphores_ctrl *request =
- command->request_ptr;
- struct virtio_magma_wait_semaphores_resp *response =
- command->response_ptr;
-
- if (!COMMAND_OK(command, request, response))
- return -EINVAL;
-
- /* reallocate request buffer with enough space for the semaphores */
- semaphores_size = request->count * sizeof(uint64_t);
- command->request_size = sizeof(*request) + semaphores_size;
- command->request_ptr = kzalloc(command->request_size, GFP_KERNEL);
- if (!command->request_ptr)
- return -ENOMEM;
-
- memcpy(command->request_ptr, request, sizeof(*request));
- ret = copy_from_user((char *)command->request_ptr + sizeof(*request),
- (void *)request->semaphores, semaphores_size);
- if (ret)
- return ret;
-
- ret = vq_out_send_sync(instance->vi, command);
- if (ret)
- return ret;
-
- return virtmagma_check_expected_response_type(request, response);
-}
-
static int
virtmagma_command_magma_poll(struct virtmagma_instance *instance,
struct virtmagma_virtio_command *command)
@@ -1337,10 +1303,6 @@
case VIRTIO_MAGMA_CMD_MAP:
ret = virtmagma_command_magma_map(instance, &command);
break;
- case VIRTIO_MAGMA_CMD_WAIT_SEMAPHORES:
- ret = virtmagma_command_magma_wait_semaphores(instance,
- &command);
- break;
case VIRTIO_MAGMA_CMD_POLL:
ret = virtmagma_command_magma_poll(instance, &command);
break;
@@ -1368,7 +1330,6 @@
case VIRTIO_MAGMA_CMD_SIGNAL_SEMAPHORE:
case VIRTIO_MAGMA_CMD_RESET_SEMAPHORE:
case VIRTIO_MAGMA_CMD_GET_NOTIFICATION_CHANNEL_HANDLE:
- case VIRTIO_MAGMA_CMD_WAIT_NOTIFICATION_CHANNEL:
case VIRTIO_MAGMA_CMD_DEVICE_IMPORT:
case VIRTIO_MAGMA_CMD_DEVICE_RELEASE:
case VIRTIO_MAGMA_CMD_RELEASE_BUFFER_HANDLE:
diff --git a/include/uapi/linux/virtio_magma.h b/include/uapi/linux/virtio_magma.h
index fcf55b1..afb67ee 100644
--- a/include/uapi/linux/virtio_magma.h
+++ b/include/uapi/linux/virtio_magma.h
@@ -1,9 +1,11 @@
/* Copyright 2018 The Fuchsia Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
- found in the LICENSE file. */
+ found in the LICENSE file.
+ */
/* NOTE: DO NOT EDIT THIS FILE! It is generated automatically by:
- //src/graphics/lib/magma/include/virtio/virtio_magma.h.gen.py */
+ //src/graphics/lib/magma/include/virtio/virtio_magma.h.gen.py
+ */
#ifndef _LINUX_VIRTIO_MAGMA_H
#define _LINUX_VIRTIO_MAGMA_H
@@ -17,7 +19,8 @@
} __attribute((packed));
enum virtio_magma_ctrl_type {
- /* magma commands */
+ /* magma commands
+ */
VIRTIO_MAGMA_CMD_RELEASE_CONNECTION = 0x1004,
VIRTIO_MAGMA_CMD_GET_ERROR = 0x1005,
VIRTIO_MAGMA_CMD_CREATE_CONTEXT = 0x1006,
@@ -49,11 +52,9 @@
VIRTIO_MAGMA_CMD_GET_SEMAPHORE_ID = 0x1024,
VIRTIO_MAGMA_CMD_SIGNAL_SEMAPHORE = 0x1025,
VIRTIO_MAGMA_CMD_RESET_SEMAPHORE = 0x1026,
- VIRTIO_MAGMA_CMD_WAIT_SEMAPHORES = 0x1027,
VIRTIO_MAGMA_CMD_EXPORT_SEMAPHORE = 0x1028,
VIRTIO_MAGMA_CMD_IMPORT_SEMAPHORE = 0x1029,
VIRTIO_MAGMA_CMD_GET_NOTIFICATION_CHANNEL_HANDLE = 0x102A,
- VIRTIO_MAGMA_CMD_WAIT_NOTIFICATION_CHANNEL = 0x102B,
VIRTIO_MAGMA_CMD_READ_NOTIFICATION_CHANNEL = 0x102C,
VIRTIO_MAGMA_CMD_INITIALIZE_TRACING = 0x102D,
VIRTIO_MAGMA_CMD_DEVICE_IMPORT = 0x102E,
@@ -63,7 +64,22 @@
VIRTIO_MAGMA_CMD_CREATE_CONNECTION2 = 0x1032,
VIRTIO_MAGMA_CMD_INITIALIZE_LOGGING = 0x1033,
VIRTIO_MAGMA_CMD_POLL = 0x1034,
- /* magma success responses */
+ VIRTIO_MAGMA_CMD_CONNECTION_ACCESS_PERFORMANCE_COUNTERS = 0x1035,
+ VIRTIO_MAGMA_CMD_MAP_CONSTRAINED = 0x1036,
+ VIRTIO_MAGMA_CMD_BUFFER_SET_PADDING = 0x1037,
+ VIRTIO_MAGMA_CMD_CONNECTION_ENABLE_PERFORMANCE_COUNTERS = 0x1038,
+ VIRTIO_MAGMA_CMD_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL = 0x1039,
+ VIRTIO_MAGMA_CMD_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL = 0x103A,
+ VIRTIO_MAGMA_CMD_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL = 0x103B,
+ VIRTIO_MAGMA_CMD_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL = 0x103C,
+ VIRTIO_MAGMA_CMD_CONNECTION_DUMP_PERFORMANCE_COUNTERS = 0x103D,
+ VIRTIO_MAGMA_CMD_CONNECTION_CLEAR_PERFORMANCE_COUNTERS = 0x103E,
+ VIRTIO_MAGMA_CMD_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION = 0x103F,
+ VIRTIO_MAGMA_CMD_BUFFER_SET_NAME = 0x1040,
+ VIRTIO_MAGMA_CMD_BUFFER_RANGE_OP = 0x1041,
+ VIRTIO_MAGMA_CMD_BUFFER_GET_INFO = 0x1042,
+ /* magma success responses
+ */
VIRTIO_MAGMA_RESP_RELEASE_CONNECTION = 0x2004,
VIRTIO_MAGMA_RESP_GET_ERROR = 0x2005,
VIRTIO_MAGMA_RESP_CREATE_CONTEXT = 0x2006,
@@ -95,11 +111,9 @@
VIRTIO_MAGMA_RESP_GET_SEMAPHORE_ID = 0x2024,
VIRTIO_MAGMA_RESP_SIGNAL_SEMAPHORE = 0x2025,
VIRTIO_MAGMA_RESP_RESET_SEMAPHORE = 0x2026,
- VIRTIO_MAGMA_RESP_WAIT_SEMAPHORES = 0x2027,
VIRTIO_MAGMA_RESP_EXPORT_SEMAPHORE = 0x2028,
VIRTIO_MAGMA_RESP_IMPORT_SEMAPHORE = 0x2029,
VIRTIO_MAGMA_RESP_GET_NOTIFICATION_CHANNEL_HANDLE = 0x202A,
- VIRTIO_MAGMA_RESP_WAIT_NOTIFICATION_CHANNEL = 0x202B,
VIRTIO_MAGMA_RESP_READ_NOTIFICATION_CHANNEL = 0x202C,
VIRTIO_MAGMA_RESP_INITIALIZE_TRACING = 0x202D,
VIRTIO_MAGMA_RESP_DEVICE_IMPORT = 0x202E,
@@ -109,7 +123,22 @@
VIRTIO_MAGMA_RESP_CREATE_CONNECTION2 = 0x2032,
VIRTIO_MAGMA_RESP_INITIALIZE_LOGGING = 0x2033,
VIRTIO_MAGMA_RESP_POLL = 0x2034,
- /* magma error responses */
+ VIRTIO_MAGMA_RESP_CONNECTION_ACCESS_PERFORMANCE_COUNTERS = 0x2035,
+ VIRTIO_MAGMA_RESP_MAP_CONSTRAINED = 0x2036,
+ VIRTIO_MAGMA_RESP_BUFFER_SET_PADDING = 0x2037,
+ VIRTIO_MAGMA_RESP_CONNECTION_ENABLE_PERFORMANCE_COUNTERS = 0x2038,
+ VIRTIO_MAGMA_RESP_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL = 0x2039,
+ VIRTIO_MAGMA_RESP_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL = 0x203A,
+ VIRTIO_MAGMA_RESP_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL = 0x203B,
+ VIRTIO_MAGMA_RESP_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL = 0x203C,
+ VIRTIO_MAGMA_RESP_CONNECTION_DUMP_PERFORMANCE_COUNTERS = 0x203D,
+ VIRTIO_MAGMA_RESP_CONNECTION_CLEAR_PERFORMANCE_COUNTERS = 0x203E,
+ VIRTIO_MAGMA_RESP_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION = 0x203F,
+ VIRTIO_MAGMA_RESP_BUFFER_SET_NAME = 0x2040,
+ VIRTIO_MAGMA_RESP_BUFFER_RANGE_OP = 0x2041,
+ VIRTIO_MAGMA_RESP_BUFFER_GET_INFO = 0x2042,
+ /* magma error responses
+ */
VIRTIO_MAGMA_RESP_ERR_UNIMPLEMENTED = 0x3001,
VIRTIO_MAGMA_RESP_ERR_INTERNAL = 0x3002,
VIRTIO_MAGMA_RESP_ERR_HOST_DISCONNECTED = 0x3003,
@@ -182,16 +211,12 @@
case VIRTIO_MAGMA_RESP_SIGNAL_SEMAPHORE: return "VIRTIO_MAGMA_RESP_SIGNAL_SEMAPHORE";
case VIRTIO_MAGMA_CMD_RESET_SEMAPHORE: return "VIRTIO_MAGMA_CMD_RESET_SEMAPHORE";
case VIRTIO_MAGMA_RESP_RESET_SEMAPHORE: return "VIRTIO_MAGMA_RESP_RESET_SEMAPHORE";
- case VIRTIO_MAGMA_CMD_WAIT_SEMAPHORES: return "VIRTIO_MAGMA_CMD_WAIT_SEMAPHORES";
- case VIRTIO_MAGMA_RESP_WAIT_SEMAPHORES: return "VIRTIO_MAGMA_RESP_WAIT_SEMAPHORES";
case VIRTIO_MAGMA_CMD_EXPORT_SEMAPHORE: return "VIRTIO_MAGMA_CMD_EXPORT_SEMAPHORE";
case VIRTIO_MAGMA_RESP_EXPORT_SEMAPHORE: return "VIRTIO_MAGMA_RESP_EXPORT_SEMAPHORE";
case VIRTIO_MAGMA_CMD_IMPORT_SEMAPHORE: return "VIRTIO_MAGMA_CMD_IMPORT_SEMAPHORE";
case VIRTIO_MAGMA_RESP_IMPORT_SEMAPHORE: return "VIRTIO_MAGMA_RESP_IMPORT_SEMAPHORE";
case VIRTIO_MAGMA_CMD_GET_NOTIFICATION_CHANNEL_HANDLE: return "VIRTIO_MAGMA_CMD_GET_NOTIFICATION_CHANNEL_HANDLE";
case VIRTIO_MAGMA_RESP_GET_NOTIFICATION_CHANNEL_HANDLE: return "VIRTIO_MAGMA_RESP_GET_NOTIFICATION_CHANNEL_HANDLE";
- case VIRTIO_MAGMA_CMD_WAIT_NOTIFICATION_CHANNEL: return "VIRTIO_MAGMA_CMD_WAIT_NOTIFICATION_CHANNEL";
- case VIRTIO_MAGMA_RESP_WAIT_NOTIFICATION_CHANNEL: return "VIRTIO_MAGMA_RESP_WAIT_NOTIFICATION_CHANNEL";
case VIRTIO_MAGMA_CMD_READ_NOTIFICATION_CHANNEL: return "VIRTIO_MAGMA_CMD_READ_NOTIFICATION_CHANNEL";
case VIRTIO_MAGMA_RESP_READ_NOTIFICATION_CHANNEL: return "VIRTIO_MAGMA_RESP_READ_NOTIFICATION_CHANNEL";
case VIRTIO_MAGMA_CMD_INITIALIZE_TRACING: return "VIRTIO_MAGMA_CMD_INITIALIZE_TRACING";
@@ -210,6 +235,34 @@
case VIRTIO_MAGMA_RESP_INITIALIZE_LOGGING: return "VIRTIO_MAGMA_RESP_INITIALIZE_LOGGING";
case VIRTIO_MAGMA_CMD_POLL: return "VIRTIO_MAGMA_CMD_POLL";
case VIRTIO_MAGMA_RESP_POLL: return "VIRTIO_MAGMA_RESP_POLL";
+ case VIRTIO_MAGMA_CMD_CONNECTION_ACCESS_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_CMD_CONNECTION_ACCESS_PERFORMANCE_COUNTERS";
+ case VIRTIO_MAGMA_RESP_CONNECTION_ACCESS_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_RESP_CONNECTION_ACCESS_PERFORMANCE_COUNTERS";
+ case VIRTIO_MAGMA_CMD_MAP_CONSTRAINED: return "VIRTIO_MAGMA_CMD_MAP_CONSTRAINED";
+ case VIRTIO_MAGMA_RESP_MAP_CONSTRAINED: return "VIRTIO_MAGMA_RESP_MAP_CONSTRAINED";
+ case VIRTIO_MAGMA_CMD_BUFFER_SET_PADDING: return "VIRTIO_MAGMA_CMD_BUFFER_SET_PADDING";
+ case VIRTIO_MAGMA_RESP_BUFFER_SET_PADDING: return "VIRTIO_MAGMA_RESP_BUFFER_SET_PADDING";
+ case VIRTIO_MAGMA_CMD_CONNECTION_ENABLE_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_CMD_CONNECTION_ENABLE_PERFORMANCE_COUNTERS";
+ case VIRTIO_MAGMA_RESP_CONNECTION_ENABLE_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_RESP_CONNECTION_ENABLE_PERFORMANCE_COUNTERS";
+ case VIRTIO_MAGMA_CMD_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL: return "VIRTIO_MAGMA_CMD_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL";
+ case VIRTIO_MAGMA_RESP_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL: return "VIRTIO_MAGMA_RESP_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL";
+ case VIRTIO_MAGMA_CMD_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL: return "VIRTIO_MAGMA_CMD_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL";
+ case VIRTIO_MAGMA_RESP_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL: return "VIRTIO_MAGMA_RESP_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL";
+ case VIRTIO_MAGMA_CMD_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL: return "VIRTIO_MAGMA_CMD_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL";
+ case VIRTIO_MAGMA_RESP_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL: return "VIRTIO_MAGMA_RESP_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL";
+ case VIRTIO_MAGMA_CMD_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL: return "VIRTIO_MAGMA_CMD_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL";
+ case VIRTIO_MAGMA_RESP_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL: return "VIRTIO_MAGMA_RESP_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL";
+ case VIRTIO_MAGMA_CMD_CONNECTION_DUMP_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_CMD_CONNECTION_DUMP_PERFORMANCE_COUNTERS";
+ case VIRTIO_MAGMA_RESP_CONNECTION_DUMP_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_RESP_CONNECTION_DUMP_PERFORMANCE_COUNTERS";
+ case VIRTIO_MAGMA_CMD_CONNECTION_CLEAR_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_CMD_CONNECTION_CLEAR_PERFORMANCE_COUNTERS";
+ case VIRTIO_MAGMA_RESP_CONNECTION_CLEAR_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_RESP_CONNECTION_CLEAR_PERFORMANCE_COUNTERS";
+ case VIRTIO_MAGMA_CMD_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION: return "VIRTIO_MAGMA_CMD_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION";
+ case VIRTIO_MAGMA_RESP_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION: return "VIRTIO_MAGMA_RESP_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION";
+ case VIRTIO_MAGMA_CMD_BUFFER_SET_NAME: return "VIRTIO_MAGMA_CMD_BUFFER_SET_NAME";
+ case VIRTIO_MAGMA_RESP_BUFFER_SET_NAME: return "VIRTIO_MAGMA_RESP_BUFFER_SET_NAME";
+ case VIRTIO_MAGMA_CMD_BUFFER_RANGE_OP: return "VIRTIO_MAGMA_CMD_BUFFER_RANGE_OP";
+ case VIRTIO_MAGMA_RESP_BUFFER_RANGE_OP: return "VIRTIO_MAGMA_RESP_BUFFER_RANGE_OP";
+ case VIRTIO_MAGMA_CMD_BUFFER_GET_INFO: return "VIRTIO_MAGMA_CMD_BUFFER_GET_INFO";
+ case VIRTIO_MAGMA_RESP_BUFFER_GET_INFO: return "VIRTIO_MAGMA_RESP_BUFFER_GET_INFO";
case VIRTIO_MAGMA_RESP_ERR_UNIMPLEMENTED: return "VIRTIO_MAGMA_RESP_ERR_UNIMPLEMENTED";
case VIRTIO_MAGMA_RESP_ERR_INTERNAL: return "VIRTIO_MAGMA_RESP_ERR_INTERNAL";
case VIRTIO_MAGMA_RESP_ERR_HOST_DISCONNECTED: return "VIRTIO_MAGMA_RESP_ERR_HOST_DISCONNECTED";
@@ -253,11 +306,9 @@
case VIRTIO_MAGMA_CMD_GET_SEMAPHORE_ID: return VIRTIO_MAGMA_RESP_GET_SEMAPHORE_ID;
case VIRTIO_MAGMA_CMD_SIGNAL_SEMAPHORE: return VIRTIO_MAGMA_RESP_SIGNAL_SEMAPHORE;
case VIRTIO_MAGMA_CMD_RESET_SEMAPHORE: return VIRTIO_MAGMA_RESP_RESET_SEMAPHORE;
- case VIRTIO_MAGMA_CMD_WAIT_SEMAPHORES: return VIRTIO_MAGMA_RESP_WAIT_SEMAPHORES;
case VIRTIO_MAGMA_CMD_EXPORT_SEMAPHORE: return VIRTIO_MAGMA_RESP_EXPORT_SEMAPHORE;
case VIRTIO_MAGMA_CMD_IMPORT_SEMAPHORE: return VIRTIO_MAGMA_RESP_IMPORT_SEMAPHORE;
case VIRTIO_MAGMA_CMD_GET_NOTIFICATION_CHANNEL_HANDLE: return VIRTIO_MAGMA_RESP_GET_NOTIFICATION_CHANNEL_HANDLE;
- case VIRTIO_MAGMA_CMD_WAIT_NOTIFICATION_CHANNEL: return VIRTIO_MAGMA_RESP_WAIT_NOTIFICATION_CHANNEL;
case VIRTIO_MAGMA_CMD_READ_NOTIFICATION_CHANNEL: return VIRTIO_MAGMA_RESP_READ_NOTIFICATION_CHANNEL;
case VIRTIO_MAGMA_CMD_INITIALIZE_TRACING: return VIRTIO_MAGMA_RESP_INITIALIZE_TRACING;
case VIRTIO_MAGMA_CMD_DEVICE_IMPORT: return VIRTIO_MAGMA_RESP_DEVICE_IMPORT;
@@ -267,6 +318,20 @@
case VIRTIO_MAGMA_CMD_CREATE_CONNECTION2: return VIRTIO_MAGMA_RESP_CREATE_CONNECTION2;
case VIRTIO_MAGMA_CMD_INITIALIZE_LOGGING: return VIRTIO_MAGMA_RESP_INITIALIZE_LOGGING;
case VIRTIO_MAGMA_CMD_POLL: return VIRTIO_MAGMA_RESP_POLL;
+ case VIRTIO_MAGMA_CMD_CONNECTION_ACCESS_PERFORMANCE_COUNTERS: return VIRTIO_MAGMA_RESP_CONNECTION_ACCESS_PERFORMANCE_COUNTERS;
+ case VIRTIO_MAGMA_CMD_MAP_CONSTRAINED: return VIRTIO_MAGMA_RESP_MAP_CONSTRAINED;
+ case VIRTIO_MAGMA_CMD_BUFFER_SET_PADDING: return VIRTIO_MAGMA_RESP_BUFFER_SET_PADDING;
+ case VIRTIO_MAGMA_CMD_CONNECTION_ENABLE_PERFORMANCE_COUNTERS: return VIRTIO_MAGMA_RESP_CONNECTION_ENABLE_PERFORMANCE_COUNTERS;
+ case VIRTIO_MAGMA_CMD_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL: return VIRTIO_MAGMA_RESP_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL;
+ case VIRTIO_MAGMA_CMD_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL: return VIRTIO_MAGMA_RESP_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL;
+ case VIRTIO_MAGMA_CMD_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL: return VIRTIO_MAGMA_RESP_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL;
+ case VIRTIO_MAGMA_CMD_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL: return VIRTIO_MAGMA_RESP_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL;
+ case VIRTIO_MAGMA_CMD_CONNECTION_DUMP_PERFORMANCE_COUNTERS: return VIRTIO_MAGMA_RESP_CONNECTION_DUMP_PERFORMANCE_COUNTERS;
+ case VIRTIO_MAGMA_CMD_CONNECTION_CLEAR_PERFORMANCE_COUNTERS: return VIRTIO_MAGMA_RESP_CONNECTION_CLEAR_PERFORMANCE_COUNTERS;
+ case VIRTIO_MAGMA_CMD_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION: return VIRTIO_MAGMA_RESP_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION;
+ case VIRTIO_MAGMA_CMD_BUFFER_SET_NAME: return VIRTIO_MAGMA_RESP_BUFFER_SET_NAME;
+ case VIRTIO_MAGMA_CMD_BUFFER_RANGE_OP: return VIRTIO_MAGMA_RESP_BUFFER_RANGE_OP;
+ case VIRTIO_MAGMA_CMD_BUFFER_GET_INFO: return VIRTIO_MAGMA_RESP_BUFFER_GET_INFO;
default: return VIRTIO_MAGMA_RESP_ERR_INVALID_COMMAND;
}
}
@@ -623,19 +688,6 @@
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
-struct virtio_magma_wait_semaphores_ctrl {
- struct virtio_magma_ctrl_hdr hdr;
- __le64 semaphores;
- __le32 count;
- __le64 timeout_ms;
- u8 wait_all;
-} __attribute((packed));
-
-struct virtio_magma_wait_semaphores_resp {
- struct virtio_magma_ctrl_hdr hdr;
- __le64 result_return;
-} __attribute((packed));
-
struct virtio_magma_export_semaphore_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
@@ -670,17 +722,6 @@
__le32 result_return;
} __attribute((packed));
-struct virtio_magma_wait_notification_channel_ctrl {
- struct virtio_magma_ctrl_hdr hdr;
- __le64 connection;
- __le64 timeout_ns;
-} __attribute((packed));
-
-struct virtio_magma_wait_notification_channel_resp {
- struct virtio_magma_ctrl_hdr hdr;
- __le64 result_return;
-} __attribute((packed));
-
struct virtio_magma_read_notification_channel_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
@@ -781,4 +822,181 @@
__le64 result_return;
} __attribute((packed));
-#endif /* _LINUX_VIRTIO_MAGMA_H */
+struct virtio_magma_connection_access_performance_counters_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le32 channel;
+} __attribute((packed));
+
+struct virtio_magma_connection_access_performance_counters_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_map_constrained_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 buffer;
+ __le64 length;
+ __le64 upper_limit;
+ __le64 alignment;
+} __attribute((packed));
+
+struct virtio_magma_map_constrained_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 addr_out;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_buffer_set_padding_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 buffer;
+ __le64 padding;
+} __attribute((packed));
+
+struct virtio_magma_buffer_set_padding_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_connection_enable_performance_counters_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 counters;
+ __le64 counters_count;
+} __attribute((packed));
+
+struct virtio_magma_connection_enable_performance_counters_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_connection_create_performance_counter_buffer_pool_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+} __attribute((packed));
+
+struct virtio_magma_connection_create_performance_counter_buffer_pool_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 pool_out;
+ __le64 notification_handle_out;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_connection_release_performance_counter_buffer_pool_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 pool;
+} __attribute((packed));
+
+struct virtio_magma_connection_release_performance_counter_buffer_pool_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_connection_add_performance_counter_buffer_offsets_to_pool_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 pool;
+ __le64 offsets;
+ __le64 offsets_count;
+} __attribute((packed));
+
+struct virtio_magma_connection_add_performance_counter_buffer_offsets_to_pool_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_connection_remove_performance_counter_buffer_from_pool_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 pool_id;
+ __le64 buffer;
+} __attribute((packed));
+
+struct virtio_magma_connection_remove_performance_counter_buffer_from_pool_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_connection_dump_performance_counters_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 pool;
+ __le32 trigger_id;
+} __attribute((packed));
+
+struct virtio_magma_connection_dump_performance_counters_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_connection_clear_performance_counters_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 counters;
+ __le64 counters_count;
+} __attribute((packed));
+
+struct virtio_magma_connection_clear_performance_counters_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_connection_read_performance_counter_completion_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 pool;
+} __attribute((packed));
+
+struct virtio_magma_connection_read_performance_counter_completion_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 trigger_id_out;
+ __le64 buffer_id_out;
+ __le64 buffer_offset_out;
+ __le64 time_out;
+ __le64 result_flags_out;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_buffer_set_name_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 buffer;
+ __le64 name;
+} __attribute((packed));
+
+struct virtio_magma_buffer_set_name_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_buffer_range_op_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 buffer;
+ __le32 options;
+ __le64 start_offset;
+ __le64 length;
+} __attribute((packed));
+
+struct virtio_magma_buffer_range_op_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 result_return;
+} __attribute((packed));
+
+struct virtio_magma_buffer_get_info_ctrl {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 connection;
+ __le64 buffer;
+} __attribute((packed));
+
+struct virtio_magma_buffer_get_info_resp {
+ struct virtio_magma_ctrl_hdr hdr;
+ __le64 info_out;
+ __le64 result_return;
+} __attribute((packed));
+
+#endif /* _LINUX_VIRTIO_MAGMA_H
+ */