Lines Matching refs:command
44 static void ipsd_dump_block_complete(ips_command_t *command);
185 ips_command_t *command; in ipsd_dump() local
200 if (ips_get_free_cmd(sc, &command, 0) != 0) { in ipsd_dump()
205 command->data_dmatag = sc->sg_dmatag; in ipsd_dump()
206 command->callback = ipsd_dump_block_complete; in ipsd_dump()
208 command_struct = (ips_io_cmd *)command->command_buffer; in ipsd_dump()
209 command_struct->id = command->id; in ipsd_dump()
221 if (bus_dmamap_load(command->data_dmatag, command->data_dmamap, in ipsd_dump()
222 va, len, ipsd_dump_map_sg, command, BUS_DMA_NOWAIT) != 0) { in ipsd_dump()
226 if (COMMAND_ERROR(command)) { in ipsd_dump()
236 ips_insert_free_cmd(command->sc, command); in ipsd_dump()
244 ips_command_t *command; in ipsd_dump_map_sg() local
249 command = (ips_command_t *)arg; in ipsd_dump_map_sg()
250 sc = command->sc; in ipsd_dump_map_sg()
255 ips_set_error(command, error); in ipsd_dump_map_sg()
259 command_struct = (ips_io_cmd *)command->command_buffer; in ipsd_dump_map_sg()
264 command->command_buffer + IPS_COMMAND_LEN); in ipsd_dump_map_sg()
271 (uint32_t)command->command_phys_addr + IPS_COMMAND_LEN; in ipsd_dump_map_sg()
272 command_struct->command = IPS_SG_WRITE_CMD; in ipsd_dump_map_sg()
277 command_struct->command = IPS_WRITE_CMD; in ipsd_dump_map_sg()
282 bus_dmamap_sync(sc->command_dmatag, command->command_dmamap, in ipsd_dump_map_sg()
284 bus_dmamap_sync(command->data_dmatag, command->data_dmamap, in ipsd_dump_map_sg()
287 sc->ips_issue_cmd(command); in ipsd_dump_map_sg()
288 sc->ips_poll_cmd(command); in ipsd_dump_map_sg()
293 ipsd_dump_block_complete(ips_command_t *command) in ipsd_dump_block_complete() argument
296 if (COMMAND_ERROR(command)) in ipsd_dump_block_complete()
298 command->status.value); in ipsd_dump_block_complete()
300 bus_dmamap_sync(command->data_dmatag, command->data_dmamap, in ipsd_dump_block_complete()
302 bus_dmamap_unload(command->data_dmatag, command->data_dmamap); in ipsd_dump_block_complete()