• Home
  • Raw
  • Download

Lines Matching refs:pc

65 	struct ide_atapi_pc *pc = drive->pc;  in ide_floppy_callback()  local
66 struct request *rq = pc->rq; in ide_floppy_callback()
67 int uptodate = pc->error ? 0 : 1; in ide_floppy_callback()
71 if (drive->failed_pc == pc) in ide_floppy_callback()
74 if (pc->c[0] == GPCMD_READ_10 || pc->c[0] == GPCMD_WRITE_10 || in ide_floppy_callback()
77 else if (pc->c[0] == GPCMD_REQUEST_SENSE) { in ide_floppy_callback()
81 if (!pc->error) { in ide_floppy_callback()
107 struct ide_atapi_pc *pc) in ide_floppy_report_error() argument
117 floppy->drive->name, pc->c[0], floppy->sense_key, in ide_floppy_report_error()
124 struct ide_atapi_pc *pc) in ide_floppy_issue_pc() argument
129 pc->c[0] != GPCMD_REQUEST_SENSE) in ide_floppy_issue_pc()
130 drive->failed_pc = pc; in ide_floppy_issue_pc()
133 drive->pc = pc; in ide_floppy_issue_pc()
135 if (pc->retries > IDEFLOPPY_MAX_PC_RETRIES) { in ide_floppy_issue_pc()
138 if (!(pc->flags & PC_FLAG_SUPPRESS_ERROR)) in ide_floppy_issue_pc()
139 ide_floppy_report_error(floppy, pc); in ide_floppy_issue_pc()
142 pc->error = IDE_DRV_ERROR_GENERAL; in ide_floppy_issue_pc()
150 ide_debug_log(IDE_DBG_FUNC, "retry #%d", pc->retries); in ide_floppy_issue_pc()
152 pc->retries++; in ide_floppy_issue_pc()
157 void ide_floppy_create_read_capacity_cmd(struct ide_atapi_pc *pc) in ide_floppy_create_read_capacity_cmd() argument
159 ide_init_pc(pc); in ide_floppy_create_read_capacity_cmd()
160 pc->c[0] = GPCMD_READ_FORMAT_CAPACITIES; in ide_floppy_create_read_capacity_cmd()
161 pc->c[7] = 255; in ide_floppy_create_read_capacity_cmd()
162 pc->c[8] = 255; in ide_floppy_create_read_capacity_cmd()
163 pc->req_xfer = 255; in ide_floppy_create_read_capacity_cmd()
167 void ide_floppy_create_mode_sense_cmd(struct ide_atapi_pc *pc, u8 page_code) in ide_floppy_create_mode_sense_cmd() argument
171 ide_init_pc(pc); in ide_floppy_create_mode_sense_cmd()
172 pc->c[0] = GPCMD_MODE_SENSE_10; in ide_floppy_create_mode_sense_cmd()
173 pc->c[1] = 0; in ide_floppy_create_mode_sense_cmd()
174 pc->c[2] = page_code; in ide_floppy_create_mode_sense_cmd()
186 put_unaligned(cpu_to_be16(length), (u16 *) &pc->c[7]); in ide_floppy_create_mode_sense_cmd()
187 pc->req_xfer = length; in ide_floppy_create_mode_sense_cmd()
191 struct ide_atapi_pc *pc, struct request *rq, in idefloppy_create_rw_cmd() argument
201 ide_init_pc(pc); in idefloppy_create_rw_cmd()
202 pc->c[0] = cmd == READ ? GPCMD_READ_10 : GPCMD_WRITE_10; in idefloppy_create_rw_cmd()
203 put_unaligned(cpu_to_be16(blocks), (unsigned short *)&pc->c[7]); in idefloppy_create_rw_cmd()
204 put_unaligned(cpu_to_be32(block), (unsigned int *) &pc->c[2]); in idefloppy_create_rw_cmd()
206 memcpy(rq->cmd, pc->c, 12); in idefloppy_create_rw_cmd()
208 pc->rq = rq; in idefloppy_create_rw_cmd()
210 pc->flags |= PC_FLAG_WRITING; in idefloppy_create_rw_cmd()
212 pc->flags |= PC_FLAG_DMA_OK; in idefloppy_create_rw_cmd()
216 struct ide_atapi_pc *pc, struct request *rq) in idefloppy_blockpc_cmd() argument
218 ide_init_pc(pc); in idefloppy_blockpc_cmd()
219 memcpy(pc->c, rq->cmd, sizeof(pc->c)); in idefloppy_blockpc_cmd()
220 pc->rq = rq; in idefloppy_blockpc_cmd()
222 pc->flags |= PC_FLAG_DMA_OK; in idefloppy_blockpc_cmd()
224 pc->flags |= PC_FLAG_WRITING; in idefloppy_blockpc_cmd()
233 struct ide_atapi_pc *pc; in ide_floppy_do_request() local
265 pc = &floppy->queued_pc; in ide_floppy_do_request()
266 idefloppy_create_rw_cmd(drive, pc, rq, (unsigned long)block); in ide_floppy_do_request()
270 pc = (struct ide_atapi_pc *)rq->special; in ide_floppy_do_request()
273 pc = &floppy->queued_pc; in ide_floppy_do_request()
274 idefloppy_blockpc_cmd(floppy, pc, rq); in ide_floppy_do_request()
294 pc->rq = rq; in ide_floppy_do_request()
296 return ide_floppy_issue_pc(drive, &cmd, pc); in ide_floppy_do_request()
310 struct ide_atapi_pc *pc) in ide_floppy_get_flexible_disk_page() argument
319 ide_floppy_create_mode_sense_cmd(pc, IDEFLOPPY_FLEXIBLE_DISK_PAGE); in ide_floppy_get_flexible_disk_page()
321 if (ide_queue_pc_tail(drive, disk, pc, buf, pc->req_xfer)) { in ide_floppy_get_flexible_disk_page()
376 struct ide_atapi_pc pc; in ide_floppy_get_capacity() local
389 ide_floppy_create_read_capacity_cmd(&pc); in ide_floppy_get_capacity()
390 if (ide_queue_pc_tail(drive, disk, &pc, pc_buf, pc.req_xfer)) { in ide_floppy_get_capacity()
469 (void) ide_floppy_get_flexible_disk_page(drive, &pc); in ide_floppy_get_capacity()