Loading drivers/staging/hv/channel_mgmt.h +2 −2 Original line number Diff line number Diff line Loading @@ -247,8 +247,8 @@ struct vmbus_channel { /* Allocated memory for ring buffer */ void *RingBufferPages; u32 RingBufferPageCount; RING_BUFFER_INFO Outbound; /* send to parent */ RING_BUFFER_INFO Inbound; /* receive from parent */ struct hv_ring_buffer_info Outbound; /* send to parent */ struct hv_ring_buffer_info Inbound; /* receive from parent */ spinlock_t inbound_lock; struct workqueue_struct *ControlWQ; Loading drivers/staging/hv/ring_buffer.c +23 −22 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ --*/ static inline void GetRingBufferAvailBytes(RING_BUFFER_INFO *rbi, u32 *read, u32 *write) GetRingBufferAvailBytes(struct hv_ring_buffer_info *rbi, u32 *read, u32 *write) { u32 read_loc, write_loc; Loading @@ -68,7 +68,7 @@ GetRingBufferAvailBytes(RING_BUFFER_INFO *rbi, u32 *read, u32 *write) --*/ static inline u32 GetNextWriteLocation(RING_BUFFER_INFO *RingInfo) GetNextWriteLocation(struct hv_ring_buffer_info *RingInfo) { u32 next = RingInfo->RingBuffer->WriteIndex; Loading @@ -87,7 +87,8 @@ GetNextWriteLocation(RING_BUFFER_INFO *RingInfo) --*/ static inline void SetNextWriteLocation(RING_BUFFER_INFO *RingInfo, u32 NextWriteLocation) SetNextWriteLocation(struct hv_ring_buffer_info *RingInfo, u32 NextWriteLocation) { RingInfo->RingBuffer->WriteIndex = NextWriteLocation; } Loading @@ -102,7 +103,7 @@ SetNextWriteLocation(RING_BUFFER_INFO *RingInfo, u32 NextWriteLocation) --*/ static inline u32 GetNextReadLocation(RING_BUFFER_INFO *RingInfo) GetNextReadLocation(struct hv_ring_buffer_info *RingInfo) { u32 next = RingInfo->RingBuffer->ReadIndex; Loading @@ -122,7 +123,7 @@ GetNextReadLocation(RING_BUFFER_INFO *RingInfo) --*/ static inline u32 GetNextReadLocationWithOffset(RING_BUFFER_INFO *RingInfo, u32 Offset) GetNextReadLocationWithOffset(struct hv_ring_buffer_info *RingInfo, u32 Offset) { u32 next = RingInfo->RingBuffer->ReadIndex; Loading @@ -143,7 +144,7 @@ GetNextReadLocationWithOffset(RING_BUFFER_INFO *RingInfo, u32 Offset) --*/ static inline void SetNextReadLocation(RING_BUFFER_INFO *RingInfo, u32 NextReadLocation) SetNextReadLocation(struct hv_ring_buffer_info *RingInfo, u32 NextReadLocation) { RingInfo->RingBuffer->ReadIndex = NextReadLocation; } Loading @@ -159,7 +160,7 @@ SetNextReadLocation(RING_BUFFER_INFO *RingInfo, u32 NextReadLocation) --*/ static inline void * GetRingBuffer(RING_BUFFER_INFO *RingInfo) GetRingBuffer(struct hv_ring_buffer_info *RingInfo) { return (void *)RingInfo->RingBuffer->Buffer; } Loading @@ -175,7 +176,7 @@ GetRingBuffer(RING_BUFFER_INFO *RingInfo) --*/ static inline u32 GetRingBufferSize(RING_BUFFER_INFO *RingInfo) GetRingBufferSize(struct hv_ring_buffer_info *RingInfo) { return RingInfo->RingDataSize; } Loading @@ -190,7 +191,7 @@ GetRingBufferSize(RING_BUFFER_INFO *RingInfo) --*/ static inline u64 GetRingBufferIndices(RING_BUFFER_INFO *RingInfo) GetRingBufferIndices(struct hv_ring_buffer_info *RingInfo) { return ((u64)RingInfo->RingBuffer->WriteIndex << 32) || RingInfo->RingBuffer->ReadIndex; Loading @@ -206,7 +207,7 @@ GetRingBufferIndices(RING_BUFFER_INFO *RingInfo) Dump out to console the ring buffer info --*/ void DumpRingInfo(RING_BUFFER_INFO *RingInfo, char *Prefix) void DumpRingInfo(struct hv_ring_buffer_info *RingInfo, char *Prefix) { u32 bytesAvailToWrite; u32 bytesAvailToRead; Loading @@ -233,14 +234,14 @@ void DumpRingInfo(RING_BUFFER_INFO *RingInfo, char *Prefix) static u32 CopyToRingBuffer( RING_BUFFER_INFO *RingInfo, struct hv_ring_buffer_info *RingInfo, u32 StartWriteOffset, void *Src, u32 SrcLen); static u32 CopyFromRingBuffer( RING_BUFFER_INFO *RingInfo, struct hv_ring_buffer_info *RingInfo, void *Dest, u32 DestLen, u32 StartReadOffset); Loading @@ -256,7 +257,7 @@ CopyFromRingBuffer( Get various debug metrics for the specified ring buffer --*/ void RingBufferGetDebugInfo(RING_BUFFER_INFO *RingInfo, void RingBufferGetDebugInfo(struct hv_ring_buffer_info *RingInfo, struct hv_ring_buffer_debug_info *debug_info) { u32 bytesAvailToWrite; Loading Loading @@ -285,7 +286,7 @@ void RingBufferGetDebugInfo(RING_BUFFER_INFO *RingInfo, Get the interrupt mask for the specified ring buffer --*/ u32 GetRingBufferInterruptMask(RING_BUFFER_INFO *rbi) u32 GetRingBufferInterruptMask(struct hv_ring_buffer_info *rbi) { return rbi->RingBuffer->InterruptMask; } Loading @@ -299,12 +300,12 @@ u32 GetRingBufferInterruptMask(RING_BUFFER_INFO *rbi) Initialize the ring buffer --*/ int RingBufferInit(RING_BUFFER_INFO *RingInfo, void *Buffer, u32 BufferLen) int RingBufferInit(struct hv_ring_buffer_info *RingInfo, void *Buffer, u32 BufferLen) { if (sizeof(RING_BUFFER) != PAGE_SIZE) return -EINVAL; memset(RingInfo, 0, sizeof(RING_BUFFER_INFO)); memset(RingInfo, 0, sizeof(struct hv_ring_buffer_info)); RingInfo->RingBuffer = (RING_BUFFER *)Buffer; RingInfo->RingBuffer->ReadIndex = RingInfo->RingBuffer->WriteIndex = 0; Loading @@ -326,7 +327,7 @@ int RingBufferInit(RING_BUFFER_INFO *RingInfo, void *Buffer, u32 BufferLen) Cleanup the ring buffer --*/ void RingBufferCleanup(RING_BUFFER_INFO *RingInfo) void RingBufferCleanup(struct hv_ring_buffer_info *RingInfo) { } Loading @@ -339,7 +340,7 @@ void RingBufferCleanup(RING_BUFFER_INFO *RingInfo) Write to the ring buffer --*/ int RingBufferWrite(RING_BUFFER_INFO *OutRingInfo, int RingBufferWrite(struct hv_ring_buffer_info *OutRingInfo, struct scatterlist *sglist, u32 sgcount) { int i = 0; Loading Loading @@ -424,7 +425,7 @@ int RingBufferWrite(RING_BUFFER_INFO *OutRingInfo, Read without advancing the read index --*/ int RingBufferPeek(RING_BUFFER_INFO *InRingInfo, void *Buffer, u32 BufferLen) int RingBufferPeek(struct hv_ring_buffer_info *InRingInfo, void *Buffer, u32 BufferLen) { u32 bytesAvailToWrite; u32 bytesAvailToRead; Loading Loading @@ -473,7 +474,7 @@ int RingBufferPeek(RING_BUFFER_INFO *InRingInfo, void *Buffer, u32 BufferLen) Read and advance the read index --*/ int RingBufferRead(RING_BUFFER_INFO *InRingInfo, void *Buffer, int RingBufferRead(struct hv_ring_buffer_info *InRingInfo, void *Buffer, u32 BufferLen, u32 Offset) { u32 bytesAvailToWrite; Loading Loading @@ -548,7 +549,7 @@ int RingBufferRead(RING_BUFFER_INFO *InRingInfo, void *Buffer, --*/ static u32 CopyToRingBuffer( RING_BUFFER_INFO *RingInfo, struct hv_ring_buffer_info *RingInfo, u32 StartWriteOffset, void *Src, u32 SrcLen) Loading Loading @@ -586,7 +587,7 @@ CopyToRingBuffer( --*/ static u32 CopyFromRingBuffer( RING_BUFFER_INFO *RingInfo, struct hv_ring_buffer_info *RingInfo, void *Dest, u32 DestLen, u32 StartReadOffset) Loading drivers/staging/hv/ring_buffer.h +12 −11 Original line number Diff line number Diff line Loading @@ -53,15 +53,14 @@ typedef struct _RING_BUFFER { u8 Buffer[0]; } __attribute__((packed)) RING_BUFFER; typedef struct _RING_BUFFER_INFO { struct hv_ring_buffer_info { RING_BUFFER *RingBuffer; u32 RingSize; /* Include the shared header */ spinlock_t ring_lock; u32 RingDataSize; /* < ringSize */ u32 RingDataStartOffset; } RING_BUFFER_INFO; }; struct hv_ring_buffer_debug_info { u32 CurrentInterruptMask; Loading @@ -76,26 +75,28 @@ struct hv_ring_buffer_debug_info { /* Interface */ int RingBufferInit(RING_BUFFER_INFO *RingInfo, void *Buffer, u32 BufferLen); int RingBufferInit(struct hv_ring_buffer_info *RingInfo, void *Buffer, u32 BufferLen); void RingBufferCleanup(RING_BUFFER_INFO *RingInfo); void RingBufferCleanup(struct hv_ring_buffer_info *RingInfo); int RingBufferWrite(RING_BUFFER_INFO *RingInfo, int RingBufferWrite(struct hv_ring_buffer_info *RingInfo, struct scatterlist *sglist, u32 sgcount); int RingBufferPeek(RING_BUFFER_INFO *RingInfo, void *Buffer, u32 BufferLen); int RingBufferPeek(struct hv_ring_buffer_info *RingInfo, void *Buffer, u32 BufferLen); int RingBufferRead(RING_BUFFER_INFO *RingInfo, int RingBufferRead(struct hv_ring_buffer_info *RingInfo, void *Buffer, u32 BufferLen, u32 Offset); u32 GetRingBufferInterruptMask(RING_BUFFER_INFO *RingInfo); u32 GetRingBufferInterruptMask(struct hv_ring_buffer_info *RingInfo); void DumpRingInfo(RING_BUFFER_INFO *RingInfo, char *Prefix); void DumpRingInfo(struct hv_ring_buffer_info *RingInfo, char *Prefix); void RingBufferGetDebugInfo(RING_BUFFER_INFO *RingInfo, void RingBufferGetDebugInfo(struct hv_ring_buffer_info *RingInfo, struct hv_ring_buffer_debug_info *debug_info); #endif /* _RING_BUFFER_H_ */ Loading
drivers/staging/hv/channel_mgmt.h +2 −2 Original line number Diff line number Diff line Loading @@ -247,8 +247,8 @@ struct vmbus_channel { /* Allocated memory for ring buffer */ void *RingBufferPages; u32 RingBufferPageCount; RING_BUFFER_INFO Outbound; /* send to parent */ RING_BUFFER_INFO Inbound; /* receive from parent */ struct hv_ring_buffer_info Outbound; /* send to parent */ struct hv_ring_buffer_info Inbound; /* receive from parent */ spinlock_t inbound_lock; struct workqueue_struct *ControlWQ; Loading
drivers/staging/hv/ring_buffer.c +23 −22 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ --*/ static inline void GetRingBufferAvailBytes(RING_BUFFER_INFO *rbi, u32 *read, u32 *write) GetRingBufferAvailBytes(struct hv_ring_buffer_info *rbi, u32 *read, u32 *write) { u32 read_loc, write_loc; Loading @@ -68,7 +68,7 @@ GetRingBufferAvailBytes(RING_BUFFER_INFO *rbi, u32 *read, u32 *write) --*/ static inline u32 GetNextWriteLocation(RING_BUFFER_INFO *RingInfo) GetNextWriteLocation(struct hv_ring_buffer_info *RingInfo) { u32 next = RingInfo->RingBuffer->WriteIndex; Loading @@ -87,7 +87,8 @@ GetNextWriteLocation(RING_BUFFER_INFO *RingInfo) --*/ static inline void SetNextWriteLocation(RING_BUFFER_INFO *RingInfo, u32 NextWriteLocation) SetNextWriteLocation(struct hv_ring_buffer_info *RingInfo, u32 NextWriteLocation) { RingInfo->RingBuffer->WriteIndex = NextWriteLocation; } Loading @@ -102,7 +103,7 @@ SetNextWriteLocation(RING_BUFFER_INFO *RingInfo, u32 NextWriteLocation) --*/ static inline u32 GetNextReadLocation(RING_BUFFER_INFO *RingInfo) GetNextReadLocation(struct hv_ring_buffer_info *RingInfo) { u32 next = RingInfo->RingBuffer->ReadIndex; Loading @@ -122,7 +123,7 @@ GetNextReadLocation(RING_BUFFER_INFO *RingInfo) --*/ static inline u32 GetNextReadLocationWithOffset(RING_BUFFER_INFO *RingInfo, u32 Offset) GetNextReadLocationWithOffset(struct hv_ring_buffer_info *RingInfo, u32 Offset) { u32 next = RingInfo->RingBuffer->ReadIndex; Loading @@ -143,7 +144,7 @@ GetNextReadLocationWithOffset(RING_BUFFER_INFO *RingInfo, u32 Offset) --*/ static inline void SetNextReadLocation(RING_BUFFER_INFO *RingInfo, u32 NextReadLocation) SetNextReadLocation(struct hv_ring_buffer_info *RingInfo, u32 NextReadLocation) { RingInfo->RingBuffer->ReadIndex = NextReadLocation; } Loading @@ -159,7 +160,7 @@ SetNextReadLocation(RING_BUFFER_INFO *RingInfo, u32 NextReadLocation) --*/ static inline void * GetRingBuffer(RING_BUFFER_INFO *RingInfo) GetRingBuffer(struct hv_ring_buffer_info *RingInfo) { return (void *)RingInfo->RingBuffer->Buffer; } Loading @@ -175,7 +176,7 @@ GetRingBuffer(RING_BUFFER_INFO *RingInfo) --*/ static inline u32 GetRingBufferSize(RING_BUFFER_INFO *RingInfo) GetRingBufferSize(struct hv_ring_buffer_info *RingInfo) { return RingInfo->RingDataSize; } Loading @@ -190,7 +191,7 @@ GetRingBufferSize(RING_BUFFER_INFO *RingInfo) --*/ static inline u64 GetRingBufferIndices(RING_BUFFER_INFO *RingInfo) GetRingBufferIndices(struct hv_ring_buffer_info *RingInfo) { return ((u64)RingInfo->RingBuffer->WriteIndex << 32) || RingInfo->RingBuffer->ReadIndex; Loading @@ -206,7 +207,7 @@ GetRingBufferIndices(RING_BUFFER_INFO *RingInfo) Dump out to console the ring buffer info --*/ void DumpRingInfo(RING_BUFFER_INFO *RingInfo, char *Prefix) void DumpRingInfo(struct hv_ring_buffer_info *RingInfo, char *Prefix) { u32 bytesAvailToWrite; u32 bytesAvailToRead; Loading @@ -233,14 +234,14 @@ void DumpRingInfo(RING_BUFFER_INFO *RingInfo, char *Prefix) static u32 CopyToRingBuffer( RING_BUFFER_INFO *RingInfo, struct hv_ring_buffer_info *RingInfo, u32 StartWriteOffset, void *Src, u32 SrcLen); static u32 CopyFromRingBuffer( RING_BUFFER_INFO *RingInfo, struct hv_ring_buffer_info *RingInfo, void *Dest, u32 DestLen, u32 StartReadOffset); Loading @@ -256,7 +257,7 @@ CopyFromRingBuffer( Get various debug metrics for the specified ring buffer --*/ void RingBufferGetDebugInfo(RING_BUFFER_INFO *RingInfo, void RingBufferGetDebugInfo(struct hv_ring_buffer_info *RingInfo, struct hv_ring_buffer_debug_info *debug_info) { u32 bytesAvailToWrite; Loading Loading @@ -285,7 +286,7 @@ void RingBufferGetDebugInfo(RING_BUFFER_INFO *RingInfo, Get the interrupt mask for the specified ring buffer --*/ u32 GetRingBufferInterruptMask(RING_BUFFER_INFO *rbi) u32 GetRingBufferInterruptMask(struct hv_ring_buffer_info *rbi) { return rbi->RingBuffer->InterruptMask; } Loading @@ -299,12 +300,12 @@ u32 GetRingBufferInterruptMask(RING_BUFFER_INFO *rbi) Initialize the ring buffer --*/ int RingBufferInit(RING_BUFFER_INFO *RingInfo, void *Buffer, u32 BufferLen) int RingBufferInit(struct hv_ring_buffer_info *RingInfo, void *Buffer, u32 BufferLen) { if (sizeof(RING_BUFFER) != PAGE_SIZE) return -EINVAL; memset(RingInfo, 0, sizeof(RING_BUFFER_INFO)); memset(RingInfo, 0, sizeof(struct hv_ring_buffer_info)); RingInfo->RingBuffer = (RING_BUFFER *)Buffer; RingInfo->RingBuffer->ReadIndex = RingInfo->RingBuffer->WriteIndex = 0; Loading @@ -326,7 +327,7 @@ int RingBufferInit(RING_BUFFER_INFO *RingInfo, void *Buffer, u32 BufferLen) Cleanup the ring buffer --*/ void RingBufferCleanup(RING_BUFFER_INFO *RingInfo) void RingBufferCleanup(struct hv_ring_buffer_info *RingInfo) { } Loading @@ -339,7 +340,7 @@ void RingBufferCleanup(RING_BUFFER_INFO *RingInfo) Write to the ring buffer --*/ int RingBufferWrite(RING_BUFFER_INFO *OutRingInfo, int RingBufferWrite(struct hv_ring_buffer_info *OutRingInfo, struct scatterlist *sglist, u32 sgcount) { int i = 0; Loading Loading @@ -424,7 +425,7 @@ int RingBufferWrite(RING_BUFFER_INFO *OutRingInfo, Read without advancing the read index --*/ int RingBufferPeek(RING_BUFFER_INFO *InRingInfo, void *Buffer, u32 BufferLen) int RingBufferPeek(struct hv_ring_buffer_info *InRingInfo, void *Buffer, u32 BufferLen) { u32 bytesAvailToWrite; u32 bytesAvailToRead; Loading Loading @@ -473,7 +474,7 @@ int RingBufferPeek(RING_BUFFER_INFO *InRingInfo, void *Buffer, u32 BufferLen) Read and advance the read index --*/ int RingBufferRead(RING_BUFFER_INFO *InRingInfo, void *Buffer, int RingBufferRead(struct hv_ring_buffer_info *InRingInfo, void *Buffer, u32 BufferLen, u32 Offset) { u32 bytesAvailToWrite; Loading Loading @@ -548,7 +549,7 @@ int RingBufferRead(RING_BUFFER_INFO *InRingInfo, void *Buffer, --*/ static u32 CopyToRingBuffer( RING_BUFFER_INFO *RingInfo, struct hv_ring_buffer_info *RingInfo, u32 StartWriteOffset, void *Src, u32 SrcLen) Loading Loading @@ -586,7 +587,7 @@ CopyToRingBuffer( --*/ static u32 CopyFromRingBuffer( RING_BUFFER_INFO *RingInfo, struct hv_ring_buffer_info *RingInfo, void *Dest, u32 DestLen, u32 StartReadOffset) Loading
drivers/staging/hv/ring_buffer.h +12 −11 Original line number Diff line number Diff line Loading @@ -53,15 +53,14 @@ typedef struct _RING_BUFFER { u8 Buffer[0]; } __attribute__((packed)) RING_BUFFER; typedef struct _RING_BUFFER_INFO { struct hv_ring_buffer_info { RING_BUFFER *RingBuffer; u32 RingSize; /* Include the shared header */ spinlock_t ring_lock; u32 RingDataSize; /* < ringSize */ u32 RingDataStartOffset; } RING_BUFFER_INFO; }; struct hv_ring_buffer_debug_info { u32 CurrentInterruptMask; Loading @@ -76,26 +75,28 @@ struct hv_ring_buffer_debug_info { /* Interface */ int RingBufferInit(RING_BUFFER_INFO *RingInfo, void *Buffer, u32 BufferLen); int RingBufferInit(struct hv_ring_buffer_info *RingInfo, void *Buffer, u32 BufferLen); void RingBufferCleanup(RING_BUFFER_INFO *RingInfo); void RingBufferCleanup(struct hv_ring_buffer_info *RingInfo); int RingBufferWrite(RING_BUFFER_INFO *RingInfo, int RingBufferWrite(struct hv_ring_buffer_info *RingInfo, struct scatterlist *sglist, u32 sgcount); int RingBufferPeek(RING_BUFFER_INFO *RingInfo, void *Buffer, u32 BufferLen); int RingBufferPeek(struct hv_ring_buffer_info *RingInfo, void *Buffer, u32 BufferLen); int RingBufferRead(RING_BUFFER_INFO *RingInfo, int RingBufferRead(struct hv_ring_buffer_info *RingInfo, void *Buffer, u32 BufferLen, u32 Offset); u32 GetRingBufferInterruptMask(RING_BUFFER_INFO *RingInfo); u32 GetRingBufferInterruptMask(struct hv_ring_buffer_info *RingInfo); void DumpRingInfo(RING_BUFFER_INFO *RingInfo, char *Prefix); void DumpRingInfo(struct hv_ring_buffer_info *RingInfo, char *Prefix); void RingBufferGetDebugInfo(RING_BUFFER_INFO *RingInfo, void RingBufferGetDebugInfo(struct hv_ring_buffer_info *RingInfo, struct hv_ring_buffer_debug_info *debug_info); #endif /* _RING_BUFFER_H_ */