Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 162193
b: refs/heads/master
c: 46a0525
h: refs/heads/master
i:
  162191: c1ccb5e
v: v3
  • Loading branch information
Greg Kroah-Hartman committed Sep 15, 2009
1 parent cd94609 commit ffc1bf5
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 141 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: 98d9fac4f0dec8545ed94abe729a15865cff6686
refs/heads/master: 46a0525385f59872e16d5d0962ba3e488fb18165
38 changes: 16 additions & 22 deletions trunk/drivers/staging/hv/Channel.c
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ VmbusChannelClearEvent(
Retrieve various channel debug info
--*/
static void
void
VmbusChannelGetDebugInfo(
VMBUS_CHANNEL *Channel,
VMBUS_CHANNEL_DEBUG_INFO *DebugInfo
Expand Down Expand Up @@ -203,7 +203,7 @@ VmbusChannelGetDebugInfo(
Open the specified channel.
--*/
static int
int
VmbusChannelOpen(
VMBUS_CHANNEL *NewChannel,
u32 SendRingBufferSize,
Expand Down Expand Up @@ -516,7 +516,7 @@ VmbusChannelCreateGpadlHeader(
Estabish a GPADL for the specified buffer
--*/
static int
int
VmbusChannelEstablishGpadl(
VMBUS_CHANNEL *Channel,
void * Kbuffer, /* from kmalloc() */
Expand Down Expand Up @@ -621,7 +621,7 @@ VmbusChannelEstablishGpadl(
Teardown the specified GPADL handle
--*/
static int
int
VmbusChannelTeardownGpadl(
VMBUS_CHANNEL *Channel,
u32 GpadlHandle
Expand Down Expand Up @@ -682,7 +682,7 @@ VmbusChannelTeardownGpadl(
Close the specified channel
--*/
static void
void
VmbusChannelClose(
VMBUS_CHANNEL *Channel
)
Expand Down Expand Up @@ -759,7 +759,7 @@ VmbusChannelClose(
Send the specified buffer on the given channel
--*/
static int
int
VmbusChannelSendPacket(
VMBUS_CHANNEL *Channel,
const void * Buffer,
Expand Down Expand Up @@ -821,7 +821,7 @@ VmbusChannelSendPacket(
Send a range of single-page buffer packets using a GPADL Direct packet type.
--*/
static int
int
VmbusChannelSendPacketPageBuffer(
VMBUS_CHANNEL *Channel,
PAGE_BUFFER PageBuffers[],
Expand Down Expand Up @@ -900,7 +900,7 @@ VmbusChannelSendPacketPageBuffer(
Send a multi-page buffer packet using a GPADL Direct packet type.
--*/
static int
int
VmbusChannelSendPacketMultiPageBuffer(
VMBUS_CHANNEL *Channel,
MULTIPAGE_BUFFER *MultiPageBuffer,
Expand Down Expand Up @@ -979,14 +979,11 @@ VmbusChannelSendPacketMultiPageBuffer(
--*/
/* TODO: Do we ever receive a gpa direct packet other than the ones we send ? */
static int
VmbusChannelRecvPacket(
VMBUS_CHANNEL *Channel,
void * Buffer,
u32 BufferLen,
u32* BufferActualLen,
u64* RequestId
)
int VmbusChannelRecvPacket(VMBUS_CHANNEL *Channel,
void *Buffer,
u32 BufferLen,
u32 *BufferActualLen,
u64 *RequestId)
{
VMPACKET_DESCRIPTOR desc;
u32 packetLen;
Expand Down Expand Up @@ -1057,7 +1054,7 @@ VmbusChannelRecvPacket(
Retrieve the raw packet on the specified channel
--*/
static int
int
VmbusChannelRecvPacketRaw(
VMBUS_CHANNEL *Channel,
void * Buffer,
Expand Down Expand Up @@ -1134,10 +1131,7 @@ VmbusChannelRecvPacketRaw(
Channel event callback
--*/
static void
VmbusChannelOnChannelEvent(
VMBUS_CHANNEL *Channel
)
void VmbusChannelOnChannelEvent(VMBUS_CHANNEL *Channel)
{
DumpVmbusChannel(Channel);
ASSERT(Channel->OnChannelCallback);
Expand All @@ -1160,7 +1154,7 @@ VmbusChannelOnChannelEvent(
Timer event callback
--*/
static void VmbusChannelOnTimer(unsigned long data)
void VmbusChannelOnTimer(unsigned long data)
{
VMBUS_CHANNEL *channel = (VMBUS_CHANNEL*)data;

Expand Down
195 changes: 77 additions & 118 deletions trunk/drivers/staging/hv/Channel.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,127 +28,86 @@
#include "include/osd.h"
#include "ChannelMgmt.h"

#pragma pack(push,1)


/* The format must be the same as VMDATA_GPA_DIRECT */
struct VMBUS_CHANNEL_PACKET_PAGE_BUFFER {
u16 Type;
u16 DataOffset8;
u16 Length8;
u16 Flags;
u64 TransactionId;
u32 Reserved;
u32 RangeCount;
PAGE_BUFFER Range[MAX_PAGE_BUFFER_COUNT];
};

u16 Type;
u16 DataOffset8;
u16 Length8;
u16 Flags;
u64 TransactionId;
u32 Reserved;
u32 RangeCount;
PAGE_BUFFER Range[MAX_PAGE_BUFFER_COUNT];
} __attribute__((packed));

/* The format must be the same as VMDATA_GPA_DIRECT */
struct VMBUS_CHANNEL_PACKET_MULITPAGE_BUFFER {
u16 Type;
u16 DataOffset8;
u16 Length8;
u16 Flags;
u64 TransactionId;
u32 Reserved;
u32 RangeCount; /* Always 1 in this case */
MULTIPAGE_BUFFER Range;
};

#pragma pack(pop)


/* Routines */


static int
VmbusChannelOpen(
VMBUS_CHANNEL *Channel,
u32 SendRingBufferSize,
u32 RecvRingBufferSize,
void * UserData,
u32 UserDataLen,
PFN_CHANNEL_CALLBACK pfnOnChannelCallback,
void * Context
);

static void
VmbusChannelClose(
VMBUS_CHANNEL *Channel
);

static int
VmbusChannelSendPacket(
VMBUS_CHANNEL *Channel,
const void * Buffer,
u32 BufferLen,
u64 RequestId,
VMBUS_PACKET_TYPE Type,
u32 Flags
);

static int
VmbusChannelSendPacketPageBuffer(
VMBUS_CHANNEL *Channel,
PAGE_BUFFER PageBuffers[],
u32 PageCount,
void * Buffer,
u32 BufferLen,
u64 RequestId
);

static int
VmbusChannelSendPacketMultiPageBuffer(
VMBUS_CHANNEL *Channel,
MULTIPAGE_BUFFER *MultiPageBuffer,
void * Buffer,
u32 BufferLen,
u64 RequestId
);

static int
VmbusChannelEstablishGpadl(
VMBUS_CHANNEL *Channel,
void * Kbuffer, /* from kmalloc() */
u32 Size, /* page-size multiple */
u32 *GpadlHandle
);

static int
VmbusChannelTeardownGpadl(
VMBUS_CHANNEL *Channel,
u32 GpadlHandle
);

static int
VmbusChannelRecvPacket(
VMBUS_CHANNEL *Channel,
void * Buffer,
u32 BufferLen,
u32* BufferActualLen,
u64* RequestId
);

static int
VmbusChannelRecvPacketRaw(
VMBUS_CHANNEL *Channel,
void * Buffer,
u32 BufferLen,
u32* BufferActualLen,
u64* RequestId
);

static void
VmbusChannelOnChannelEvent(
VMBUS_CHANNEL *Channel
);

static void
VmbusChannelGetDebugInfo(
VMBUS_CHANNEL *Channel,
VMBUS_CHANNEL_DEBUG_INFO *DebugInfo
);

static void VmbusChannelOnTimer(unsigned long data);
u16 Type;
u16 DataOffset8;
u16 Length8;
u16 Flags;
u64 TransactionId;
u32 Reserved;
u32 RangeCount; /* Always 1 in this case */
MULTIPAGE_BUFFER Range;
} __attribute__((packed));


extern int VmbusChannelOpen(VMBUS_CHANNEL *Channel,
u32 SendRingBufferSize,
u32 RecvRingBufferSize,
void *UserData,
u32 UserDataLen,
PFN_CHANNEL_CALLBACK pfnOnChannelCallback,
void *Context);

extern void VmbusChannelClose(VMBUS_CHANNEL *Channel);

extern int VmbusChannelSendPacket(VMBUS_CHANNEL *Channel,
const void *Buffer,
u32 BufferLen,
u64 RequestId,
VMBUS_PACKET_TYPE Type,
u32 Flags);

extern int VmbusChannelSendPacketPageBuffer(VMBUS_CHANNEL *Channel,
PAGE_BUFFER PageBuffers[],
u32 PageCount,
void *Buffer,
u32 BufferLen,
u64 RequestId);

extern int VmbusChannelSendPacketMultiPageBuffer(VMBUS_CHANNEL *Channel,
MULTIPAGE_BUFFER *MultiPageBuffer,
void *Buffer,
u32 BufferLen,
u64 RequestId);

extern int VmbusChannelEstablishGpadl(VMBUS_CHANNEL *Channel,
void *Kbuffer,
u32 Size,
u32 *GpadlHandle);

extern int VmbusChannelTeardownGpadl(VMBUS_CHANNEL *Channel,
u32 GpadlHandle);

extern int VmbusChannelRecvPacket(VMBUS_CHANNEL *Channel,
void *Buffer,
u32 BufferLen,
u32 *BufferActualLen,
u64 *RequestId);

extern int VmbusChannelRecvPacketRaw(VMBUS_CHANNEL *Channel,
void *Buffer,
u32 BufferLen,
u32 *BufferActualLen,
u64 *RequestId);

extern void VmbusChannelOnChannelEvent(VMBUS_CHANNEL *Channel);

extern void VmbusChannelGetDebugInfo(VMBUS_CHANNEL *Channel,
VMBUS_CHANNEL_DEBUG_INFO *DebugInfo);

extern void VmbusChannelOnTimer(unsigned long data);

#endif /* _CHANNEL_H_ */

0 comments on commit ffc1bf5

Please sign in to comment.