Lines Matching refs:cqr

98 	struct dasd_ccw_req cqr;  member
108 struct dasd_ccw_req cqr; member
848 struct dasd_ccw_req *cqr, in dasd_eckd_fill_rcd_cqr() argument
862 ccw = cqr->cpaddr; in dasd_eckd_fill_rcd_cqr()
867 cqr->magic = DASD_ECKD_MAGIC; in dasd_eckd_fill_rcd_cqr()
869 cqr->startdev = device; in dasd_eckd_fill_rcd_cqr()
870 cqr->memdev = device; in dasd_eckd_fill_rcd_cqr()
871 cqr->block = NULL; in dasd_eckd_fill_rcd_cqr()
872 cqr->expires = 10*HZ; in dasd_eckd_fill_rcd_cqr()
873 cqr->lpm = lpm; in dasd_eckd_fill_rcd_cqr()
874 cqr->retries = 256; in dasd_eckd_fill_rcd_cqr()
875 cqr->buildclk = get_tod_clock(); in dasd_eckd_fill_rcd_cqr()
876 cqr->status = DASD_CQR_FILLED; in dasd_eckd_fill_rcd_cqr()
877 set_bit(DASD_CQR_VERIFY_PATH, &cqr->flags); in dasd_eckd_fill_rcd_cqr()
886 static void read_conf_cb(struct dasd_ccw_req *cqr, void *data) in read_conf_cb() argument
891 if (cqr->status != DASD_CQR_DONE) { in read_conf_cb()
892 ccw = cqr->cpaddr; in read_conf_cb()
901 dasd_wakeup_cb(cqr, data); in read_conf_cb()
905 struct dasd_ccw_req *cqr, in dasd_eckd_read_conf_immediately() argument
919 dasd_eckd_fill_rcd_cqr(device, cqr, rcd_buffer, lpm); in dasd_eckd_read_conf_immediately()
920 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_read_conf_immediately()
921 set_bit(DASD_CQR_ALLOW_SLOCK, &cqr->flags); in dasd_eckd_read_conf_immediately()
922 cqr->retries = 5; in dasd_eckd_read_conf_immediately()
923 cqr->callback = read_conf_cb; in dasd_eckd_read_conf_immediately()
924 rc = dasd_sleep_on_immediatly(cqr); in dasd_eckd_read_conf_immediately()
935 struct dasd_ccw_req *cqr; in dasd_eckd_read_conf_lpm() local
951 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* RCD */, in dasd_eckd_read_conf_lpm()
954 if (IS_ERR(cqr)) { in dasd_eckd_read_conf_lpm()
960 dasd_eckd_fill_rcd_cqr(device, cqr, rcd_buf, lpm); in dasd_eckd_read_conf_lpm()
961 cqr->callback = read_conf_cb; in dasd_eckd_read_conf_lpm()
962 ret = dasd_sleep_on(cqr); in dasd_eckd_read_conf_lpm()
966 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_read_conf_lpm()
1214 memset(&data->cqr, 0, sizeof(data->cqr)); in rebuild_device_uid()
1215 data->cqr.cpaddr = &data->ccw; in rebuild_device_uid()
1216 rc = dasd_eckd_read_conf_immediately(device, &data->cqr, in rebuild_device_uid()
1274 memset(&data->cqr, 0, sizeof(data->cqr)); in do_path_verification_work()
1275 data->cqr.cpaddr = &data->ccw; in do_path_verification_work()
1276 rc = dasd_eckd_read_conf_immediately(device, &data->cqr, in do_path_verification_work()
1440 struct dasd_ccw_req *cqr; in dasd_eckd_read_features() local
1447 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ + 1 /* RSSD */, in dasd_eckd_read_features()
1451 if (IS_ERR(cqr)) { in dasd_eckd_read_features()
1454 return PTR_ERR(cqr); in dasd_eckd_read_features()
1456 cqr->startdev = device; in dasd_eckd_read_features()
1457 cqr->memdev = device; in dasd_eckd_read_features()
1458 cqr->block = NULL; in dasd_eckd_read_features()
1459 cqr->retries = 256; in dasd_eckd_read_features()
1460 cqr->expires = 10 * HZ; in dasd_eckd_read_features()
1463 prssdp = (struct dasd_psf_prssd_data *) cqr->data; in dasd_eckd_read_features()
1469 ccw = cqr->cpaddr; in dasd_eckd_read_features()
1484 cqr->buildclk = get_tod_clock(); in dasd_eckd_read_features()
1485 cqr->status = DASD_CQR_FILLED; in dasd_eckd_read_features()
1486 rc = dasd_sleep_on(cqr); in dasd_eckd_read_features()
1488 prssdp = (struct dasd_psf_prssd_data *) cqr->data; in dasd_eckd_read_features()
1495 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_read_features()
1506 struct dasd_ccw_req *cqr; in dasd_eckd_build_psf_ssc() local
1510 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ , in dasd_eckd_build_psf_ssc()
1514 if (IS_ERR(cqr)) { in dasd_eckd_build_psf_ssc()
1517 return cqr; in dasd_eckd_build_psf_ssc()
1519 psf_ssc_data = (struct dasd_psf_ssc_data *)cqr->data; in dasd_eckd_build_psf_ssc()
1526 ccw = cqr->cpaddr; in dasd_eckd_build_psf_ssc()
1531 cqr->startdev = device; in dasd_eckd_build_psf_ssc()
1532 cqr->memdev = device; in dasd_eckd_build_psf_ssc()
1533 cqr->block = NULL; in dasd_eckd_build_psf_ssc()
1534 cqr->retries = 256; in dasd_eckd_build_psf_ssc()
1535 cqr->expires = 10*HZ; in dasd_eckd_build_psf_ssc()
1536 cqr->buildclk = get_tod_clock(); in dasd_eckd_build_psf_ssc()
1537 cqr->status = DASD_CQR_FILLED; in dasd_eckd_build_psf_ssc()
1538 return cqr; in dasd_eckd_build_psf_ssc()
1550 struct dasd_ccw_req *cqr; in dasd_eckd_psf_ssc() local
1553 cqr = dasd_eckd_build_psf_ssc(device, enable_pav); in dasd_eckd_psf_ssc()
1554 if (IS_ERR(cqr)) in dasd_eckd_psf_ssc()
1555 return PTR_ERR(cqr); in dasd_eckd_psf_ssc()
1561 cqr->flags |= flags; in dasd_eckd_psf_ssc()
1563 rc = dasd_sleep_on(cqr); in dasd_eckd_psf_ssc()
1567 else if (cqr->intrc == -EAGAIN) in dasd_eckd_psf_ssc()
1570 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_psf_ssc()
1831 struct dasd_ccw_req *cqr; in dasd_eckd_analysis_ccw() local
1840 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, datasize, device); in dasd_eckd_analysis_ccw()
1841 if (IS_ERR(cqr)) in dasd_eckd_analysis_ccw()
1842 return cqr; in dasd_eckd_analysis_ccw()
1843 ccw = cqr->cpaddr; in dasd_eckd_analysis_ccw()
1845 define_extent(ccw++, cqr->data, 0, 2, in dasd_eckd_analysis_ccw()
1847 LO_data = cqr->data + sizeof(struct DE_eckd_data); in dasd_eckd_analysis_ccw()
1875 cqr->block = NULL; in dasd_eckd_analysis_ccw()
1876 cqr->startdev = device; in dasd_eckd_analysis_ccw()
1877 cqr->memdev = device; in dasd_eckd_analysis_ccw()
1878 cqr->retries = 255; in dasd_eckd_analysis_ccw()
1879 cqr->buildclk = get_tod_clock(); in dasd_eckd_analysis_ccw()
1880 cqr->status = DASD_CQR_FILLED; in dasd_eckd_analysis_ccw()
1881 return cqr; in dasd_eckd_analysis_ccw()
2356 struct dasd_ccw_req *cqr, *n; in dasd_eckd_format_device() local
2400 cqr = dasd_eckd_build_format(base, fdata, enable_pav); in dasd_eckd_format_device()
2401 list_add(&cqr->blocklist, &format_queue); in dasd_eckd_format_device()
2418 cqr = dasd_eckd_build_format(base, fdata, enable_pav); in dasd_eckd_format_device()
2419 if (IS_ERR(cqr)) { in dasd_eckd_format_device()
2420 if (PTR_ERR(cqr) == -ENOMEM) { in dasd_eckd_format_device()
2429 return PTR_ERR(cqr); in dasd_eckd_format_device()
2431 list_add(&cqr->blocklist, &format_queue); in dasd_eckd_format_device()
2440 list_for_each_entry_safe(cqr, n, &format_queue, blocklist) { in dasd_eckd_format_device()
2441 device = cqr->startdev; in dasd_eckd_format_device()
2443 if (cqr->status == DASD_CQR_FAILED) in dasd_eckd_format_device()
2445 list_del_init(&cqr->blocklist); in dasd_eckd_format_device()
2446 dasd_sfree_request(cqr, device); in dasd_eckd_format_device()
2463 static void dasd_eckd_handle_terminated_request(struct dasd_ccw_req *cqr) in dasd_eckd_handle_terminated_request() argument
2465 if (cqr->retries < 0) { in dasd_eckd_handle_terminated_request()
2466 cqr->status = DASD_CQR_FAILED; in dasd_eckd_handle_terminated_request()
2469 cqr->status = DASD_CQR_FILLED; in dasd_eckd_handle_terminated_request()
2470 if (cqr->block && (cqr->startdev != cqr->block->base)) { in dasd_eckd_handle_terminated_request()
2471 dasd_eckd_reset_ccw_to_base_io(cqr); in dasd_eckd_handle_terminated_request()
2472 cqr->startdev = cqr->block->base; in dasd_eckd_handle_terminated_request()
2473 cqr->lpm = cqr->block->base->path_data.opm; in dasd_eckd_handle_terminated_request()
2478 dasd_eckd_erp_action(struct dasd_ccw_req * cqr) in dasd_eckd_erp_action() argument
2480 struct dasd_device *device = (struct dasd_device *) cqr->startdev; in dasd_eckd_erp_action()
2497 dasd_eckd_erp_postaction(struct dasd_ccw_req * cqr) in dasd_eckd_erp_postaction() argument
2503 struct dasd_ccw_req *cqr, in dasd_eckd_check_for_device_change() argument
2549 if (!cqr && !(sense[27] & DASD_SENSE_BIT_0) && in dasd_eckd_check_for_device_change()
2586 struct dasd_ccw_req *cqr; in dasd_eckd_build_cp_cmd_single() local
2647 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, datasize, in dasd_eckd_build_cp_cmd_single()
2649 if (IS_ERR(cqr)) in dasd_eckd_build_cp_cmd_single()
2650 return cqr; in dasd_eckd_build_cp_cmd_single()
2651 ccw = cqr->cpaddr; in dasd_eckd_build_cp_cmd_single()
2654 if (prefix(ccw++, cqr->data, first_trk, in dasd_eckd_build_cp_cmd_single()
2659 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_cmd_single()
2662 idaws = (unsigned long *) (cqr->data + in dasd_eckd_build_cp_cmd_single()
2665 if (define_extent(ccw++, cqr->data, first_trk, in dasd_eckd_build_cp_cmd_single()
2670 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_cmd_single()
2673 idaws = (unsigned long *) (cqr->data + in dasd_eckd_build_cp_cmd_single()
2742 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_build_cp_cmd_single()
2743 cqr->startdev = startdev; in dasd_eckd_build_cp_cmd_single()
2744 cqr->memdev = startdev; in dasd_eckd_build_cp_cmd_single()
2745 cqr->block = block; in dasd_eckd_build_cp_cmd_single()
2746 cqr->expires = startdev->default_expires * HZ; /* default 5 minutes */ in dasd_eckd_build_cp_cmd_single()
2747 cqr->lpm = startdev->path_data.ppm; in dasd_eckd_build_cp_cmd_single()
2748 cqr->retries = startdev->default_retries; in dasd_eckd_build_cp_cmd_single()
2749 cqr->buildclk = get_tod_clock(); in dasd_eckd_build_cp_cmd_single()
2750 cqr->status = DASD_CQR_FILLED; in dasd_eckd_build_cp_cmd_single()
2751 return cqr; in dasd_eckd_build_cp_cmd_single()
2768 struct dasd_ccw_req *cqr; in dasd_eckd_build_cp_cmd_track() local
2810 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, datasize, in dasd_eckd_build_cp_cmd_track()
2812 if (IS_ERR(cqr)) in dasd_eckd_build_cp_cmd_track()
2813 return cqr; in dasd_eckd_build_cp_cmd_track()
2814 ccw = cqr->cpaddr; in dasd_eckd_build_cp_cmd_track()
2822 if (prefix_LRE(ccw++, cqr->data, first_trk, in dasd_eckd_build_cp_cmd_track()
2830 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_cmd_track()
2841 idaws = (unsigned long *) (cqr->data + sizeof(struct PFX_eckd_data)); in dasd_eckd_build_cp_cmd_track()
2879 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_cmd_track()
2885 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_cmd_track()
2917 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_build_cp_cmd_track()
2918 cqr->startdev = startdev; in dasd_eckd_build_cp_cmd_track()
2919 cqr->memdev = startdev; in dasd_eckd_build_cp_cmd_track()
2920 cqr->block = block; in dasd_eckd_build_cp_cmd_track()
2921 cqr->expires = startdev->default_expires * HZ; /* default 5 minutes */ in dasd_eckd_build_cp_cmd_track()
2922 cqr->lpm = startdev->path_data.ppm; in dasd_eckd_build_cp_cmd_track()
2923 cqr->retries = startdev->default_retries; in dasd_eckd_build_cp_cmd_track()
2924 cqr->buildclk = get_tod_clock(); in dasd_eckd_build_cp_cmd_track()
2925 cqr->status = DASD_CQR_FILLED; in dasd_eckd_build_cp_cmd_track()
2926 return cqr; in dasd_eckd_build_cp_cmd_track()
3073 struct dasd_ccw_req *cqr; in dasd_eckd_build_cp_tpm_track() local
3119 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 0, itcw_size, startdev); in dasd_eckd_build_cp_tpm_track()
3120 if (IS_ERR(cqr)) in dasd_eckd_build_cp_tpm_track()
3121 return cqr; in dasd_eckd_build_cp_tpm_track()
3130 itcw = itcw_init(cqr->data, itcw_size, itcw_op, 0, ctidaw, 0); in dasd_eckd_build_cp_tpm_track()
3135 cqr->cpaddr = itcw_get_tcw(itcw); in dasd_eckd_build_cp_tpm_track()
3209 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_build_cp_tpm_track()
3210 cqr->cpmode = 1; in dasd_eckd_build_cp_tpm_track()
3211 cqr->startdev = startdev; in dasd_eckd_build_cp_tpm_track()
3212 cqr->memdev = startdev; in dasd_eckd_build_cp_tpm_track()
3213 cqr->block = block; in dasd_eckd_build_cp_tpm_track()
3214 cqr->expires = startdev->default_expires * HZ; /* default 5 minutes */ in dasd_eckd_build_cp_tpm_track()
3215 cqr->lpm = startdev->path_data.ppm; in dasd_eckd_build_cp_tpm_track()
3216 cqr->retries = startdev->default_retries; in dasd_eckd_build_cp_tpm_track()
3217 cqr->buildclk = get_tod_clock(); in dasd_eckd_build_cp_tpm_track()
3218 cqr->status = DASD_CQR_FILLED; in dasd_eckd_build_cp_tpm_track()
3219 return cqr; in dasd_eckd_build_cp_tpm_track()
3221 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_tpm_track()
3240 struct dasd_ccw_req *cqr; in dasd_eckd_build_cp() local
3271 cqr = NULL; in dasd_eckd_build_cp()
3276 cqr = dasd_eckd_build_cp_tpm_track(startdev, block, req, in dasd_eckd_build_cp()
3281 if (IS_ERR(cqr) && (PTR_ERR(cqr) != -EAGAIN) && in dasd_eckd_build_cp()
3282 (PTR_ERR(cqr) != -ENOMEM)) in dasd_eckd_build_cp()
3283 cqr = NULL; in dasd_eckd_build_cp()
3287 cqr = dasd_eckd_build_cp_cmd_track(startdev, block, req, in dasd_eckd_build_cp()
3292 if (IS_ERR(cqr) && (PTR_ERR(cqr) != -EAGAIN) && in dasd_eckd_build_cp()
3293 (PTR_ERR(cqr) != -ENOMEM)) in dasd_eckd_build_cp()
3294 cqr = NULL; in dasd_eckd_build_cp()
3296 if (!cqr) in dasd_eckd_build_cp()
3297 cqr = dasd_eckd_build_cp_cmd_single(startdev, block, req, in dasd_eckd_build_cp()
3302 return cqr; in dasd_eckd_build_cp()
3311 struct dasd_ccw_req *cqr; in dasd_raw_build_cp() local
3341 cqr = ERR_PTR(-EINVAL); in dasd_raw_build_cp()
3356 cqr = ERR_PTR(-EINVAL); in dasd_raw_build_cp()
3380 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, in dasd_raw_build_cp()
3382 if (IS_ERR(cqr)) in dasd_raw_build_cp()
3384 ccw = cqr->cpaddr; in dasd_raw_build_cp()
3386 if (prefix_LRE(ccw++, cqr->data, first_trk, last_trk, cmd, in dasd_raw_build_cp()
3392 dasd_sfree_request(cqr, startdev); in dasd_raw_build_cp()
3393 cqr = ERR_PTR(-EAGAIN); in dasd_raw_build_cp()
3397 idaws = (unsigned long *)(cqr->data + pfx_datasize); in dasd_raw_build_cp()
3437 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_raw_build_cp()
3438 cqr->startdev = startdev; in dasd_raw_build_cp()
3439 cqr->memdev = startdev; in dasd_raw_build_cp()
3440 cqr->block = block; in dasd_raw_build_cp()
3441 cqr->expires = startdev->default_expires * HZ; in dasd_raw_build_cp()
3442 cqr->lpm = startdev->path_data.ppm; in dasd_raw_build_cp()
3443 cqr->retries = startdev->default_retries; in dasd_raw_build_cp()
3444 cqr->buildclk = get_tod_clock(); in dasd_raw_build_cp()
3445 cqr->status = DASD_CQR_FILLED; in dasd_raw_build_cp()
3447 if (IS_ERR(cqr) && PTR_ERR(cqr) != -EAGAIN) in dasd_raw_build_cp()
3448 cqr = NULL; in dasd_raw_build_cp()
3450 return cqr; in dasd_raw_build_cp()
3455 dasd_eckd_free_cp(struct dasd_ccw_req *cqr, struct request *req) in dasd_eckd_free_cp() argument
3468 private = (struct dasd_eckd_private *) cqr->block->base->private; in dasd_eckd_free_cp()
3469 blksize = cqr->block->bp_block; in dasd_eckd_free_cp()
3471 recid = blk_rq_pos(req) >> cqr->block->s2b_shift; in dasd_eckd_free_cp()
3472 ccw = cqr->cpaddr; in dasd_eckd_free_cp()
3501 status = cqr->status == DASD_CQR_DONE; in dasd_eckd_free_cp()
3502 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_free_cp()
3513 void dasd_eckd_reset_ccw_to_base_io(struct dasd_ccw_req *cqr) in dasd_eckd_reset_ccw_to_base_io() argument
3521 if (cqr->cpmode == 1) { in dasd_eckd_reset_ccw_to_base_io()
3522 tcw = cqr->cpaddr; in dasd_eckd_reset_ccw_to_base_io()
3529 ccw = cqr->cpaddr; in dasd_eckd_reset_ccw_to_base_io()
3530 pfxdata = cqr->data; in dasd_eckd_reset_ccw_to_base_io()
3547 struct dasd_ccw_req *cqr; in dasd_eckd_build_alias_cp() local
3559 cqr = dasd_raw_build_cp(startdev, block, req); in dasd_eckd_build_alias_cp()
3561 cqr = dasd_eckd_build_cp(startdev, block, req); in dasd_eckd_build_alias_cp()
3562 if (IS_ERR(cqr)) in dasd_eckd_build_alias_cp()
3565 return cqr; in dasd_eckd_build_alias_cp()
3568 static int dasd_eckd_free_alias_cp(struct dasd_ccw_req *cqr, in dasd_eckd_free_alias_cp() argument
3574 spin_lock_irqsave(get_ccwdev_lock(cqr->memdev->cdev), flags); in dasd_eckd_free_alias_cp()
3575 private = (struct dasd_eckd_private *) cqr->memdev->private; in dasd_eckd_free_alias_cp()
3577 spin_unlock_irqrestore(get_ccwdev_lock(cqr->memdev->cdev), flags); in dasd_eckd_free_alias_cp()
3578 return dasd_eckd_free_cp(cqr, req); in dasd_eckd_free_alias_cp()
3613 struct dasd_ccw_req *cqr; in dasd_eckd_release() local
3622 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1, 32, device); in dasd_eckd_release()
3623 if (IS_ERR(cqr)) { in dasd_eckd_release()
3626 cqr = &dasd_reserve_req->cqr; in dasd_eckd_release()
3627 memset(cqr, 0, sizeof(*cqr)); in dasd_eckd_release()
3630 cqr->cpaddr = &dasd_reserve_req->ccw; in dasd_eckd_release()
3631 cqr->data = &dasd_reserve_req->data; in dasd_eckd_release()
3632 cqr->magic = DASD_ECKD_MAGIC; in dasd_eckd_release()
3634 ccw = cqr->cpaddr; in dasd_eckd_release()
3638 ccw->cda = (__u32)(addr_t) cqr->data; in dasd_eckd_release()
3639 cqr->startdev = device; in dasd_eckd_release()
3640 cqr->memdev = device; in dasd_eckd_release()
3641 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_release()
3642 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_release()
3643 cqr->retries = 2; /* set retry counter to enable basic ERP */ in dasd_eckd_release()
3644 cqr->expires = 2 * HZ; in dasd_eckd_release()
3645 cqr->buildclk = get_tod_clock(); in dasd_eckd_release()
3646 cqr->status = DASD_CQR_FILLED; in dasd_eckd_release()
3648 rc = dasd_sleep_on_immediatly(cqr); in dasd_eckd_release()
3655 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_release()
3668 struct dasd_ccw_req *cqr; in dasd_eckd_reserve() local
3677 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1, 32, device); in dasd_eckd_reserve()
3678 if (IS_ERR(cqr)) { in dasd_eckd_reserve()
3681 cqr = &dasd_reserve_req->cqr; in dasd_eckd_reserve()
3682 memset(cqr, 0, sizeof(*cqr)); in dasd_eckd_reserve()
3685 cqr->cpaddr = &dasd_reserve_req->ccw; in dasd_eckd_reserve()
3686 cqr->data = &dasd_reserve_req->data; in dasd_eckd_reserve()
3687 cqr->magic = DASD_ECKD_MAGIC; in dasd_eckd_reserve()
3689 ccw = cqr->cpaddr; in dasd_eckd_reserve()
3693 ccw->cda = (__u32)(addr_t) cqr->data; in dasd_eckd_reserve()
3694 cqr->startdev = device; in dasd_eckd_reserve()
3695 cqr->memdev = device; in dasd_eckd_reserve()
3696 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_reserve()
3697 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_reserve()
3698 cqr->retries = 2; /* set retry counter to enable basic ERP */ in dasd_eckd_reserve()
3699 cqr->expires = 2 * HZ; in dasd_eckd_reserve()
3700 cqr->buildclk = get_tod_clock(); in dasd_eckd_reserve()
3701 cqr->status = DASD_CQR_FILLED; in dasd_eckd_reserve()
3703 rc = dasd_sleep_on_immediatly(cqr); in dasd_eckd_reserve()
3710 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_reserve()
3722 struct dasd_ccw_req *cqr; in dasd_eckd_steal_lock() local
3731 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1, 32, device); in dasd_eckd_steal_lock()
3732 if (IS_ERR(cqr)) { in dasd_eckd_steal_lock()
3735 cqr = &dasd_reserve_req->cqr; in dasd_eckd_steal_lock()
3736 memset(cqr, 0, sizeof(*cqr)); in dasd_eckd_steal_lock()
3739 cqr->cpaddr = &dasd_reserve_req->ccw; in dasd_eckd_steal_lock()
3740 cqr->data = &dasd_reserve_req->data; in dasd_eckd_steal_lock()
3741 cqr->magic = DASD_ECKD_MAGIC; in dasd_eckd_steal_lock()
3743 ccw = cqr->cpaddr; in dasd_eckd_steal_lock()
3747 ccw->cda = (__u32)(addr_t) cqr->data; in dasd_eckd_steal_lock()
3748 cqr->startdev = device; in dasd_eckd_steal_lock()
3749 cqr->memdev = device; in dasd_eckd_steal_lock()
3750 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_steal_lock()
3751 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_steal_lock()
3752 cqr->retries = 2; /* set retry counter to enable basic ERP */ in dasd_eckd_steal_lock()
3753 cqr->expires = 2 * HZ; in dasd_eckd_steal_lock()
3754 cqr->buildclk = get_tod_clock(); in dasd_eckd_steal_lock()
3755 cqr->status = DASD_CQR_FILLED; in dasd_eckd_steal_lock()
3757 rc = dasd_sleep_on_immediatly(cqr); in dasd_eckd_steal_lock()
3764 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_steal_lock()
3777 struct dasd_ccw_req *cqr; in dasd_eckd_snid() local
3790 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1, in dasd_eckd_snid()
3792 if (IS_ERR(cqr)) { in dasd_eckd_snid()
3795 cqr = &dasd_reserve_req->cqr; in dasd_eckd_snid()
3796 memset(cqr, 0, sizeof(*cqr)); in dasd_eckd_snid()
3799 cqr->cpaddr = &dasd_reserve_req->ccw; in dasd_eckd_snid()
3800 cqr->data = &dasd_reserve_req->data; in dasd_eckd_snid()
3801 cqr->magic = DASD_ECKD_MAGIC; in dasd_eckd_snid()
3803 ccw = cqr->cpaddr; in dasd_eckd_snid()
3807 ccw->cda = (__u32)(addr_t) cqr->data; in dasd_eckd_snid()
3808 cqr->startdev = device; in dasd_eckd_snid()
3809 cqr->memdev = device; in dasd_eckd_snid()
3810 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_snid()
3811 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_snid()
3812 set_bit(DASD_CQR_ALLOW_SLOCK, &cqr->flags); in dasd_eckd_snid()
3813 cqr->retries = 5; in dasd_eckd_snid()
3814 cqr->expires = 10 * HZ; in dasd_eckd_snid()
3815 cqr->buildclk = get_tod_clock(); in dasd_eckd_snid()
3816 cqr->status = DASD_CQR_FILLED; in dasd_eckd_snid()
3817 cqr->lpm = usrparm.path_mask; in dasd_eckd_snid()
3819 rc = dasd_sleep_on_immediatly(cqr); in dasd_eckd_snid()
3821 if (!rc && usrparm.path_mask && (cqr->lpm != usrparm.path_mask)) in dasd_eckd_snid()
3824 usrparm.data = *((struct dasd_snid_data *)cqr->data); in dasd_eckd_snid()
3832 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_snid()
3844 struct dasd_ccw_req *cqr; in dasd_eckd_performance() local
3848 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ + 1 /* RSSD */, in dasd_eckd_performance()
3852 if (IS_ERR(cqr)) { in dasd_eckd_performance()
3855 return PTR_ERR(cqr); in dasd_eckd_performance()
3857 cqr->startdev = device; in dasd_eckd_performance()
3858 cqr->memdev = device; in dasd_eckd_performance()
3859 cqr->retries = 0; in dasd_eckd_performance()
3860 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_performance()
3861 cqr->expires = 10 * HZ; in dasd_eckd_performance()
3864 prssdp = (struct dasd_psf_prssd_data *) cqr->data; in dasd_eckd_performance()
3870 ccw = cqr->cpaddr; in dasd_eckd_performance()
3885 cqr->buildclk = get_tod_clock(); in dasd_eckd_performance()
3886 cqr->status = DASD_CQR_FILLED; in dasd_eckd_performance()
3887 rc = dasd_sleep_on(cqr); in dasd_eckd_performance()
3889 prssdp = (struct dasd_psf_prssd_data *) cqr->data; in dasd_eckd_performance()
3895 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_performance()
3958 struct dasd_ccw_req *cqr; in dasd_symm_io() local
3999 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 2 , 0, device); in dasd_symm_io()
4000 if (IS_ERR(cqr)) { in dasd_symm_io()
4003 rc = PTR_ERR(cqr); in dasd_symm_io()
4007 cqr->startdev = device; in dasd_symm_io()
4008 cqr->memdev = device; in dasd_symm_io()
4009 cqr->retries = 3; in dasd_symm_io()
4010 cqr->expires = 10 * HZ; in dasd_symm_io()
4011 cqr->buildclk = get_tod_clock(); in dasd_symm_io()
4012 cqr->status = DASD_CQR_FILLED; in dasd_symm_io()
4015 ccw = cqr->cpaddr; in dasd_symm_io()
4031 rc = dasd_sleep_on(cqr); in dasd_symm_io()
4042 dasd_sfree_request(cqr, cqr->memdev); in dasd_symm_io()
4510 struct dasd_ccw_req *cqr; in dasd_eckd_read_message_buffer() local
4515 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ + 1 /* RSSD */, in dasd_eckd_read_message_buffer()
4519 if (IS_ERR(cqr)) { in dasd_eckd_read_message_buffer()
4522 return PTR_ERR(cqr); in dasd_eckd_read_message_buffer()
4525 cqr->startdev = device; in dasd_eckd_read_message_buffer()
4526 cqr->memdev = device; in dasd_eckd_read_message_buffer()
4527 cqr->block = NULL; in dasd_eckd_read_message_buffer()
4528 cqr->retries = 256; in dasd_eckd_read_message_buffer()
4529 cqr->expires = 10 * HZ; in dasd_eckd_read_message_buffer()
4532 set_bit(DASD_CQR_VERIFY_PATH, &cqr->flags); in dasd_eckd_read_message_buffer()
4533 cqr->lpm = lpum; in dasd_eckd_read_message_buffer()
4536 prssdp = (struct dasd_psf_prssd_data *) cqr->data; in dasd_eckd_read_message_buffer()
4542 ccw = cqr->cpaddr; in dasd_eckd_read_message_buffer()
4559 cqr->buildclk = get_tod_clock(); in dasd_eckd_read_message_buffer()
4560 cqr->status = DASD_CQR_FILLED; in dasd_eckd_read_message_buffer()
4561 rc = dasd_sleep_on_immediatly(cqr); in dasd_eckd_read_message_buffer()
4563 prssdp = (struct dasd_psf_prssd_data *) cqr->data; in dasd_eckd_read_message_buffer()
4572 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_read_message_buffer()
4586 struct dasd_ccw_req *cqr; in dasd_eckd_psf_cuir_response() local
4590 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ , in dasd_eckd_psf_cuir_response()
4594 if (IS_ERR(cqr)) { in dasd_eckd_psf_cuir_response()
4597 return PTR_ERR(cqr); in dasd_eckd_psf_cuir_response()
4600 psf_cuir = (struct dasd_psf_cuir_response *)cqr->data; in dasd_eckd_psf_cuir_response()
4609 ccw = cqr->cpaddr; in dasd_eckd_psf_cuir_response()
4614 cqr->startdev = device; in dasd_eckd_psf_cuir_response()
4615 cqr->memdev = device; in dasd_eckd_psf_cuir_response()
4616 cqr->block = NULL; in dasd_eckd_psf_cuir_response()
4617 cqr->retries = 256; in dasd_eckd_psf_cuir_response()
4618 cqr->expires = 10*HZ; in dasd_eckd_psf_cuir_response()
4619 cqr->buildclk = get_tod_clock(); in dasd_eckd_psf_cuir_response()
4620 cqr->status = DASD_CQR_FILLED; in dasd_eckd_psf_cuir_response()
4622 rc = dasd_sleep_on(cqr); in dasd_eckd_psf_cuir_response()
4624 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_psf_cuir_response()