]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/linux/hyperv.h
Merge tag 'trace-v4.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[karo-tx-linux.git] / include / linux / hyperv.h
index 0c170a3f0d8b0653b97d598c2a0c61d6b9abe1d2..e09fc8290c2f02d92689f4499bcf2a22ae8ce8be 100644 (file)
@@ -491,6 +491,12 @@ struct vmbus_channel_rescind_offer {
        u32 child_relid;
 } __packed;
 
+static inline u32
+hv_ringbuffer_pending_size(const struct hv_ring_buffer_info *rbi)
+{
+       return rbi->ring_buffer->pending_send_sz;
+}
+
 /*
  * Request Offer -- no parameters, SynIC message contains the partition ID
  * Set Snoop -- no parameters, SynIC message contains the partition ID
@@ -524,10 +530,10 @@ struct vmbus_channel_open_channel {
        u32 target_vp;
 
        /*
-       * The upstream ring buffer begins at offset zero in the memory
-       * described by RingBufferGpadlHandle. The downstream ring buffer
-       * follows it at this offset (in pages).
-       */
+        * The upstream ring buffer begins at offset zero in the memory
+        * described by RingBufferGpadlHandle. The downstream ring buffer
+        * follows it at this offset (in pages).
+        */
        u32 downstream_ringbuffer_pageoffset;
 
        /* User-specific data to be passed along to the server endpoint. */
@@ -1013,7 +1019,7 @@ extern int vmbus_open(struct vmbus_channel *channel,
                            u32 recv_ringbuffersize,
                            void *userdata,
                            u32 userdatalen,
-                           void(*onchannel_callback)(void *context),
+                           void (*onchannel_callback)(void *context),
                            void *context);
 
 extern void vmbus_close(struct vmbus_channel *channel);
@@ -1155,6 +1161,17 @@ static inline void *hv_get_drvdata(struct hv_device *dev)
        return dev_get_drvdata(&dev->device);
 }
 
+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;
+};
+
+void hv_ringbuffer_get_debuginfo(const struct hv_ring_buffer_info *ring_info,
+                           struct hv_ring_buffer_debug_info *debug_info);
+
 /* Vmbus interface */
 #define vmbus_driver_register(driver)  \
        __vmbus_driver_register(driver, THIS_MODULE, KBUILD_MODNAME)
@@ -1428,7 +1445,7 @@ struct hyperv_service_callback {
        char *log_msg;
        uuid_le data;
        struct vmbus_channel *channel;
-       void (*callback) (void *context);
+       void (*callback)(void *context);
 };
 
 #define MAX_SRV_VER    0x7ffffff
@@ -1504,8 +1521,6 @@ static inline  void hv_signal_on_read(struct vmbus_channel *channel)
        cached_write_sz = hv_get_cached_bytes_to_write(rbi);
        if (cached_write_sz < pending_sz)
                vmbus_setevent(channel);
-
-       return;
 }
 
 /*