Lines Matching full:offer

204 	const guid_t *guid = &channel->offermsg.offer.if_type;  in hv_get_dev_type()
535 &newchannel->offermsg.offer.if_type, in vmbus_add_channel_work()
536 &newchannel->offermsg.offer.if_instance, in vmbus_add_channel_work()
588 * vmbus_process_offer - Process the offer by creating a channel/device
589 * associated with this offer
625 if (guid_equal(&channel->offermsg.offer.if_type, in vmbus_process_offer()
626 &newchannel->offermsg.offer.if_type) && in vmbus_process_offer()
627 guid_equal(&channel->offermsg.offer.if_instance, in vmbus_process_offer()
628 &newchannel->offermsg.offer.if_instance)) { in vmbus_process_offer()
654 if (newchannel->offermsg.offer.sub_channel_index == 0) { in vmbus_process_offer()
797 if (channel->offermsg.offer.sub_channel_index >= ncpu || in init_vp_index()
949 struct vmbus_channel_offer_channel *offer) in vmbus_setup_channel_state() argument
957 (offer->is_dedicated_interrupt != 0); in vmbus_setup_channel_state()
958 channel->sig_event = offer->connection_id; in vmbus_setup_channel_state()
960 memcpy(&channel->offermsg, offer, in vmbus_setup_channel_state()
962 channel->monitor_grp = (u8)offer->monitorid / 32; in vmbus_setup_channel_state()
963 channel->monitor_bit = (u8)offer->monitorid % 32; in vmbus_setup_channel_state()
968 * find_primary_channel_by_offer - Get the channel object given the new offer.
972 find_primary_channel_by_offer(const struct vmbus_channel_offer_channel *offer) in find_primary_channel_by_offer() argument
978 if (offer->offer.sub_channel_index != 0) in find_primary_channel_by_offer()
984 inst1 = &iter->offermsg.offer.if_instance; in find_primary_channel_by_offer()
985 inst2 = &offer->offer.if_instance; in find_primary_channel_by_offer()
998 static bool vmbus_is_valid_offer(const struct vmbus_channel_offer_channel *offer) in vmbus_is_valid_offer() argument
1000 const guid_t *guid = &offer->offer.if_type; in vmbus_is_valid_offer()
1006 if (is_hvsock_offer(offer)) in vmbus_is_valid_offer()
1022 struct vmbus_channel_offer_channel *offer; in vmbus_onoffer() local
1026 offer = (struct vmbus_channel_offer_channel *)hdr; in vmbus_onoffer()
1028 trace_vmbus_onoffer(offer); in vmbus_onoffer()
1030 if (!vmbus_is_valid_offer(offer)) { in vmbus_onoffer()
1031 pr_err_ratelimited("Invalid offer %d from the host supporting isolation\n", in vmbus_onoffer()
1032 offer->child_relid); in vmbus_onoffer()
1037 oldchannel = find_primary_channel_by_offer(offer); in vmbus_onoffer()
1075 oldchannel->offermsg.child_relid = offer->child_relid; in vmbus_onoffer()
1077 offer_sz = sizeof(*offer); in vmbus_onoffer()
1078 if (memcmp(offer, &oldchannel->offermsg, offer_sz) != 0) { in vmbus_onoffer()
1081 * the other field(s) of the offer, e.g. on WS RS5 in vmbus_onoffer()
1082 * (Build 17763), the offer->connection_id of the in vmbus_onoffer()
1086 pr_debug("vmbus offer changed: relid=%d\n", in vmbus_onoffer()
1087 offer->child_relid); in vmbus_onoffer()
1089 print_hex_dump_debug("Old vmbus offer: ", in vmbus_onoffer()
1093 print_hex_dump_debug("New vmbus offer: ", in vmbus_onoffer()
1095 offer, offer_sz, false); in vmbus_onoffer()
1098 vmbus_setup_channel_state(oldchannel, offer); in vmbus_onoffer()
1107 /* Allocate the channel object and save this offer. */ in vmbus_onoffer()
1110 vmbus_release_relid(offer->child_relid); in vmbus_onoffer()
1116 vmbus_setup_channel_state(newchannel, offer); in vmbus_onoffer()
1132 * vmbus_onoffer_rescind - Rescind offer handler.
1134 * We queue a work item to process this offer synchronously
1148 * The offer msg and the corresponding rescind msg in vmbus_onoffer_rescind()
1150 * offer comes in first and then the rescind. in vmbus_onoffer_rescind()
1173 * We wait here until any channel offer is currently in vmbus_onoffer_rescind()
1197 * We failed in processing the offer message; in vmbus_onoffer_rescind()
1213 * Now wait for offer handling to complete. in vmbus_onoffer_rescind()
1218 * We wait here until any channel offer is currently in vmbus_onoffer_rescind()
1289 * boot-time offers are delivered. A boot-time offer is for the primary
1630 * Flush handling of offer messages (which may initiate work on in vmbus_request_offers()