Home | History | Annotate | Download | only in fwctl

Lines Matching defs:asyreq

194         struct fw_asyreq *asyreq;
197 asyreq = malloc(sizeof(*asyreq) + 16);
198 if (asyreq == NULL)
199 err(EX_SOFTWARE, "%s: asyreq malloc", __func__);
200 asyreq->req.len = 16;
202 asyreq->req.type = FWASREQNODE;
203 asyreq->pkt.mode.rreqq.dst = FWLOCALBUS | node;
205 asyreq->req.type = FWASREQEUI;
206 asyreq->req.dst.eui = eui;
208 asyreq->pkt.mode.rreqq.tlrt = 0;
210 asyreq->pkt.mode.rreqq.tcode = FWTCODE_RREQQ;
212 asyreq->pkt.mode.rreqq.tcode = FWTCODE_WREQQ;
214 asyreq->pkt.mode.rreqq.dest_hi = 0xffff;
215 asyreq->pkt.mode.rreqq.dest_lo = addr_lo;
217 qld = (uint32_t *)&asyreq->pkt;
219 asyreq->pkt.mode.wreqq.data = htonl(data);
221 if (ioctl(fd, FW_ASYREQ, asyreq) < 0)
224 free(asyreq);
249 struct fw_asyreq *asyreq;
251 asyreq = malloc(sizeof(*asyreq) + 12);
252 if (asyreq == NULL)
253 err(EX_SOFTWARE, "%s: asyreq malloc", __func__);
254 asyreq->req.len = 12;
255 asyreq->req.type = FWASREQNODE;
256 asyreq->pkt.mode.ld[0] = 0;
257 asyreq->pkt.mode.ld[1] = 0;
258 asyreq->pkt.mode.common.tcode = FWTCODE_PHY;
260 asyreq->pkt.mode.ld[1] |= ((root_node << 24) | (1 << 23));
262 asyreq->pkt.mode.ld[1] |= ((1 << 22) | (gap_count << 16));
263 asyreq->pkt.mode.ld[2] = ~asyreq->pkt.mode.ld[1];
268 if (ioctl(fd, FW_ASYREQ, asyreq) < 0)
270 free(asyreq);
276 struct fw_asyreq *asyreq;
278 asyreq = malloc(sizeof(*asyreq) + 12);
279 if (asyreq == NULL)
280 err(EX_SOFTWARE, "%s: asyreq malloc", __func__);
281 asyreq->req.len = 12;
282 asyreq->req.type = FWASREQNODE;
283 asyreq->pkt.mode.common.tcode = FWTCODE_PHY;
284 asyreq->pkt.mode.ld[1] |= (1 << 30) | ((node & 0x3f) << 24);
285 asyreq->pkt.mode.ld[2] = ~asyreq->pkt.mode.ld[1];
287 if (ioctl(fd, FW_ASYREQ, asyreq) < 0)
289 free(asyreq);
295 struct fw_asyreq *asyreq;
297 asyreq = malloc(sizeof(*asyreq) + 16);
298 if (asyreq == NULL)
299 err(EX_SOFTWARE, "%s: asyreq malloc", __func__);
300 asyreq->req.len = 16;
301 asyreq->req.type = FWASREQNODE;
302 asyreq->pkt.mode.wreqq.dst = FWLOCALBUS | (node & 0x3f);
303 asyreq->pkt.mode.wreqq.tlrt = 0;
304 asyreq->pkt.mode.wreqq.tcode = FWTCODE_WREQQ;
306 asyreq->pkt.mode.wreqq.dest_hi = 0xffff;
307 asyreq->pkt.mode.wreqq.dest_lo = 0xf0000000 | RESET_START;
309 asyreq->pkt.mode.wreqq.data = htonl(0x1);
311 if (ioctl(fd, FW_ASYREQ, asyreq) < 0)
313 free(asyreq);