Lines Matching full:get
92 /* !!! The following should get moved into SAL. */ in xpc_allow_IPI_ops_sn2()
135 /* !!! The following should get moved into SAL. */ in xpc_disallow_IPI_ops_sn2()
521 * Send activate IRQ to get other side to see that we've cleared our in xpc_indicate_partition_disengaged_sn2()
801 * Get a copy of the remote partition's XPC variables from the reserved page.
870 * Send activate IRQ to get other side to see that we've set our in xpc_request_partition_deactivation_sn2()
1005 dev_warn(xpc_part, "unable to get reserved page from nasid %d, " in xpc_identify_activate_IRQ_req_sn2()
1024 dev_warn(xpc_part, "unable to get XPC variables from nasid %d, " in xpc_identify_activate_IRQ_req_sn2()
1179 /* allocate all the required GET/PUT values */ in xpc_setup_ch_structures_sn2()
1185 dev_err(xpc_chan, "can't get memory for local get/put " in xpc_setup_ch_structures_sn2()
1194 dev_err(xpc_chan, "can't get memory for remote get/put " in xpc_setup_ch_structures_sn2()
1209 dev_err(xpc_chan, "can't get memory for local connect args\n"); in xpc_setup_ch_structures_sn2()
1458 * we should get the same page for remote_amos_page_pa after module in xpc_make_first_contact_sn2()
1472 * Send activate IRQ to get other side to activate if they've not in xpc_make_first_contact_sn2()
1500 * Get the chctl flags and pull the openclose args and/or remote GPs as needed.
1597 dev_dbg(xpc_chan, "can't get memory for local message queue and notify " in xpc_allocate_local_msgqueue_sn2()
1636 dev_dbg(xpc_chan, "can't get memory for cached remote message queue, " in xpc_allocate_remote_msgqueue_sn2()
1681 ch_sn2->local_GP->get = 0; in xpc_teardown_msg_structures_sn2()
1683 ch_sn2->remote_GP.get = 0; in xpc_teardown_msg_structures_sn2()
1685 ch_sn2->w_local_GP.get = 0; in xpc_teardown_msg_structures_sn2()
1687 ch_sn2->w_remote_GP.get = 0; in xpc_teardown_msg_structures_sn2()
1712 s64 get = ch->sn.sn2.w_remote_GP.get - 1; in xpc_notify_senders_sn2() local
1714 while (++get < put && atomic_read(&ch->n_to_notify) > 0) { in xpc_notify_senders_sn2()
1716 notify = &ch->sn.sn2.notify_queue[get % ch->local_nentries]; in xpc_notify_senders_sn2()
1737 (void *)notify, get, ch->partid, ch->number); in xpc_notify_senders_sn2()
1744 (void *)notify, get, ch->partid, ch->number); in xpc_notify_senders_sn2()
1763 s64 get; in xpc_clear_local_msgqueue_flags_sn2() local
1765 get = ch_sn2->w_remote_GP.get; in xpc_clear_local_msgqueue_flags_sn2()
1768 (get % ch->local_nentries) * in xpc_clear_local_msgqueue_flags_sn2()
1772 } while (++get < ch_sn2->remote_GP.get); in xpc_clear_local_msgqueue_flags_sn2()
1804 return ch->sn.sn2.w_remote_GP.put - ch->sn.sn2.w_local_GP.get; in xpc_n_of_deliverable_payloads_sn2()
1820 if (ch_sn2->w_remote_GP.get == ch_sn2->remote_GP.get && in xpc_process_msg_chctl_flags_sn2()
1834 * received by the other side. (The remote GET value will have in xpc_process_msg_chctl_flags_sn2()
1838 if (ch_sn2->w_remote_GP.get != ch_sn2->remote_GP.get) { in xpc_process_msg_chctl_flags_sn2()
1844 * w_remote_GP.get so that we don't allocate the same message in xpc_process_msg_chctl_flags_sn2()
1853 ch_sn2->remote_GP.get); in xpc_process_msg_chctl_flags_sn2()
1862 ch_sn2->w_remote_GP.get = ch_sn2->remote_GP.get; in xpc_process_msg_chctl_flags_sn2()
1864 dev_dbg(xpc_chan, "w_remote_GP.get changed to %lld, partid=%d, " in xpc_process_msg_chctl_flags_sn2()
1865 "channel=%d\n", ch_sn2->w_remote_GP.get, ch->partid, in xpc_process_msg_chctl_flags_sn2()
1910 xpc_pull_remote_msg_sn2(struct xpc_channel *ch, s64 get) in xpc_pull_remote_msg_sn2() argument
1926 while (get >= ch_sn2->next_msg_to_pull) { in xpc_pull_remote_msg_sn2()
1965 msg_offset = (get % ch->remote_nentries) * ch->entry_size; in xpc_pull_remote_msg_sn2()
1972 * Get the next deliverable message's payload.
1980 s64 get; in xpc_get_deliverable_payload_sn2() local
1986 get = ch_sn2->w_local_GP.get; in xpc_get_deliverable_payload_sn2()
1987 smp_rmb(); /* guarantee that .get loads before .put */ in xpc_get_deliverable_payload_sn2()
1988 if (get == ch_sn2->w_remote_GP.put) in xpc_get_deliverable_payload_sn2()
1993 * by trying to increment w_local_GP.get and hope that no one in xpc_get_deliverable_payload_sn2()
1998 if (cmpxchg(&ch_sn2->w_local_GP.get, get, get + 1) == get) { in xpc_get_deliverable_payload_sn2()
1999 /* we got the entry referenced by get */ in xpc_get_deliverable_payload_sn2()
2001 dev_dbg(xpc_chan, "w_local_GP.get changed to %lld, " in xpc_get_deliverable_payload_sn2()
2002 "partid=%d, channel=%d\n", get + 1, in xpc_get_deliverable_payload_sn2()
2007 msg = xpc_pull_remote_msg_sn2(ch, get); in xpc_get_deliverable_payload_sn2()
2010 DBUG_ON(msg->number != get); in xpc_get_deliverable_payload_sn2()
2099 * Get the next available message entry from the local message queue. in xpc_allocate_msg_sn2()
2108 smp_rmb(); /* guarantee that .put loads before .get */ in xpc_allocate_msg_sn2()
2109 if (put - ch_sn2->w_remote_GP.get < ch->local_nentries) { in xpc_allocate_msg_sn2()
2145 /* get the message's address and initialize it */ in xpc_allocate_msg_sn2()
2256 * by advancing the cached remote message queue's Get value and if requested
2267 s64 get = initial_get + 1; in xpc_acknowledge_msgs_sn2() local
2273 if (get == ch_sn2->w_local_GP.get) in xpc_acknowledge_msgs_sn2()
2277 remote_msgqueue + (get % in xpc_acknowledge_msgs_sn2()
2285 get++; in xpc_acknowledge_msgs_sn2()
2288 if (get == initial_get) { in xpc_acknowledge_msgs_sn2()
2293 if (cmpxchg_rel(&ch_sn2->local_GP->get, initial_get, get) != in xpc_acknowledge_msgs_sn2()
2296 DBUG_ON(ch_sn2->local_GP->get <= initial_get); in xpc_acknowledge_msgs_sn2()
2300 /* we just set the new value of local_GP->get */ in xpc_acknowledge_msgs_sn2()
2302 dev_dbg(xpc_chan, "local_GP->get changed to %lld, partid=%d, " in xpc_acknowledge_msgs_sn2()
2303 "channel=%d\n", get, ch->partid, ch->number); in xpc_acknowledge_msgs_sn2()
2309 * local_GP->get is not XPC_M_SN2_DONE or that local_GP->get in xpc_acknowledge_msgs_sn2()
2310 * equals w_local_GP.get, so we'll go have a look. in xpc_acknowledge_msgs_sn2()
2312 initial_get = get; in xpc_acknowledge_msgs_sn2()
2324 s64 get; in xpc_received_payload_sn2() local
2341 * load of local_GP->get. in xpc_received_payload_sn2()
2349 get = ch->sn.sn2.local_GP->get; in xpc_received_payload_sn2()
2350 if (get == msg_number) in xpc_received_payload_sn2()
2351 xpc_acknowledge_msgs_sn2(ch, get, msg->flags); in xpc_received_payload_sn2()
2431 dev_err(xpc_part, "can't get memory for remote copy buffer\n"); in xpc_init_sn2()