diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2012-12-01 09:46:39 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-17 14:34:36 -0500 |
commit | 2416603ef1e12955850ade0d0cdecbef1fc59fa3 (patch) | |
tree | c290dcfc4d40a824fe40a8b2d8e3283674b43372 | |
parent | 610071c38463998d5a66388ff9956aaeb24b49a8 (diff) |
Drivers: hv: Update the ring buffer structure to match win8 functionality
Update the ringbuffer structure to support win8 functionality.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | include/linux/hyperv.h | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index b097bf9d9328..2b5480126394 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h | |||
@@ -325,14 +325,28 @@ struct hv_ring_buffer { | |||
325 | 325 | ||
326 | u32 interrupt_mask; | 326 | u32 interrupt_mask; |
327 | 327 | ||
328 | /* Pad it to PAGE_SIZE so that data starts on page boundary */ | 328 | /* |
329 | u8 reserved[4084]; | 329 | * Win8 uses some of the reserved bits to implement |
330 | 330 | * interrupt driven flow management. On the send side | |
331 | /* NOTE: | 331 | * we can request that the receiver interrupt the sender |
332 | * The interrupt_mask field is used only for channels but since our | 332 | * when the ring transitions from being full to being able |
333 | * vmbus connection also uses this data structure and its data starts | 333 | * to handle a message of size "pending_send_sz". |
334 | * here, we commented out this field. | 334 | * |
335 | * Add necessary state for this enhancement. | ||
335 | */ | 336 | */ |
337 | u32 pending_send_sz; | ||
338 | |||
339 | u32 reserved1[12]; | ||
340 | |||
341 | union { | ||
342 | struct { | ||
343 | u32 feat_pending_send_sz:1; | ||
344 | }; | ||
345 | u32 value; | ||
346 | } feature_bits; | ||
347 | |||
348 | /* Pad it to PAGE_SIZE so that data starts on page boundary */ | ||
349 | u8 reserved2[4028]; | ||
336 | 350 | ||
337 | /* | 351 | /* |
338 | * Ring data starts here + RingDataStartOffset | 352 | * Ring data starts here + RingDataStartOffset |