diff options
Diffstat (limited to 'f12.patch')
| -rw-r--r-- | f12.patch | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/f12.patch b/f12.patch new file mode 100644 index 00000000000000..415f8f72ea2b79 --- /dev/null +++ b/f12.patch @@ -0,0 +1,127 @@ +--- + drivers/hv/hyperv_vmbus.h | 7 +++++++ + drivers/hv/vmbus_drv.c | 35 ++++++++++------------------------- + include/linux/hyperv.h | 17 ----------------- + 3 files changed, 17 insertions(+), 42 deletions(-) + +--- 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 */ + +--- 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(st + 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(st + 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); +--- 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 v + + 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; |
