Lines Matching defs:xfer

865 sbp_loginres_callback(struct fw_xfer *xfer)
868 sdev = (struct sbp_dev *)xfer->sc;
874 STAILQ_INSERT_TAIL(&sdev->target->sbp->fwb.xferlist, xfer, link);
881 sbp_xfer_free(struct fw_xfer *xfer)
885 sdev = (struct sbp_dev *)xfer->sc;
886 fw_xfer_unload(xfer);
888 STAILQ_INSERT_TAIL(&sdev->target->xferlist, xfer, link);
892 sbp_reset_start_callback(struct fw_xfer *xfer)
894 struct sbp_dev *tsdev, *sdev = (struct sbp_dev *)xfer->sc;
898 if (xfer->resp != 0) {
900 "%s: %s failed: resp=%d\n", __func__, sdev->bustgtlun, xfer->resp);
915 struct fw_xfer *xfer;
923 xfer = sbp_write_cmd(sdev, FWTCODE_WREQQ, 0);
924 xfer->hand = sbp_reset_start_callback;
925 fp = &xfer->send.hdr;
929 fw_asyreq(xfer->fc, -1, xfer);
933 sbp_mgm_callback(struct fw_xfer *xfer)
937 sdev = (struct sbp_dev *)xfer->sc;
944 sbp_xfer_free(xfer);
1049 sbp_do_attach(struct fw_xfer *xfer)
1055 sdev = (struct sbp_dev *)xfer->sc;
1063 sbp_xfer_free(xfer);
1086 sbp_agent_reset_callback(struct fw_xfer *xfer)
1090 sdev = (struct sbp_dev *)xfer->sc;
1095 if (xfer->resp != 0) {
1097 "%s:%s resp=%d\n", __func__, sdev->bustgtlun, xfer->resp);
1101 sbp_xfer_free(xfer);
1112 struct fw_xfer *xfer;
1120 xfer = sbp_write_cmd(sdev, FWTCODE_WREQQ, 0x04);
1121 if (xfer == NULL)
1124 xfer->hand = sbp_agent_reset_callback;
1126 xfer->hand = sbp_do_attach;
1127 fp = &xfer->send.hdr;
1129 fw_asyreq(xfer->fc, -1, xfer);
1134 sbp_busy_timeout_callback(struct fw_xfer *xfer)
1138 sdev = (struct sbp_dev *)xfer->sc;
1144 sbp_xfer_free(xfer);
1153 struct fw_xfer *xfer;
1158 xfer = sbp_write_cmd(sdev, FWTCODE_WREQQ, 0);
1160 xfer->hand = sbp_busy_timeout_callback;
1161 fp = &xfer->send.hdr;
1165 fw_asyreq(xfer->fc, -1, xfer);
1169 sbp_orb_pointer_callback(struct fw_xfer *xfer)
1172 sdev = (struct sbp_dev *)xfer->sc;
1178 if (xfer->resp != 0) {
1180 printf("%s: xfer->resp = %d\n", __func__, xfer->resp);
1183 sbp_xfer_free(xfer);
1202 struct fw_xfer *xfer;
1222 xfer = sbp_write_cmd(sdev, FWTCODE_WREQB, 0x08);
1223 if (xfer == NULL)
1225 xfer->hand = sbp_orb_pointer_callback;
1227 fp = &xfer->send.hdr;
1230 xfer->send.payload[0] =
1232 xfer->send.payload[1] = htonl((uint32_t)ocb->bus_addr);
1234 if (fw_asyreq(xfer->fc, -1, xfer) != 0) {
1235 sbp_xfer_free(xfer);
1242 sbp_doorbell_callback(struct fw_xfer *xfer)
1245 sdev = (struct sbp_dev *)xfer->sc;
1251 if (xfer->resp != 0) {
1254 "%s: xfer->resp = %d\n", __func__, xfer->resp);
1257 sbp_xfer_free(xfer);
1269 struct fw_xfer *xfer;
1281 xfer = sbp_write_cmd(sdev, FWTCODE_WREQQ, 0x10);
1282 if (xfer == NULL)
1284 xfer->hand = sbp_doorbell_callback;
1285 fp = &xfer->send.hdr;
1287 fw_asyreq(xfer->fc, -1, xfer);
1293 struct fw_xfer *xfer;
1301 xfer = STAILQ_FIRST(&target->xferlist);
1302 if (xfer == NULL) {
1304 printf("sbp: no more xfer for this target\n");
1307 xfer = fw_xfer_alloc_buf(M_SBP, 8, 0);
1308 if (xfer == NULL) {
1314 printf("sbp: alloc %d xfer\n", target->n_xfer);
1321 xfer->recv.pay_len = 0;
1322 xfer->send.spd = min(sdev->target->fwdev->speed, max_speed);
1323 xfer->fc = sdev->target->sbp->fd.fc;
1327 xfer->send.pay_len = 8;
1329 xfer->send.pay_len = 0;
1331 xfer->sc = (caddr_t)sdev;
1332 fp = &xfer->send.hdr;
1340 return xfer;
1346 struct fw_xfer *xfer;
1415 xfer = sbp_write_cmd(sdev, FWTCODE_WREQB, 0);
1416 if (xfer == NULL) {
1419 xfer->hand = sbp_mgm_callback;
1421 fp = &xfer->send.hdr;
1426 xfer->send.payload[0] = htonl(nid << 16);
1427 xfer->send.payload[1] = htonl(ocb->bus_addr & 0xffffffff);
1429 fw_asyreq(xfer->fc, -1, xfer);
1599 sbp_recv1(struct fw_xfer *xfer)
1615 ld = xfer->recv.buf;
1617 xfer->resp, xfer->recv.len, xfer->recv.off, ntohl(ld[0]), ntohl(ld[1]), ntohl(ld[2]), ntohl(ld[3]));
1621 sbp = (struct sbp_softc *)xfer->sc;
1623 if (xfer->resp != 0) {
1624 printf("sbp_recv: xfer->resp = %d\n", xfer->resp);
1627 if (xfer->recv.payload == NULL) {
1628 printf("sbp_recv: xfer->recv.payload == NULL\n");
1631 rfp = &xfer->recv.hdr;
1636 sbp_status = (struct sbp_status *)xfer->recv.payload;
1855 xfer->recv.pay_len = SBP_RECV_LEN;
1864 xfer->send.off = 0;
1865 sfp = (struct fw_pkt *)xfer->send.buf;
1867 xfer->dst = sfp->mode.wres.dst;
1868 xfer->spd = min(sdev->target->fwdev->speed, max_speed);
1869 xfer->hand = sbp_loginres_callback;
1876 fw_asyreq(xfer->fc, -1, xfer);
1879 STAILQ_INSERT_TAIL(&sbp->fwb.xferlist, xfer, link);
1884 sbp_recv(struct fw_xfer *xfer)
1888 sbp = (struct sbp_softc *)xfer->sc;
1890 sbp_recv1(xfer);
1981 /* pre-allocate xfer */
2071 struct fw_xfer *xfer, *next;
2085 STAILQ_FOREACH_SAFE(xfer, &target->xferlist, link, next) {
2086 fw_xfer_free_buf(xfer);