Lines Matching full:offer

203 	const guid_t *guid = &channel->offermsg.offer.if_type;  in hv_get_dev_type()
534 &newchannel->offermsg.offer.if_type, in vmbus_add_channel_work()
535 &newchannel->offermsg.offer.if_instance, in vmbus_add_channel_work()
587 * vmbus_process_offer - Process the offer by creating a channel/device
588 * associated with this offer
624 if (guid_equal(&channel->offermsg.offer.if_type, in vmbus_process_offer()
625 &newchannel->offermsg.offer.if_type) && in vmbus_process_offer()
626 guid_equal(&channel->offermsg.offer.if_instance, in vmbus_process_offer()
627 &newchannel->offermsg.offer.if_instance)) { in vmbus_process_offer()
653 if (newchannel->offermsg.offer.sub_channel_index == 0) { in vmbus_process_offer()
796 if (channel->offermsg.offer.sub_channel_index >= ncpu || in init_vp_index()
948 struct vmbus_channel_offer_channel *offer) in vmbus_setup_channel_state() argument
956 (offer->is_dedicated_interrupt != 0); in vmbus_setup_channel_state()
957 channel->sig_event = offer->connection_id; in vmbus_setup_channel_state()
959 memcpy(&channel->offermsg, offer, in vmbus_setup_channel_state()
961 channel->monitor_grp = (u8)offer->monitorid / 32; in vmbus_setup_channel_state()
962 channel->monitor_bit = (u8)offer->monitorid % 32; in vmbus_setup_channel_state()
967 * find_primary_channel_by_offer - Get the channel object given the new offer.
971 find_primary_channel_by_offer(const struct vmbus_channel_offer_channel *offer) in find_primary_channel_by_offer() argument
977 if (offer->offer.sub_channel_index != 0) in find_primary_channel_by_offer()
983 inst1 = &iter->offermsg.offer.if_instance; in find_primary_channel_by_offer()
984 inst2 = &offer->offer.if_instance; in find_primary_channel_by_offer()
997 static bool vmbus_is_valid_offer(const struct vmbus_channel_offer_channel *offer) in vmbus_is_valid_offer() argument
999 const guid_t *guid = &offer->offer.if_type; in vmbus_is_valid_offer()
1005 if (is_hvsock_offer(offer)) in vmbus_is_valid_offer()
1021 struct vmbus_channel_offer_channel *offer; in vmbus_onoffer() local
1025 offer = (struct vmbus_channel_offer_channel *)hdr; in vmbus_onoffer()
1027 trace_vmbus_onoffer(offer); in vmbus_onoffer()
1029 if (!vmbus_is_valid_offer(offer)) { in vmbus_onoffer()
1030 pr_err_ratelimited("Invalid offer %d from the host supporting isolation\n", in vmbus_onoffer()
1031 offer->child_relid); in vmbus_onoffer()
1036 oldchannel = find_primary_channel_by_offer(offer); in vmbus_onoffer()
1074 oldchannel->offermsg.child_relid = offer->child_relid; in vmbus_onoffer()
1076 offer_sz = sizeof(*offer); in vmbus_onoffer()
1077 if (memcmp(offer, &oldchannel->offermsg, offer_sz) != 0) { in vmbus_onoffer()
1080 * the other field(s) of the offer, e.g. on WS RS5 in vmbus_onoffer()
1081 * (Build 17763), the offer->connection_id of the in vmbus_onoffer()
1085 pr_debug("vmbus offer changed: relid=%d\n", in vmbus_onoffer()
1086 offer->child_relid); in vmbus_onoffer()
1088 print_hex_dump_debug("Old vmbus offer: ", in vmbus_onoffer()
1092 print_hex_dump_debug("New vmbus offer: ", in vmbus_onoffer()
1094 offer, offer_sz, false); in vmbus_onoffer()
1097 vmbus_setup_channel_state(oldchannel, offer); in vmbus_onoffer()
1106 /* Allocate the channel object and save this offer. */ in vmbus_onoffer()
1109 vmbus_release_relid(offer->child_relid); in vmbus_onoffer()
1115 vmbus_setup_channel_state(newchannel, offer); in vmbus_onoffer()
1131 * vmbus_onoffer_rescind - Rescind offer handler.
1133 * We queue a work item to process this offer synchronously
1147 * The offer msg and the corresponding rescind msg in vmbus_onoffer_rescind()
1149 * offer comes in first and then the rescind. in vmbus_onoffer_rescind()
1172 * We wait here until any channel offer is currently in vmbus_onoffer_rescind()
1196 * We failed in processing the offer message; in vmbus_onoffer_rescind()
1212 * Now wait for offer handling to complete. in vmbus_onoffer_rescind()
1217 * We wait here until any channel offer is currently in vmbus_onoffer_rescind()
1288 * boot-time offers are delivered. A boot-time offer is for the primary
1629 * Flush handling of offer messages (which may initiate work on in vmbus_request_offers()