mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
Merge tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux
Pull Hyper-V updates from Sasha Levin: - first round of vmbus hibernation support (Dexuan Cui) - remove dependencies on PAGE_SIZE (Maya Nakamura) - move the hyper-v tools/ code into the tools build system (Andy Shevchenko) - hyper-v balloon cleanups (Dexuan Cui) * tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: Drivers: hv: vmbus: Resume after fixing up old primary channels Drivers: hv: vmbus: Suspend after cleaning up hv_sock and sub channels Drivers: hv: vmbus: Clean up hv_sock channels by force upon suspend Drivers: hv: vmbus: Suspend/resume the vmbus itself for hibernation Drivers: hv: vmbus: Ignore the offers when resuming from hibernation Drivers: hv: vmbus: Implement suspend/resume for VSC drivers for hibernation Drivers: hv: vmbus: Add a helper function is_sub_channel() Drivers: hv: vmbus: Suspend/resume the synic for hibernation Drivers: hv: vmbus: Break out synic enable and disable operations HID: hv: Remove dependencies on PAGE_SIZE for ring buffer Tools: hv: move to tools buildsystem hv_balloon: Reorganize the probe function hv_balloon: Use a static page for the balloon_up send buffer
This commit is contained in:
@@ -245,7 +245,10 @@ struct vmbus_channel_offer {
|
||||
} pipe;
|
||||
} u;
|
||||
/*
|
||||
* The sub_channel_index is defined in win8.
|
||||
* The sub_channel_index is defined in Win8: a value of zero means a
|
||||
* primary channel and a value of non-zero means a sub-channel.
|
||||
*
|
||||
* Before Win8, the field is reserved, meaning it's always zero.
|
||||
*/
|
||||
u16 sub_channel_index;
|
||||
u16 reserved3;
|
||||
@@ -423,6 +426,9 @@ enum vmbus_channel_message_type {
|
||||
CHANNELMSG_COUNT
|
||||
};
|
||||
|
||||
/* Hyper-V supports about 2048 channels, and the RELIDs start with 1. */
|
||||
#define INVALID_RELID U32_MAX
|
||||
|
||||
struct vmbus_channel_message_header {
|
||||
enum vmbus_channel_message_type msgtype;
|
||||
u32 padding;
|
||||
@@ -934,6 +940,11 @@ static inline bool is_hvsock_channel(const struct vmbus_channel *c)
|
||||
VMBUS_CHANNEL_TLNPI_PROVIDER_OFFER);
|
||||
}
|
||||
|
||||
static inline bool is_sub_channel(const struct vmbus_channel *c)
|
||||
{
|
||||
return c->offermsg.offer.sub_channel_index != 0;
|
||||
}
|
||||
|
||||
static inline void set_channel_affinity_state(struct vmbus_channel *c,
|
||||
enum hv_numa_policy policy)
|
||||
{
|
||||
@@ -1149,6 +1160,9 @@ struct hv_driver {
|
||||
int (*remove)(struct hv_device *);
|
||||
void (*shutdown)(struct hv_device *);
|
||||
|
||||
int (*suspend)(struct hv_device *);
|
||||
int (*resume)(struct hv_device *);
|
||||
|
||||
};
|
||||
|
||||
/* Base device object */
|
||||
|
Reference in New Issue
Block a user