• Home
  • Raw
  • Download

Lines Matching refs:cqr

96 	struct dasd_ccw_req cqr;  member
106 struct dasd_ccw_req cqr; member
836 struct dasd_ccw_req *cqr, in dasd_eckd_fill_rcd_cqr() argument
850 ccw = cqr->cpaddr; in dasd_eckd_fill_rcd_cqr()
855 cqr->magic = DASD_ECKD_MAGIC; in dasd_eckd_fill_rcd_cqr()
857 cqr->startdev = device; in dasd_eckd_fill_rcd_cqr()
858 cqr->memdev = device; in dasd_eckd_fill_rcd_cqr()
859 cqr->block = NULL; in dasd_eckd_fill_rcd_cqr()
860 cqr->expires = 10*HZ; in dasd_eckd_fill_rcd_cqr()
861 cqr->lpm = lpm; in dasd_eckd_fill_rcd_cqr()
862 cqr->retries = 256; in dasd_eckd_fill_rcd_cqr()
863 cqr->buildclk = get_clock(); in dasd_eckd_fill_rcd_cqr()
864 cqr->status = DASD_CQR_FILLED; in dasd_eckd_fill_rcd_cqr()
865 set_bit(DASD_CQR_VERIFY_PATH, &cqr->flags); in dasd_eckd_fill_rcd_cqr()
874 static void read_conf_cb(struct dasd_ccw_req *cqr, void *data) in read_conf_cb() argument
879 if (cqr->status != DASD_CQR_DONE) { in read_conf_cb()
880 ccw = cqr->cpaddr; in read_conf_cb()
889 dasd_wakeup_cb(cqr, data); in read_conf_cb()
893 struct dasd_ccw_req *cqr, in dasd_eckd_read_conf_immediately() argument
907 dasd_eckd_fill_rcd_cqr(device, cqr, rcd_buffer, lpm); in dasd_eckd_read_conf_immediately()
908 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_read_conf_immediately()
909 set_bit(DASD_CQR_ALLOW_SLOCK, &cqr->flags); in dasd_eckd_read_conf_immediately()
910 cqr->retries = 5; in dasd_eckd_read_conf_immediately()
911 cqr->callback = read_conf_cb; in dasd_eckd_read_conf_immediately()
912 rc = dasd_sleep_on_immediatly(cqr); in dasd_eckd_read_conf_immediately()
923 struct dasd_ccw_req *cqr; in dasd_eckd_read_conf_lpm() local
939 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* RCD */, in dasd_eckd_read_conf_lpm()
942 if (IS_ERR(cqr)) { in dasd_eckd_read_conf_lpm()
948 dasd_eckd_fill_rcd_cqr(device, cqr, rcd_buf, lpm); in dasd_eckd_read_conf_lpm()
949 cqr->callback = read_conf_cb; in dasd_eckd_read_conf_lpm()
950 ret = dasd_sleep_on(cqr); in dasd_eckd_read_conf_lpm()
954 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_read_conf_lpm()
1192 memset(&data->cqr, 0, sizeof(data->cqr)); in rebuild_device_uid()
1193 data->cqr.cpaddr = &data->ccw; in rebuild_device_uid()
1194 rc = dasd_eckd_read_conf_immediately(device, &data->cqr, in rebuild_device_uid()
1249 memset(&data->cqr, 0, sizeof(data->cqr)); in do_path_verification_work()
1250 data->cqr.cpaddr = &data->ccw; in do_path_verification_work()
1251 rc = dasd_eckd_read_conf_immediately(device, &data->cqr, in do_path_verification_work()
1404 struct dasd_ccw_req *cqr; in dasd_eckd_read_features() local
1411 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ + 1 /* RSSD */, in dasd_eckd_read_features()
1415 if (IS_ERR(cqr)) { in dasd_eckd_read_features()
1418 return PTR_ERR(cqr); in dasd_eckd_read_features()
1420 cqr->startdev = device; in dasd_eckd_read_features()
1421 cqr->memdev = device; in dasd_eckd_read_features()
1422 cqr->block = NULL; in dasd_eckd_read_features()
1423 cqr->retries = 256; in dasd_eckd_read_features()
1424 cqr->expires = 10 * HZ; in dasd_eckd_read_features()
1427 prssdp = (struct dasd_psf_prssd_data *) cqr->data; in dasd_eckd_read_features()
1433 ccw = cqr->cpaddr; in dasd_eckd_read_features()
1448 cqr->buildclk = get_clock(); in dasd_eckd_read_features()
1449 cqr->status = DASD_CQR_FILLED; in dasd_eckd_read_features()
1450 rc = dasd_sleep_on(cqr); in dasd_eckd_read_features()
1452 prssdp = (struct dasd_psf_prssd_data *) cqr->data; in dasd_eckd_read_features()
1459 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_read_features()
1470 struct dasd_ccw_req *cqr; in dasd_eckd_build_psf_ssc() local
1474 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ , in dasd_eckd_build_psf_ssc()
1478 if (IS_ERR(cqr)) { in dasd_eckd_build_psf_ssc()
1481 return cqr; in dasd_eckd_build_psf_ssc()
1483 psf_ssc_data = (struct dasd_psf_ssc_data *)cqr->data; in dasd_eckd_build_psf_ssc()
1490 ccw = cqr->cpaddr; in dasd_eckd_build_psf_ssc()
1495 cqr->startdev = device; in dasd_eckd_build_psf_ssc()
1496 cqr->memdev = device; in dasd_eckd_build_psf_ssc()
1497 cqr->block = NULL; in dasd_eckd_build_psf_ssc()
1498 cqr->retries = 256; in dasd_eckd_build_psf_ssc()
1499 cqr->expires = 10*HZ; in dasd_eckd_build_psf_ssc()
1500 cqr->buildclk = get_clock(); in dasd_eckd_build_psf_ssc()
1501 cqr->status = DASD_CQR_FILLED; in dasd_eckd_build_psf_ssc()
1502 return cqr; in dasd_eckd_build_psf_ssc()
1513 struct dasd_ccw_req *cqr; in dasd_eckd_psf_ssc() local
1516 cqr = dasd_eckd_build_psf_ssc(device, enable_pav); in dasd_eckd_psf_ssc()
1517 if (IS_ERR(cqr)) in dasd_eckd_psf_ssc()
1518 return PTR_ERR(cqr); in dasd_eckd_psf_ssc()
1520 rc = dasd_sleep_on(cqr); in dasd_eckd_psf_ssc()
1524 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_psf_ssc()
1774 struct dasd_ccw_req *cqr; in dasd_eckd_analysis_ccw() local
1783 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, datasize, device); in dasd_eckd_analysis_ccw()
1784 if (IS_ERR(cqr)) in dasd_eckd_analysis_ccw()
1785 return cqr; in dasd_eckd_analysis_ccw()
1786 ccw = cqr->cpaddr; in dasd_eckd_analysis_ccw()
1788 define_extent(ccw++, cqr->data, 0, 2, in dasd_eckd_analysis_ccw()
1790 LO_data = cqr->data + sizeof(struct DE_eckd_data); in dasd_eckd_analysis_ccw()
1818 cqr->block = NULL; in dasd_eckd_analysis_ccw()
1819 cqr->startdev = device; in dasd_eckd_analysis_ccw()
1820 cqr->memdev = device; in dasd_eckd_analysis_ccw()
1821 cqr->retries = 255; in dasd_eckd_analysis_ccw()
1822 cqr->buildclk = get_clock(); in dasd_eckd_analysis_ccw()
1823 cqr->status = DASD_CQR_FILLED; in dasd_eckd_analysis_ccw()
1824 return cqr; in dasd_eckd_analysis_ccw()
2221 static void dasd_eckd_handle_terminated_request(struct dasd_ccw_req *cqr) in dasd_eckd_handle_terminated_request() argument
2223 cqr->status = DASD_CQR_FILLED; in dasd_eckd_handle_terminated_request()
2224 if (cqr->block && (cqr->startdev != cqr->block->base)) { in dasd_eckd_handle_terminated_request()
2225 dasd_eckd_reset_ccw_to_base_io(cqr); in dasd_eckd_handle_terminated_request()
2226 cqr->startdev = cqr->block->base; in dasd_eckd_handle_terminated_request()
2227 cqr->lpm = cqr->block->base->path_data.opm; in dasd_eckd_handle_terminated_request()
2232 dasd_eckd_erp_action(struct dasd_ccw_req * cqr) in dasd_eckd_erp_action() argument
2234 struct dasd_device *device = (struct dasd_device *) cqr->startdev; in dasd_eckd_erp_action()
2251 dasd_eckd_erp_postaction(struct dasd_ccw_req * cqr) in dasd_eckd_erp_postaction() argument
2257 struct dasd_ccw_req *cqr, in dasd_eckd_check_for_device_change() argument
2303 if (!cqr && !(sense[27] & DASD_SENSE_BIT_0) && in dasd_eckd_check_for_device_change()
2340 struct dasd_ccw_req *cqr; in dasd_eckd_build_cp_cmd_single() local
2403 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, datasize, in dasd_eckd_build_cp_cmd_single()
2405 if (IS_ERR(cqr)) in dasd_eckd_build_cp_cmd_single()
2406 return cqr; in dasd_eckd_build_cp_cmd_single()
2407 ccw = cqr->cpaddr; in dasd_eckd_build_cp_cmd_single()
2410 if (prefix(ccw++, cqr->data, first_trk, in dasd_eckd_build_cp_cmd_single()
2415 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_cmd_single()
2418 idaws = (unsigned long *) (cqr->data + in dasd_eckd_build_cp_cmd_single()
2421 if (define_extent(ccw++, cqr->data, first_trk, in dasd_eckd_build_cp_cmd_single()
2426 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_cmd_single()
2429 idaws = (unsigned long *) (cqr->data + in dasd_eckd_build_cp_cmd_single()
2498 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_build_cp_cmd_single()
2499 cqr->startdev = startdev; in dasd_eckd_build_cp_cmd_single()
2500 cqr->memdev = startdev; in dasd_eckd_build_cp_cmd_single()
2501 cqr->block = block; in dasd_eckd_build_cp_cmd_single()
2502 cqr->expires = startdev->default_expires * HZ; /* default 5 minutes */ in dasd_eckd_build_cp_cmd_single()
2503 cqr->lpm = startdev->path_data.ppm; in dasd_eckd_build_cp_cmd_single()
2504 cqr->retries = 256; in dasd_eckd_build_cp_cmd_single()
2505 cqr->buildclk = get_clock(); in dasd_eckd_build_cp_cmd_single()
2506 cqr->status = DASD_CQR_FILLED; in dasd_eckd_build_cp_cmd_single()
2507 return cqr; in dasd_eckd_build_cp_cmd_single()
2524 struct dasd_ccw_req *cqr; in dasd_eckd_build_cp_cmd_track() local
2566 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, datasize, in dasd_eckd_build_cp_cmd_track()
2568 if (IS_ERR(cqr)) in dasd_eckd_build_cp_cmd_track()
2569 return cqr; in dasd_eckd_build_cp_cmd_track()
2570 ccw = cqr->cpaddr; in dasd_eckd_build_cp_cmd_track()
2578 if (prefix_LRE(ccw++, cqr->data, first_trk, in dasd_eckd_build_cp_cmd_track()
2586 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_cmd_track()
2597 idaws = (unsigned long *) (cqr->data + sizeof(struct PFX_eckd_data)); in dasd_eckd_build_cp_cmd_track()
2635 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_cmd_track()
2641 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_cmd_track()
2673 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_build_cp_cmd_track()
2674 cqr->startdev = startdev; in dasd_eckd_build_cp_cmd_track()
2675 cqr->memdev = startdev; in dasd_eckd_build_cp_cmd_track()
2676 cqr->block = block; in dasd_eckd_build_cp_cmd_track()
2677 cqr->expires = startdev->default_expires * HZ; /* default 5 minutes */ in dasd_eckd_build_cp_cmd_track()
2678 cqr->lpm = startdev->path_data.ppm; in dasd_eckd_build_cp_cmd_track()
2679 cqr->retries = 256; in dasd_eckd_build_cp_cmd_track()
2680 cqr->buildclk = get_clock(); in dasd_eckd_build_cp_cmd_track()
2681 cqr->status = DASD_CQR_FILLED; in dasd_eckd_build_cp_cmd_track()
2682 return cqr; in dasd_eckd_build_cp_cmd_track()
2829 struct dasd_ccw_req *cqr; in dasd_eckd_build_cp_tpm_track() local
2875 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 0, itcw_size, startdev); in dasd_eckd_build_cp_tpm_track()
2876 if (IS_ERR(cqr)) in dasd_eckd_build_cp_tpm_track()
2877 return cqr; in dasd_eckd_build_cp_tpm_track()
2886 itcw = itcw_init(cqr->data, itcw_size, itcw_op, 0, ctidaw, 0); in dasd_eckd_build_cp_tpm_track()
2891 cqr->cpaddr = itcw_get_tcw(itcw); in dasd_eckd_build_cp_tpm_track()
2965 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_build_cp_tpm_track()
2966 cqr->cpmode = 1; in dasd_eckd_build_cp_tpm_track()
2967 cqr->startdev = startdev; in dasd_eckd_build_cp_tpm_track()
2968 cqr->memdev = startdev; in dasd_eckd_build_cp_tpm_track()
2969 cqr->block = block; in dasd_eckd_build_cp_tpm_track()
2970 cqr->expires = startdev->default_expires * HZ; /* default 5 minutes */ in dasd_eckd_build_cp_tpm_track()
2971 cqr->lpm = startdev->path_data.ppm; in dasd_eckd_build_cp_tpm_track()
2972 cqr->retries = 256; in dasd_eckd_build_cp_tpm_track()
2973 cqr->buildclk = get_clock(); in dasd_eckd_build_cp_tpm_track()
2974 cqr->status = DASD_CQR_FILLED; in dasd_eckd_build_cp_tpm_track()
2975 return cqr; in dasd_eckd_build_cp_tpm_track()
2977 dasd_sfree_request(cqr, startdev); in dasd_eckd_build_cp_tpm_track()
2996 struct dasd_ccw_req *cqr; in dasd_eckd_build_cp() local
3025 cqr = NULL; in dasd_eckd_build_cp()
3030 cqr = dasd_eckd_build_cp_tpm_track(startdev, block, req, in dasd_eckd_build_cp()
3035 if (IS_ERR(cqr) && (PTR_ERR(cqr) != -EAGAIN) && in dasd_eckd_build_cp()
3036 (PTR_ERR(cqr) != -ENOMEM)) in dasd_eckd_build_cp()
3037 cqr = NULL; in dasd_eckd_build_cp()
3041 cqr = dasd_eckd_build_cp_cmd_track(startdev, block, req, in dasd_eckd_build_cp()
3046 if (IS_ERR(cqr) && (PTR_ERR(cqr) != -EAGAIN) && in dasd_eckd_build_cp()
3047 (PTR_ERR(cqr) != -ENOMEM)) in dasd_eckd_build_cp()
3048 cqr = NULL; in dasd_eckd_build_cp()
3050 if (!cqr) in dasd_eckd_build_cp()
3051 cqr = dasd_eckd_build_cp_cmd_single(startdev, block, req, in dasd_eckd_build_cp()
3056 return cqr; in dasd_eckd_build_cp()
3065 struct dasd_ccw_req *cqr; in dasd_raw_build_cp() local
3082 cqr = ERR_PTR(-EINVAL); in dasd_raw_build_cp()
3087 cqr = ERR_PTR(-EINVAL); in dasd_raw_build_cp()
3103 cqr = ERR_PTR(-EINVAL); in dasd_raw_build_cp()
3127 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, cplength, in dasd_raw_build_cp()
3129 if (IS_ERR(cqr)) in dasd_raw_build_cp()
3131 ccw = cqr->cpaddr; in dasd_raw_build_cp()
3133 if (prefix_LRE(ccw++, cqr->data, first_trk, last_trk, cmd, in dasd_raw_build_cp()
3139 dasd_sfree_request(cqr, startdev); in dasd_raw_build_cp()
3140 cqr = ERR_PTR(-EAGAIN); in dasd_raw_build_cp()
3144 idaws = (unsigned long *)(cqr->data + pfx_datasize); in dasd_raw_build_cp()
3169 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_raw_build_cp()
3170 cqr->startdev = startdev; in dasd_raw_build_cp()
3171 cqr->memdev = startdev; in dasd_raw_build_cp()
3172 cqr->block = block; in dasd_raw_build_cp()
3173 cqr->expires = startdev->default_expires * HZ; in dasd_raw_build_cp()
3174 cqr->lpm = startdev->path_data.ppm; in dasd_raw_build_cp()
3175 cqr->retries = 256; in dasd_raw_build_cp()
3176 cqr->buildclk = get_clock(); in dasd_raw_build_cp()
3177 cqr->status = DASD_CQR_FILLED; in dasd_raw_build_cp()
3179 if (IS_ERR(cqr) && PTR_ERR(cqr) != -EAGAIN) in dasd_raw_build_cp()
3180 cqr = NULL; in dasd_raw_build_cp()
3182 return cqr; in dasd_raw_build_cp()
3187 dasd_eckd_free_cp(struct dasd_ccw_req *cqr, struct request *req) in dasd_eckd_free_cp() argument
3200 private = (struct dasd_eckd_private *) cqr->block->base->private; in dasd_eckd_free_cp()
3201 blksize = cqr->block->bp_block; in dasd_eckd_free_cp()
3203 recid = blk_rq_pos(req) >> cqr->block->s2b_shift; in dasd_eckd_free_cp()
3204 ccw = cqr->cpaddr; in dasd_eckd_free_cp()
3233 status = cqr->status == DASD_CQR_DONE; in dasd_eckd_free_cp()
3234 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_free_cp()
3245 void dasd_eckd_reset_ccw_to_base_io(struct dasd_ccw_req *cqr) in dasd_eckd_reset_ccw_to_base_io() argument
3253 if (cqr->cpmode == 1) { in dasd_eckd_reset_ccw_to_base_io()
3254 tcw = cqr->cpaddr; in dasd_eckd_reset_ccw_to_base_io()
3261 ccw = cqr->cpaddr; in dasd_eckd_reset_ccw_to_base_io()
3262 pfxdata = cqr->data; in dasd_eckd_reset_ccw_to_base_io()
3279 struct dasd_ccw_req *cqr; in dasd_eckd_build_alias_cp() local
3291 cqr = dasd_raw_build_cp(startdev, block, req); in dasd_eckd_build_alias_cp()
3293 cqr = dasd_eckd_build_cp(startdev, block, req); in dasd_eckd_build_alias_cp()
3294 if (IS_ERR(cqr)) in dasd_eckd_build_alias_cp()
3297 return cqr; in dasd_eckd_build_alias_cp()
3300 static int dasd_eckd_free_alias_cp(struct dasd_ccw_req *cqr, in dasd_eckd_free_alias_cp() argument
3306 spin_lock_irqsave(get_ccwdev_lock(cqr->memdev->cdev), flags); in dasd_eckd_free_alias_cp()
3307 private = (struct dasd_eckd_private *) cqr->memdev->private; in dasd_eckd_free_alias_cp()
3309 spin_unlock_irqrestore(get_ccwdev_lock(cqr->memdev->cdev), flags); in dasd_eckd_free_alias_cp()
3310 return dasd_eckd_free_cp(cqr, req); in dasd_eckd_free_alias_cp()
3345 struct dasd_ccw_req *cqr; in dasd_eckd_release() local
3354 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1, 32, device); in dasd_eckd_release()
3355 if (IS_ERR(cqr)) { in dasd_eckd_release()
3358 cqr = &dasd_reserve_req->cqr; in dasd_eckd_release()
3359 memset(cqr, 0, sizeof(*cqr)); in dasd_eckd_release()
3362 cqr->cpaddr = &dasd_reserve_req->ccw; in dasd_eckd_release()
3363 cqr->data = &dasd_reserve_req->data; in dasd_eckd_release()
3364 cqr->magic = DASD_ECKD_MAGIC; in dasd_eckd_release()
3366 ccw = cqr->cpaddr; in dasd_eckd_release()
3370 ccw->cda = (__u32)(addr_t) cqr->data; in dasd_eckd_release()
3371 cqr->startdev = device; in dasd_eckd_release()
3372 cqr->memdev = device; in dasd_eckd_release()
3373 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_release()
3374 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_release()
3375 cqr->retries = 2; /* set retry counter to enable basic ERP */ in dasd_eckd_release()
3376 cqr->expires = 2 * HZ; in dasd_eckd_release()
3377 cqr->buildclk = get_clock(); in dasd_eckd_release()
3378 cqr->status = DASD_CQR_FILLED; in dasd_eckd_release()
3380 rc = dasd_sleep_on_immediatly(cqr); in dasd_eckd_release()
3387 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_release()
3400 struct dasd_ccw_req *cqr; in dasd_eckd_reserve() local
3409 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1, 32, device); in dasd_eckd_reserve()
3410 if (IS_ERR(cqr)) { in dasd_eckd_reserve()
3413 cqr = &dasd_reserve_req->cqr; in dasd_eckd_reserve()
3414 memset(cqr, 0, sizeof(*cqr)); in dasd_eckd_reserve()
3417 cqr->cpaddr = &dasd_reserve_req->ccw; in dasd_eckd_reserve()
3418 cqr->data = &dasd_reserve_req->data; in dasd_eckd_reserve()
3419 cqr->magic = DASD_ECKD_MAGIC; in dasd_eckd_reserve()
3421 ccw = cqr->cpaddr; in dasd_eckd_reserve()
3425 ccw->cda = (__u32)(addr_t) cqr->data; in dasd_eckd_reserve()
3426 cqr->startdev = device; in dasd_eckd_reserve()
3427 cqr->memdev = device; in dasd_eckd_reserve()
3428 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_reserve()
3429 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_reserve()
3430 cqr->retries = 2; /* set retry counter to enable basic ERP */ in dasd_eckd_reserve()
3431 cqr->expires = 2 * HZ; in dasd_eckd_reserve()
3432 cqr->buildclk = get_clock(); in dasd_eckd_reserve()
3433 cqr->status = DASD_CQR_FILLED; in dasd_eckd_reserve()
3435 rc = dasd_sleep_on_immediatly(cqr); in dasd_eckd_reserve()
3442 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_reserve()
3454 struct dasd_ccw_req *cqr; in dasd_eckd_steal_lock() local
3463 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1, 32, device); in dasd_eckd_steal_lock()
3464 if (IS_ERR(cqr)) { in dasd_eckd_steal_lock()
3467 cqr = &dasd_reserve_req->cqr; in dasd_eckd_steal_lock()
3468 memset(cqr, 0, sizeof(*cqr)); in dasd_eckd_steal_lock()
3471 cqr->cpaddr = &dasd_reserve_req->ccw; in dasd_eckd_steal_lock()
3472 cqr->data = &dasd_reserve_req->data; in dasd_eckd_steal_lock()
3473 cqr->magic = DASD_ECKD_MAGIC; in dasd_eckd_steal_lock()
3475 ccw = cqr->cpaddr; in dasd_eckd_steal_lock()
3479 ccw->cda = (__u32)(addr_t) cqr->data; in dasd_eckd_steal_lock()
3480 cqr->startdev = device; in dasd_eckd_steal_lock()
3481 cqr->memdev = device; in dasd_eckd_steal_lock()
3482 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_steal_lock()
3483 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_steal_lock()
3484 cqr->retries = 2; /* set retry counter to enable basic ERP */ in dasd_eckd_steal_lock()
3485 cqr->expires = 2 * HZ; in dasd_eckd_steal_lock()
3486 cqr->buildclk = get_clock(); in dasd_eckd_steal_lock()
3487 cqr->status = DASD_CQR_FILLED; in dasd_eckd_steal_lock()
3489 rc = dasd_sleep_on_immediatly(cqr); in dasd_eckd_steal_lock()
3496 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_steal_lock()
3509 struct dasd_ccw_req *cqr; in dasd_eckd_snid() local
3522 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1, in dasd_eckd_snid()
3524 if (IS_ERR(cqr)) { in dasd_eckd_snid()
3527 cqr = &dasd_reserve_req->cqr; in dasd_eckd_snid()
3528 memset(cqr, 0, sizeof(*cqr)); in dasd_eckd_snid()
3531 cqr->cpaddr = &dasd_reserve_req->ccw; in dasd_eckd_snid()
3532 cqr->data = &dasd_reserve_req->data; in dasd_eckd_snid()
3533 cqr->magic = DASD_ECKD_MAGIC; in dasd_eckd_snid()
3535 ccw = cqr->cpaddr; in dasd_eckd_snid()
3539 ccw->cda = (__u32)(addr_t) cqr->data; in dasd_eckd_snid()
3540 cqr->startdev = device; in dasd_eckd_snid()
3541 cqr->memdev = device; in dasd_eckd_snid()
3542 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_snid()
3543 set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags); in dasd_eckd_snid()
3544 set_bit(DASD_CQR_ALLOW_SLOCK, &cqr->flags); in dasd_eckd_snid()
3545 cqr->retries = 5; in dasd_eckd_snid()
3546 cqr->expires = 10 * HZ; in dasd_eckd_snid()
3547 cqr->buildclk = get_clock(); in dasd_eckd_snid()
3548 cqr->status = DASD_CQR_FILLED; in dasd_eckd_snid()
3549 cqr->lpm = usrparm.path_mask; in dasd_eckd_snid()
3551 rc = dasd_sleep_on_immediatly(cqr); in dasd_eckd_snid()
3553 if (!rc && usrparm.path_mask && (cqr->lpm != usrparm.path_mask)) in dasd_eckd_snid()
3556 usrparm.data = *((struct dasd_snid_data *)cqr->data); in dasd_eckd_snid()
3564 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_snid()
3576 struct dasd_ccw_req *cqr; in dasd_eckd_performance() local
3580 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 1 /* PSF */ + 1 /* RSSD */, in dasd_eckd_performance()
3584 if (IS_ERR(cqr)) { in dasd_eckd_performance()
3587 return PTR_ERR(cqr); in dasd_eckd_performance()
3589 cqr->startdev = device; in dasd_eckd_performance()
3590 cqr->memdev = device; in dasd_eckd_performance()
3591 cqr->retries = 0; in dasd_eckd_performance()
3592 clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); in dasd_eckd_performance()
3593 cqr->expires = 10 * HZ; in dasd_eckd_performance()
3596 prssdp = (struct dasd_psf_prssd_data *) cqr->data; in dasd_eckd_performance()
3602 ccw = cqr->cpaddr; in dasd_eckd_performance()
3617 cqr->buildclk = get_clock(); in dasd_eckd_performance()
3618 cqr->status = DASD_CQR_FILLED; in dasd_eckd_performance()
3619 rc = dasd_sleep_on(cqr); in dasd_eckd_performance()
3621 prssdp = (struct dasd_psf_prssd_data *) cqr->data; in dasd_eckd_performance()
3627 dasd_sfree_request(cqr, cqr->memdev); in dasd_eckd_performance()
3690 struct dasd_ccw_req *cqr; in dasd_symm_io() local
3731 cqr = dasd_smalloc_request(DASD_ECKD_MAGIC, 2 , 0, device); in dasd_symm_io()
3732 if (IS_ERR(cqr)) { in dasd_symm_io()
3735 rc = PTR_ERR(cqr); in dasd_symm_io()
3739 cqr->startdev = device; in dasd_symm_io()
3740 cqr->memdev = device; in dasd_symm_io()
3741 cqr->retries = 3; in dasd_symm_io()
3742 cqr->expires = 10 * HZ; in dasd_symm_io()
3743 cqr->buildclk = get_clock(); in dasd_symm_io()
3744 cqr->status = DASD_CQR_FILLED; in dasd_symm_io()
3747 ccw = cqr->cpaddr; in dasd_symm_io()
3763 rc = dasd_sleep_on(cqr); in dasd_symm_io()
3774 dasd_sfree_request(cqr, cqr->memdev); in dasd_symm_io()