diff options
| author | Dan Williams <dan.j.williams@intel.com> | 2017-05-04 23:38:43 -0700 | 
|---|---|---|
| committer | Dan Williams <dan.j.williams@intel.com> | 2017-05-04 23:38:43 -0700 | 
| commit | 736163671bcb163fc82600b46c83dfa89d532d95 (patch) | |
| tree | 0639dc9d9fa180450b4e8fbda706eaae5f1876da /include/linux/hyperv.h | |
| parent | d5483feda85a8f39ee2e940e279547c686aac30c (diff) | |
| parent | 1ef97fe4f8abd3317d5c3c860f990e02c2633959 (diff) | |
Merge branch 'for-4.12/dax' into libnvdimm-for-next
Diffstat (limited to 'include/linux/hyperv.h')
| -rw-r--r-- | include/linux/hyperv.h | 31 | 
1 files changed, 23 insertions, 8 deletions
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index 970771a5f739..f681f7bc9b43 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h @@ -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;  }  static inline void  | 
