Lines Matching refs:cqr
293 struct dasd_ccw_req *cqr, in dasd_eer_write_standard_trigger() argument
306 for (temp_cqr = cqr; temp_cqr; temp_cqr = temp_cqr->refers) in dasd_eer_write_standard_trigger()
322 for (temp_cqr = cqr; temp_cqr; temp_cqr = temp_cqr->refers) { in dasd_eer_write_standard_trigger()
337 struct dasd_ccw_req *cqr, in dasd_eer_write_snss_trigger() argument
347 snss_rc = (cqr->status == DASD_CQR_DONE) ? 0 : -EIO; in dasd_eer_write_snss_trigger()
366 dasd_eer_write_buffer(eerb, cqr->data, SNSS_DATA_SIZE); in dasd_eer_write_snss_trigger()
377 void dasd_eer_write(struct dasd_device *device, struct dasd_ccw_req *cqr, in dasd_eer_write() argument
385 dasd_eer_write_standard_trigger(device, cqr, id); in dasd_eer_write()
391 dasd_eer_write_snss_trigger(device, cqr, id); in dasd_eer_write()
406 struct dasd_ccw_req *cqr; in dasd_eer_snss() local
408 cqr = device->eer_cqr; in dasd_eer_snss()
409 if (!cqr) /* Device not eer enabled. */ in dasd_eer_snss()
418 cqr->status = DASD_CQR_QUEUED; in dasd_eer_snss()
419 list_add(&cqr->devlist, &device->ccw_queue); in dasd_eer_snss()
426 static void dasd_eer_snss_cb(struct dasd_ccw_req *cqr, void *data) in dasd_eer_snss_cb() argument
428 struct dasd_device *device = cqr->startdev; in dasd_eer_snss_cb()
431 dasd_eer_write(device, cqr, DASD_EER_STATECHANGE); in dasd_eer_snss_cb()
433 if (device->eer_cqr == cqr) { in dasd_eer_snss_cb()
438 cqr = NULL; in dasd_eer_snss_cb()
441 if (cqr) in dasd_eer_snss_cb()
449 dasd_kfree_request(cqr, device); in dasd_eer_snss_cb()
457 struct dasd_ccw_req *cqr; in dasd_eer_enable() local
467 cqr = dasd_kmalloc_request(DASD_ECKD_MAGIC, 1 /* SNSS */, in dasd_eer_enable()
469 if (IS_ERR(cqr)) in dasd_eer_enable()
472 cqr->startdev = device; in dasd_eer_enable()
473 cqr->retries = 255; in dasd_eer_enable()
474 cqr->expires = 10 * HZ; in dasd_eer_enable()
475 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eer_enable()
476 set_bit(DASD_CQR_ALLOW_SLOCK, &cqr->flags); in dasd_eer_enable()
478 ccw = cqr->cpaddr; in dasd_eer_enable()
482 ccw->cda = (__u32)(addr_t) cqr->data; in dasd_eer_enable()
484 cqr->buildclk = get_clock(); in dasd_eer_enable()
485 cqr->status = DASD_CQR_FILLED; in dasd_eer_enable()
486 cqr->callback = dasd_eer_snss_cb; in dasd_eer_enable()
490 device->eer_cqr = cqr; in dasd_eer_enable()
491 cqr = NULL; in dasd_eer_enable()
494 if (cqr) in dasd_eer_enable()
495 dasd_kfree_request(cqr, device); in dasd_eer_enable()
504 struct dasd_ccw_req *cqr; in dasd_eer_disable() local
511 cqr = device->eer_cqr; in dasd_eer_disable()
516 if (cqr && !in_use) in dasd_eer_disable()
517 dasd_kfree_request(cqr, device); in dasd_eer_disable()