Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 206008
b: refs/heads/master
c: 8a0e1c5
h: refs/heads/master
v: v3
  • Loading branch information
Greg Kroah-Hartman committed Jul 27, 2010
1 parent 1210788 commit 3ee64c2
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 36 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 80682b7a4821b9e4f05bcc2ec855aaafcef33234
refs/heads/master: 8a0e1c5505e8784c0a5f8cb0141ab45bd3de5f57
4 changes: 2 additions & 2 deletions trunk/drivers/staging/hv/channel_mgmt.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
45 changes: 23 additions & 22 deletions trunk/drivers/staging/hv/ring_buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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;

Expand All @@ -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;
}
Expand All @@ -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;

Expand All @@ -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;

Expand All @@ -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;
}
Expand All @@ -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;
}
Expand All @@ -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;
}
Expand All @@ -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;
Expand All @@ -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;
Expand All @@ -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);
Expand All @@ -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;
Expand Down Expand Up @@ -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;
}
Expand All @@ -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;
Expand All @@ -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)
{
}

Expand All @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -586,7 +587,7 @@ CopyToRingBuffer(
--*/
static u32
CopyFromRingBuffer(
RING_BUFFER_INFO *RingInfo,
struct hv_ring_buffer_info *RingInfo,
void *Dest,
u32 DestLen,
u32 StartReadOffset)
Expand Down
23 changes: 12 additions & 11 deletions trunk/drivers/staging/hv/ring_buffer.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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_ */

0 comments on commit 3ee64c2

Please sign in to comment.