Lines Matching defs:vpo

29 __FBSDID("$FreeBSD: releng/10.2/sys/dev/ppbus/vpo.c 227814 2011-11-22 11:35:24Z attilio $");
93 dev = device_find_child(parent, "vpo", -1);
95 BUS_ADD_CHILD(parent, 0, "vpo", -1);
105 struct vpo_data *vpo;
108 vpo = DEVTOSOFTC(dev);
109 vpo->vpo_dev = dev;
114 if ((error = vpoio_probe(dev, &vpo->vpo_io)) == 0) {
115 vpo->vpo_isplus = 0;
118 } else if ((error = imm_probe(dev, &vpo->vpo_io)) == 0) {
119 vpo->vpo_isplus = 1;
137 struct vpo_data *vpo = DEVTOSOFTC(dev);
144 if (vpo->vpo_isplus) {
145 if ((error = imm_attach(&vpo->vpo_io)))
148 if ((error = vpoio_attach(&vpo->vpo_io)))
161 vpo->sim = cam_sim_alloc(vpo_action, vpo_poll, "vpo", vpo,
164 if (vpo->sim == NULL) {
170 if (xpt_bus_register(vpo->sim, dev, /*bus*/0) != CAM_SUCCESS) {
171 cam_sim_free(vpo->sim, /*free_devq*/TRUE);
184 vpo_intr(struct vpo_data *vpo, struct ccb_scsiio *csio)
191 if (vpo->vpo_isplus) {
192 errno = imm_do_scsi(&vpo->vpo_io, VP0_INITIATOR,
196 &vpo->vpo_stat, &vpo->vpo_count, &vpo->vpo_error);
198 errno = vpoio_do_scsi(&vpo->vpo_io, VP0_INITIATOR,
202 &vpo->vpo_stat, &vpo->vpo_count, &vpo->vpo_error);
207 errno, vpo->vpo_stat, vpo->vpo_count, vpo->vpo_error);
223 if (vpo->vpo_error) {
224 if (vpo->vpo_error != VP0_ESELECT_TIMEOUT)
225 device_printf(vpo->vpo_dev, "VP0 error/timeout (%d)\n",
226 vpo->vpo_error);
233 if (vpo->vpo_stat != SCSI_STATUS_OK) {
234 csio->scsi_status = vpo->vpo_stat;
237 if ((vpo->vpo_stat & SCSI_STATUS_CHECK_COND) != 0) {
239 vpo->vpo_sense.cmd.opcode = REQUEST_SENSE;
240 vpo->vpo_sense.cmd.length = csio->sense_len;
241 vpo->vpo_sense.cmd.control = 0;
243 if (vpo->vpo_isplus) {
244 errno = imm_do_scsi(&vpo->vpo_io, VP0_INITIATOR,
246 (char *)&vpo->vpo_sense.cmd,
247 sizeof(vpo->vpo_sense.cmd),
249 &vpo->vpo_sense.stat, &vpo->vpo_sense.count,
250 &vpo->vpo_error);
252 errno = vpoio_do_scsi(&vpo->vpo_io, VP0_INITIATOR,
254 (char *)&vpo->vpo_sense.cmd,
255 sizeof(vpo->vpo_sense.cmd),
257 &vpo->vpo_sense.stat, &vpo->vpo_sense.count,
258 &vpo->vpo_error);
264 errno, vpo->vpo_sense.stat, vpo->vpo_sense.count, vpo->vpo_error);
268 if (errno == 0 && vpo->vpo_sense.stat == SCSI_STATUS_OK) {
271 csio->sense_resid = csio->sense_len - vpo->vpo_sense.count;
276 for (i=0; i<vpo->vpo_sense.count; i++)
293 csio->resid = csio->dxfer_len - vpo->vpo_count;
300 struct vpo_data *vpo = (struct vpo_data *)sim->softc;
302 ppb_assert_locked(device_get_parent(vpo->vpo_dev));
311 device_printf(vpo->vpo_dev, "XPT_SCSI_IO (0x%x) request\n",
315 vpo_intr(vpo, csio);
328 device_printf(vpo->vpo_dev, "XPT_CALC_GEOMETRY (bs=%d,vs=%jd,c=%d,h=%d,spt=%d) request\n",
349 device_printf(vpo->vpo_dev, "XPT_RESET_BUS request\n");
352 if (vpo->vpo_isplus) {
353 if (imm_reset_bus(&vpo->vpo_io)) {
359 if (vpoio_reset_bus(&vpo->vpo_io)) {
375 device_printf(vpo->vpo_dev, "XPT_PATH_INQ request\n");
426 "vpo",
430 DRIVER_MODULE(vpo, ppbus, vpo_driver, vpo_devclass, 0, 0);
431 MODULE_DEPEND(vpo, ppbus, 1, 1, 1);
432 MODULE_DEPEND(vpo, cam, 1, 1, 1);