aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hv/hyperv_vmbus.h7
-rw-r--r--drivers/hv/vmbus_drv.c35
-rw-r--r--include/linux/hyperv.h17
3 files changed, 17 insertions, 42 deletions
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index d58c22ffb29a..e05517616a06 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -514,6 +514,13 @@ struct hv_context {
extern struct hv_context hv_context;
+struct hv_ring_buffer_debug_info {
+ u32 current_interrupt_mask;
+ u32 current_read_index;
+ u32 current_write_index;
+ u32 bytes_avail_toread;
+ u32 bytes_avail_towrite;
+};
/* Hv Interface */
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index 62d9311b0541..cf3220e8a3a6 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -47,8 +47,8 @@ static struct completion probe_event;
static int irq;
struct hv_device_info {
- struct hv_dev_port_info inbound;
- struct hv_dev_port_info outbound;
+ struct hv_ring_buffer_debug_info inbound;
+ struct hv_ring_buffer_debug_info outbound;
};
static int vmbus_exists(void)
@@ -63,26 +63,11 @@ static int vmbus_exists(void)
static void get_channel_info(struct hv_device *device,
struct hv_device_info *info)
{
- struct hv_ring_buffer_debug_info inbound;
- struct hv_ring_buffer_debug_info outbound;
-
if (!device->channel)
return;
- hv_ringbuffer_get_debuginfo(&device->channel->inbound, &inbound);
- hv_ringbuffer_get_debuginfo(&device->channel->outbound, &outbound);
-
- info->inbound.int_mask = inbound.current_interrupt_mask;
- info->inbound.read_idx = inbound.current_read_index;
- info->inbound.write_idx = inbound.current_write_index;
- info->inbound.bytes_avail_toread = inbound.bytes_avail_toread;
- info->inbound.bytes_avail_towrite = inbound.bytes_avail_towrite;
-
- info->outbound.int_mask = outbound.current_interrupt_mask;
- info->outbound.read_idx = outbound.current_read_index;
- info->outbound.write_idx = outbound.current_write_index;
- info->outbound.bytes_avail_toread = outbound.bytes_avail_toread;
- info->outbound.bytes_avail_towrite = outbound.bytes_avail_towrite;
+ hv_ringbuffer_get_debuginfo(&device->channel->inbound, &info->inbound);
+ hv_ringbuffer_get_debuginfo(&device->channel->outbound, &info->outbound);
}
#define VMBUS_ALIAS_LEN ((sizeof((struct hv_vmbus_device_id *)0)->guid) * 2)
@@ -114,11 +99,11 @@ static ssize_t vmbus_show_device_attr(struct device *dev,
get_channel_info(hv_dev, device_info);
if (!strcmp(dev_attr->attr.name, "out_intr_mask")) {
- ret = sprintf(buf, "%d\n", device_info->outbound.int_mask);
+ ret = sprintf(buf, "%d\n", device_info->outbound.current_interrupt_mask);
} else if (!strcmp(dev_attr->attr.name, "out_read_index")) {
- ret = sprintf(buf, "%d\n", device_info->outbound.read_idx);
+ ret = sprintf(buf, "%d\n", device_info->outbound.current_read_index);
} else if (!strcmp(dev_attr->attr.name, "out_write_index")) {
- ret = sprintf(buf, "%d\n", device_info->outbound.write_idx);
+ ret = sprintf(buf, "%d\n", device_info->outbound.current_write_index);
} else if (!strcmp(dev_attr->attr.name, "out_read_bytes_avail")) {
ret = sprintf(buf, "%d\n",
device_info->outbound.bytes_avail_toread);
@@ -126,11 +111,11 @@ static ssize_t vmbus_show_device_attr(struct device *dev,
ret = sprintf(buf, "%d\n",
device_info->outbound.bytes_avail_towrite);
} else if (!strcmp(dev_attr->attr.name, "in_intr_mask")) {
- ret = sprintf(buf, "%d\n", device_info->inbound.int_mask);
+ ret = sprintf(buf, "%d\n", device_info->inbound.current_interrupt_mask);
} else if (!strcmp(dev_attr->attr.name, "in_read_index")) {
- ret = sprintf(buf, "%d\n", device_info->inbound.read_idx);
+ ret = sprintf(buf, "%d\n", device_info->inbound.current_read_index);
} else if (!strcmp(dev_attr->attr.name, "in_write_index")) {
- ret = sprintf(buf, "%d\n", device_info->inbound.write_idx);
+ ret = sprintf(buf, "%d\n", device_info->inbound.current_write_index);
} else if (!strcmp(dev_attr->attr.name, "in_read_bytes_avail")) {
ret = sprintf(buf, "%d\n",
device_info->inbound.bytes_avail_toread);
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index c0e8faf40b35..c68ecfe29441 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -429,15 +429,6 @@ struct hv_ring_buffer_info {
u32 ring_data_startoffset;
};
-struct hv_ring_buffer_debug_info {
- u32 current_interrupt_mask;
- u32 current_read_index;
- u32 current_write_index;
- u32 bytes_avail_toread;
- u32 bytes_avail_towrite;
-};
-
-
/*
*
* hv_get_ringbuffer_availbytes()
@@ -1166,14 +1157,6 @@ extern int vmbus_recvpacket_raw(struct vmbus_channel *channel,
extern void vmbus_ontimer(unsigned long data);
-struct hv_dev_port_info {
- u32 int_mask;
- u32 read_idx;
- u32 write_idx;
- u32 bytes_avail_toread;
- u32 bytes_avail_towrite;
-};
-
/* Base driver object */
struct hv_driver {
const char *name;