Lines Matching refs:cqr
294 struct dasd_ccw_req *cqr, in dasd_eer_write_standard_trigger() argument
307 for (temp_cqr = cqr; temp_cqr; temp_cqr = temp_cqr->refers) in dasd_eer_write_standard_trigger()
323 for (temp_cqr = cqr; temp_cqr; temp_cqr = temp_cqr->refers) { in dasd_eer_write_standard_trigger()
338 struct dasd_ccw_req *cqr, in dasd_eer_write_snss_trigger() argument
348 snss_rc = (cqr->status == DASD_CQR_DONE) ? 0 : -EIO; in dasd_eer_write_snss_trigger()
367 dasd_eer_write_buffer(eerb, cqr->data, SNSS_DATA_SIZE); in dasd_eer_write_snss_trigger()
378 void dasd_eer_write(struct dasd_device *device, struct dasd_ccw_req *cqr, in dasd_eer_write() argument
386 dasd_eer_write_standard_trigger(device, cqr, id); in dasd_eer_write()
393 dasd_eer_write_snss_trigger(device, cqr, id); in dasd_eer_write()
408 struct dasd_ccw_req *cqr; in dasd_eer_snss() local
410 cqr = device->eer_cqr; in dasd_eer_snss()
411 if (!cqr) /* Device not eer enabled. */ in dasd_eer_snss()
420 cqr->status = DASD_CQR_QUEUED; in dasd_eer_snss()
421 list_add(&cqr->devlist, &device->ccw_queue); in dasd_eer_snss()
428 static void dasd_eer_snss_cb(struct dasd_ccw_req *cqr, void *data) in dasd_eer_snss_cb() argument
430 struct dasd_device *device = cqr->startdev; in dasd_eer_snss_cb()
433 dasd_eer_write(device, cqr, DASD_EER_STATECHANGE); in dasd_eer_snss_cb()
435 if (device->eer_cqr == cqr) { in dasd_eer_snss_cb()
440 cqr = NULL; in dasd_eer_snss_cb()
443 if (cqr) in dasd_eer_snss_cb()
451 dasd_sfree_request(cqr, device); in dasd_eer_snss_cb()
459 struct dasd_ccw_req *cqr = NULL; in dasd_eer_enable() local
476 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* SNSS */, in dasd_eer_enable()
478 if (IS_ERR(cqr)) { in dasd_eer_enable()
480 cqr = NULL; in dasd_eer_enable()
484 cqr->startdev = device; in dasd_eer_enable()
485 cqr->retries = 255; in dasd_eer_enable()
486 cqr->expires = 10 * HZ; in dasd_eer_enable()
487 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eer_enable()
488 set_bit(DASD_CQR_ALLOW_SLOCK, &cqr->flags); in dasd_eer_enable()
490 ccw = cqr->cpaddr; in dasd_eer_enable()
494 ccw->cda = (__u32)(addr_t) cqr->data; in dasd_eer_enable()
496 cqr->buildclk = get_tod_clock(); in dasd_eer_enable()
497 cqr->status = DASD_CQR_FILLED; in dasd_eer_enable()
498 cqr->callback = dasd_eer_snss_cb; in dasd_eer_enable()
501 device->eer_cqr = cqr; in dasd_eer_enable()
502 cqr = NULL; in dasd_eer_enable()
508 if (cqr) in dasd_eer_enable()
509 dasd_sfree_request(cqr, device); in dasd_eer_enable()
519 struct dasd_ccw_req *cqr; in dasd_eer_disable() local
526 cqr = device->eer_cqr; in dasd_eer_disable()
531 if (cqr && !in_use) in dasd_eer_disable()
532 dasd_sfree_request(cqr, device); in dasd_eer_disable()