Lines Matching defs:cqr
267 * eer enabled DASD device. The presence of the cqr in device->eer_cqr
270 * that the cqr is currently in use, dasd_eer_snss cannot start a second
289 * If the parameter cqr is not NULL, the chain of requests will be searched
294 struct dasd_ccw_req *cqr,
305 /* go through cqr chain and count the valid sense data sets */
307 for (temp_cqr = cqr; temp_cqr; temp_cqr = temp_cqr->refers)
323 for (temp_cqr = cqr; temp_cqr; temp_cqr = temp_cqr->refers) {
338 struct dasd_ccw_req *cqr,
348 snss_rc = (cqr->status == DASD_CQR_DONE) ? 0 : -EIO;
367 dasd_eer_write_buffer(eerb, cqr->data, SNSS_DATA_SIZE);
378 void dasd_eer_write(struct dasd_device *device, struct dasd_ccw_req *cqr,
386 dasd_eer_write_standard_trigger(device, cqr, id);
394 dasd_eer_write_snss_trigger(device, cqr, id);
409 struct dasd_ccw_req *cqr;
411 cqr = device->eer_cqr;
412 if (!cqr) /* Device not eer enabled. */
421 cqr->status = DASD_CQR_QUEUED;
422 list_add(&cqr->devlist, &device->ccw_queue);
429 static void dasd_eer_snss_cb(struct dasd_ccw_req *cqr, void *data)
431 struct dasd_device *device = cqr->startdev;
434 dasd_eer_write(device, cqr, DASD_EER_STATECHANGE);
436 if (device->eer_cqr == cqr) {
441 cqr = NULL;
444 if (cqr)
452 dasd_sfree_request(cqr, device);
460 struct dasd_ccw_req *cqr = NULL;
477 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* SNSS */,
479 if (IS_ERR(cqr)) {
481 cqr = NULL;
485 cqr->startdev = device;
486 cqr->retries = 255;
487 cqr->expires = 10 * HZ;
488 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags);
489 set_bit(DASD_CQR_ALLOW_SLOCK, &cqr->flags);
491 ccw = cqr->cpaddr;
495 ccw->cda = (__u32)virt_to_phys(cqr->data);
497 cqr->buildclk = get_tod_clock();
498 cqr->status = DASD_CQR_FILLED;
499 cqr->callback = dasd_eer_snss_cb;
502 device->eer_cqr = cqr;
503 cqr = NULL;
509 if (cqr)
510 dasd_sfree_request(cqr, device);
520 struct dasd_ccw_req *cqr;
527 cqr = device->eer_cqr;
532 if (cqr && !in_use)
533 dasd_sfree_request(cqr, device);