Lines Matching refs:xfer

93 					 struct hci_xfer *xfer,
97 u8 *data = xfer->data;
98 unsigned int data_len = xfer->data_len;
99 bool rnw = xfer->rnw;
101 xfer->cmd_tid = hci_get_tid();
104 xfer->cmd_desc[0] =
106 CMD_U0_TID(xfer->cmd_tid) |
111 xfer->cmd_desc[1] =
113 xfer->cmd_desc[2] = 0;
114 xfer->cmd_desc[3] = 0;
117 xfer->cmd_desc[3] |= CMD_U3_IDB4(data[4]);
120 xfer->cmd_desc[2] |= CMD_U2_IDB3(data[3]);
123 xfer->cmd_desc[2] |= CMD_U2_IDB2(data[2]);
126 xfer->cmd_desc[2] |= CMD_U2_IDB1(data[1]);
129 xfer->cmd_desc[2] |= CMD_U2_IDB0(data[0]);
135 xfer->data = NULL;
137 xfer->cmd_desc[0] =
139 CMD_U0_TID(xfer->cmd_tid) |
144 xfer->cmd_desc[1] =
146 xfer->cmd_desc[2] = 0;
147 xfer->cmd_desc[3] = 0;
151 static int hci_cmd_v2_prep_ccc(struct i3c_hci *hci, struct hci_xfer *xfer,
156 u8 *data = xfer->data;
157 unsigned int data_len = xfer->data_len;
158 bool rnw = xfer->rnw;
161 hci_cmd_v2_prep_private_xfer(hci, xfer, ccc_addr, mode, rate);
165 xfer->cmd_tid = hci_get_tid();
168 xfer->cmd_desc[0] =
170 CMD_U0_TID(xfer->cmd_tid) |
175 xfer->cmd_desc[1] =
177 xfer->cmd_desc[2] =
179 xfer->cmd_desc[3] = 0;
182 xfer->cmd_desc[3] |= CMD_U3_IDB4(data[3]);
185 xfer->cmd_desc[2] |= CMD_U2_IDB3(data[2]);
188 xfer->cmd_desc[2] |= CMD_U2_IDB2(data[1]);
191 xfer->cmd_desc[2] |= CMD_U2_IDB1(data[0]);
197 xfer->data = NULL;
199 xfer->cmd_desc[0] =
201 CMD_U0_TID(xfer->cmd_tid) |
207 xfer->cmd_desc[1] =
209 xfer->cmd_desc[2] =
211 xfer->cmd_desc[3] = 0;
219 struct hci_xfer *xfer)
225 hci_cmd_v2_prep_private_xfer(hci, xfer, addr, mode, rate);
230 struct hci_xfer *xfer)
236 hci_cmd_v2_prep_private_xfer(hci, xfer, addr, mode, rate);
241 struct hci_xfer *xfer;
249 xfer = hci_alloc_xfer(2);
250 if (!xfer)
253 xfer[0].data = &device_id;
254 xfer[0].data_len = 8;
255 xfer[0].rnw = true;
256 xfer[0].cmd_desc[1] = CMD_A1_DATA_LENGTH(8);
257 xfer[1].completion = &done;
265 xfer[0].cmd_tid = hci_get_tid();
266 xfer[0].cmd_desc[0] =
268 CMD_A0_TID(xfer[0].cmd_tid) |
270 xfer[1].cmd_tid = hci_get_tid();
271 xfer[1].cmd_desc[0] =
273 CMD_A0_TID(xfer[1].cmd_tid) |
277 hci->io->queue_xfer(hci, xfer, 2);
279 hci->io->dequeue_xfer(hci, xfer, 2)) {
283 if (RESP_STATUS(xfer[0].response) != RESP_SUCCESS) {
287 if (RESP_STATUS(xfer[1].response) != RESP_SUCCESS) {
307 hci_free_xfer(xfer, 2);