Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8a0e1c55 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Staging: hv: remove RING_BUFFER_INFO typedef



typedefs are bad, kill them.

Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 80682b7a
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -247,8 +247,8 @@ struct vmbus_channel {
	/* Allocated memory for ring buffer */
	/* Allocated memory for ring buffer */
	void *RingBufferPages;
	void *RingBufferPages;
	u32 RingBufferPageCount;
	u32 RingBufferPageCount;
	RING_BUFFER_INFO Outbound;	/* send to parent */
	struct hv_ring_buffer_info Outbound;	/* send to parent */
	RING_BUFFER_INFO Inbound;	/* receive from parent */
	struct hv_ring_buffer_info Inbound;	/* receive from parent */
	spinlock_t inbound_lock;
	spinlock_t inbound_lock;
	struct workqueue_struct *ControlWQ;
	struct workqueue_struct *ControlWQ;


+23 −22
Original line number Original line Diff line number Diff line
@@ -46,7 +46,7 @@ Description:


--*/
--*/
static inline void
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;
	u32 read_loc, write_loc;


@@ -68,7 +68,7 @@ Description:


--*/
--*/
static inline u32
static inline u32
GetNextWriteLocation(RING_BUFFER_INFO *RingInfo)
GetNextWriteLocation(struct hv_ring_buffer_info *RingInfo)
{
{
	u32 next = RingInfo->RingBuffer->WriteIndex;
	u32 next = RingInfo->RingBuffer->WriteIndex;


@@ -87,7 +87,8 @@ Description:


--*/
--*/
static inline void
static inline void
SetNextWriteLocation(RING_BUFFER_INFO *RingInfo, u32 NextWriteLocation)
SetNextWriteLocation(struct hv_ring_buffer_info *RingInfo,
		     u32 NextWriteLocation)
{
{
	RingInfo->RingBuffer->WriteIndex = NextWriteLocation;
	RingInfo->RingBuffer->WriteIndex = NextWriteLocation;
}
}
@@ -102,7 +103,7 @@ Description:


--*/
--*/
static inline u32
static inline u32
GetNextReadLocation(RING_BUFFER_INFO *RingInfo)
GetNextReadLocation(struct hv_ring_buffer_info *RingInfo)
{
{
	u32 next = RingInfo->RingBuffer->ReadIndex;
	u32 next = RingInfo->RingBuffer->ReadIndex;


@@ -122,7 +123,7 @@ Description:


--*/
--*/
static inline u32
static inline u32
GetNextReadLocationWithOffset(RING_BUFFER_INFO *RingInfo, u32 Offset)
GetNextReadLocationWithOffset(struct hv_ring_buffer_info *RingInfo, u32 Offset)
{
{
	u32 next = RingInfo->RingBuffer->ReadIndex;
	u32 next = RingInfo->RingBuffer->ReadIndex;


@@ -143,7 +144,7 @@ Description:


--*/
--*/
static inline void
static inline void
SetNextReadLocation(RING_BUFFER_INFO *RingInfo, u32 NextReadLocation)
SetNextReadLocation(struct hv_ring_buffer_info *RingInfo, u32 NextReadLocation)
{
{
	RingInfo->RingBuffer->ReadIndex = NextReadLocation;
	RingInfo->RingBuffer->ReadIndex = NextReadLocation;
}
}
@@ -159,7 +160,7 @@ Description:


--*/
--*/
static inline void *
static inline void *
GetRingBuffer(RING_BUFFER_INFO *RingInfo)
GetRingBuffer(struct hv_ring_buffer_info *RingInfo)
{
{
	return (void *)RingInfo->RingBuffer->Buffer;
	return (void *)RingInfo->RingBuffer->Buffer;
}
}
@@ -175,7 +176,7 @@ Description:


--*/
--*/
static inline u32
static inline u32
GetRingBufferSize(RING_BUFFER_INFO *RingInfo)
GetRingBufferSize(struct hv_ring_buffer_info *RingInfo)
{
{
	return RingInfo->RingDataSize;
	return RingInfo->RingDataSize;
}
}
@@ -190,7 +191,7 @@ Description:


--*/
--*/
static inline u64
static inline u64
GetRingBufferIndices(RING_BUFFER_INFO *RingInfo)
GetRingBufferIndices(struct hv_ring_buffer_info *RingInfo)
{
{
	return ((u64)RingInfo->RingBuffer->WriteIndex << 32)
	return ((u64)RingInfo->RingBuffer->WriteIndex << 32)
	|| RingInfo->RingBuffer->ReadIndex;
	|| RingInfo->RingBuffer->ReadIndex;
@@ -206,7 +207,7 @@ Description:
	Dump out to console the ring buffer info
	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 bytesAvailToWrite;
	u32 bytesAvailToRead;
	u32 bytesAvailToRead;
@@ -233,14 +234,14 @@ void DumpRingInfo(RING_BUFFER_INFO *RingInfo, char *Prefix)


static u32
static u32
CopyToRingBuffer(
CopyToRingBuffer(
	RING_BUFFER_INFO	*RingInfo,
	struct hv_ring_buffer_info	*RingInfo,
	u32				StartWriteOffset,
	u32				StartWriteOffset,
	void				*Src,
	void				*Src,
	u32				SrcLen);
	u32				SrcLen);


static u32
static u32
CopyFromRingBuffer(
CopyFromRingBuffer(
	RING_BUFFER_INFO	*RingInfo,
	struct hv_ring_buffer_info	*RingInfo,
	void				*Dest,
	void				*Dest,
	u32				DestLen,
	u32				DestLen,
	u32				StartReadOffset);
	u32				StartReadOffset);
@@ -256,7 +257,7 @@ Description:
	Get various debug metrics for the specified ring buffer
	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)
			    struct hv_ring_buffer_debug_info *debug_info)
{
{
	u32 bytesAvailToWrite;
	u32 bytesAvailToWrite;
@@ -285,7 +286,7 @@ Description:
	Get the interrupt mask for the specified ring buffer
	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;
	return rbi->RingBuffer->InterruptMask;
}
}
@@ -299,12 +300,12 @@ Description:
	Initialize the ring buffer
	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)
	if (sizeof(RING_BUFFER) != PAGE_SIZE)
		return -EINVAL;
		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 = (RING_BUFFER *)Buffer;
	RingInfo->RingBuffer->ReadIndex = RingInfo->RingBuffer->WriteIndex = 0;
	RingInfo->RingBuffer->ReadIndex = RingInfo->RingBuffer->WriteIndex = 0;
@@ -326,7 +327,7 @@ Description:
	Cleanup the ring buffer
	Cleanup the ring buffer


--*/
--*/
void RingBufferCleanup(RING_BUFFER_INFO *RingInfo)
void RingBufferCleanup(struct hv_ring_buffer_info *RingInfo)
{
{
}
}


@@ -339,7 +340,7 @@ Description:
	Write to the ring buffer
	Write to the ring buffer


--*/
--*/
int RingBufferWrite(RING_BUFFER_INFO *OutRingInfo,
int RingBufferWrite(struct hv_ring_buffer_info *OutRingInfo,
		    struct scatterlist *sglist, u32 sgcount)
		    struct scatterlist *sglist, u32 sgcount)
{
{
	int i = 0;
	int i = 0;
@@ -424,7 +425,7 @@ Description:
	Read without advancing the read index
	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 bytesAvailToWrite;
	u32 bytesAvailToRead;
	u32 bytesAvailToRead;
@@ -473,7 +474,7 @@ Description:
	Read and advance the read index
	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 BufferLen, u32 Offset)
{
{
	u32 bytesAvailToWrite;
	u32 bytesAvailToWrite;
@@ -548,7 +549,7 @@ Description:
--*/
--*/
static u32
static u32
CopyToRingBuffer(
CopyToRingBuffer(
	RING_BUFFER_INFO	*RingInfo,
	struct hv_ring_buffer_info	*RingInfo,
	u32				StartWriteOffset,
	u32				StartWriteOffset,
	void				*Src,
	void				*Src,
	u32				SrcLen)
	u32				SrcLen)
@@ -586,7 +587,7 @@ Description:
--*/
--*/
static u32
static u32
CopyFromRingBuffer(
CopyFromRingBuffer(
	RING_BUFFER_INFO	*RingInfo,
	struct hv_ring_buffer_info	*RingInfo,
	void				*Dest,
	void				*Dest,
	u32				DestLen,
	u32				DestLen,
	u32				StartReadOffset)
	u32				StartReadOffset)
+12 −11
Original line number Original line Diff line number Diff line
@@ -53,15 +53,14 @@ typedef struct _RING_BUFFER {
	u8 Buffer[0];
	u8 Buffer[0];
} __attribute__((packed)) RING_BUFFER;
} __attribute__((packed)) RING_BUFFER;


typedef struct _RING_BUFFER_INFO {
struct hv_ring_buffer_info {
	RING_BUFFER *RingBuffer;
	RING_BUFFER *RingBuffer;
	u32 RingSize;			/* Include the shared header */
	u32 RingSize;			/* Include the shared header */
	spinlock_t ring_lock;
	spinlock_t ring_lock;


	u32 RingDataSize;		/* < ringSize */
	u32 RingDataSize;		/* < ringSize */
	u32 RingDataStartOffset;
	u32 RingDataStartOffset;

};
} RING_BUFFER_INFO;


struct hv_ring_buffer_debug_info {
struct hv_ring_buffer_debug_info {
	u32 CurrentInterruptMask;
	u32 CurrentInterruptMask;
@@ -76,26 +75,28 @@ struct hv_ring_buffer_debug_info {
/* Interface */
/* 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,
		    struct scatterlist *sglist,
		    u32 sgcount);
		    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,
		   void *Buffer,
		   u32 BufferLen,
		   u32 BufferLen,
		   u32 Offset);
		   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);
			    struct hv_ring_buffer_debug_info *debug_info);


#endif /* _RING_BUFFER_H_ */
#endif /* _RING_BUFFER_H_ */