Lines Matching defs:private

215 	struct dasd_eckd_private *private = device->private;
243 *track = cyl * private->rdc_data.trk_per_cyl + head;
250 struct dasd_eckd_private *private = device->private;
258 if ((rc && !private->rdc_data.facilities.XRC_supported) ||
279 struct dasd_eckd_private *private = device->private;
302 data->attributes.operation = private->attrib.operation;
311 data->attributes.operation = private->attrib.operation;
319 data->attributes.operation = private->attrib.operation;
337 data->attributes.operation = private->attrib.operation;
342 data->attributes.operation = private->attrib.operation;
354 if ((private->rdc_data.cu_type == 0x2105 ||
355 private->rdc_data.cu_type == 0x2107 ||
356 private->rdc_data.cu_type == 0x1750)
357 && !(private->uses_cdl && trk < 2))
360 heads = private->rdc_data.trk_per_cyl;
370 if (endcyl + private->attrib.nr_cyl < private->real_cyl)
371 endcyl += private->attrib.nr_cyl;
373 endcyl = (private->real_cyl - 1);
387 struct dasd_eckd_private *private = device->private;
404 switch (private->rdc_data.dev_type) {
517 trk / private->rdc_data.trk_per_cyl,
518 trk % private->rdc_data.trk_per_cyl);
535 basepriv = basedev->private;
536 startpriv = startdev->private;
564 /* private uid is kept up to date, conf_data may be outdated */
604 struct dasd_eckd_private *private = device->private;
620 switch (private->rdc_data.dev_type) {
694 trk / private->rdc_data.trk_per_cyl,
695 trk % private->rdc_data.trk_per_cyl);
735 /* create unique id from private structure. */
769 struct dasd_eckd_private *private = device->private;
772 if (!private)
774 if (!private->conf.ned || !private->conf.gneq)
777 create_uid(&private->conf, &private->uid);
784 struct dasd_eckd_private *private = device->private;
787 if (private) {
789 *uid = private->uid;
1003 struct dasd_eckd_private *private = device->private;
1011 * also replace the old private->conf_data pointer
1015 if (private->conf.data == cdp) {
1016 private->conf.data = (void *)conf_data;
1017 dasd_eckd_identify_conf_parts(&private->conf);
1032 struct dasd_eckd_private *private = device->private;
1035 private->conf.data = NULL;
1036 private->conf.len = 0;
1049 struct dasd_eckd_private *private = device->private;
1055 rc = chsc_scud(private->uid.ssid, (u64 *)esm, &esm_valid);
1084 struct dasd_eckd_private *private = device->private;
1094 dasd_eckd_get_uid_string(&private->conf, print_device_uid);
1110 struct dasd_eckd_private *private;
1112 private = device->private;
1140 private->conf.data = conf_data;
1141 private->conf.len = conf_len;
1142 if (dasd_eckd_identify_conf_parts(&private->conf)) {
1143 private->conf.data = NULL;
1144 private->conf.len = 0;
1185 struct dasd_eckd_private *private = device->private;
1194 fcx_in_gneq = private->conf.gneq->reserved2[7] & 0x04;
1195 fcx_in_features = private->features.feature[40] & 0x80;
1212 struct dasd_eckd_private *private = device->private;
1216 if (private->fcx_max_data) {
1226 if (fcx_max_data < private->fcx_max_data) {
1231 private->fcx_max_data);
1241 struct dasd_eckd_private *private = device->private;
1263 memcpy(private->conf.data, data->rcd_buffer,
1265 if (dasd_eckd_identify_conf_parts(&private->conf)) {
1492 struct dasd_eckd_private *private = device->private;
1495 if (!private->fcx_max_data)
1496 private->fcx_max_data = get_fcx_max_data(device);
1505 struct dasd_eckd_private *private = device->private;
1512 memset(&private->features, 0, sizeof(struct dasd_rssd_features));
1556 memcpy(&private->features, features,
1568 struct dasd_eckd_private *private = device->private;
1577 if (private->uid.type == UA_BASE_PAV_ALIAS ||
1578 private->uid.type == UA_HYPER_PAV_ALIAS)
1601 prssdp->lss = private->conf.ned->ID;
1602 prssdp->volume = private->conf.ned->unit_addr;
1632 memcpy(&private->vsq, vsq, sizeof(*vsq));
1648 struct dasd_eckd_private *private = device->private;
1650 return private->vsq.vol_info.ese;
1655 struct dasd_eckd_private *private = device->private;
1657 return private->vsq.extent_pool_id;
1667 struct dasd_eckd_private *private = device->private;
1672 return rc ? : private->vsq.space_configured;
1681 struct dasd_eckd_private *private = device->private;
1686 return rc ? : private->vsq.space_allocated;
1691 struct dasd_eckd_private *private = device->private;
1693 return private->vsq.logical_capacity;
1746 struct dasd_eckd_private *private = device->private;
1754 memcpy(&private->eps, &eps,
1763 struct dasd_eckd_private *private = device->private;
1771 if (private->uid.type == UA_BASE_PAV_ALIAS ||
1772 private->uid.type == UA_HYPER_PAV_ALIAS)
1834 struct dasd_eckd_private *private = device->private;
1835 struct dasd_ext_pool_sum eps = private->eps;
1849 struct dasd_eckd_private *private = device->private;
1851 return private->eps.warn_thrshld;
1856 struct dasd_eckd_private *private = device->private;
1858 return private->eps.flags.capacity_at_warnlevel;
1866 struct dasd_eckd_private *private = device->private;
1868 return private->eps.flags.pool_oos;
1951 struct dasd_eckd_private *private = device->private;
1954 if (private->uid.type == UA_BASE_PAV_ALIAS ||
1955 private->uid.type == UA_HYPER_PAV_ALIAS)
1966 "returned rc=%d", private->uid.ssid, rc);
2042 struct dasd_eckd_private *private = device->private;
2044 return private->rdc_data.facilities.PPRC_enabled;
2054 struct dasd_eckd_private *private = device->private;
2073 if (!private) {
2074 private = kzalloc(sizeof(*private), GFP_KERNEL | GFP_DMA);
2075 if (!private) {
2077 "Allocating memory for private DASD data "
2081 device->private = private;
2083 memset(private, 0, sizeof(*private));
2086 private->init_cqr_status = -1;
2088 private->attrib.operation = DASD_NORMAL_CACHE;
2089 private->attrib.nr_cyl = 0;
2103 if (private->conf.gneq) {
2105 for (i = 0; i < private->conf.gneq->timeout.value; i++)
2107 value = value * private->conf.gneq->timeout.number;
2115 &private->rdc_data, 64);
2161 !(private->rdc_data.facilities.RT_in_LR)) {
2169 if (private->rdc_data.no_cyl == LV_COMPAT_CYL &&
2170 private->rdc_data.long_no_cyl)
2171 private->real_cyl = private->rdc_data.long_no_cyl;
2173 private->real_cyl = private->rdc_data.no_cyl;
2175 private->fcx_max_data = get_fcx_max_data(device);
2183 private->rdc_data.dev_type,
2184 private->rdc_data.dev_model,
2185 private->rdc_data.cu_type,
2186 private->rdc_data.cu_model.model,
2187 private->real_cyl,
2188 private->rdc_data.trk_per_cyl,
2189 private->rdc_data.sec_per_trk,
2201 kfree(device->private);
2202 device->private = NULL;
2208 struct dasd_eckd_private *private = device->private;
2210 if (!private)
2214 private->conf.ned = NULL;
2215 private->conf.sneq = NULL;
2216 private->conf.vdsneq = NULL;
2217 private->conf.gneq = NULL;
2225 struct dasd_eckd_private *private = device->private;
2249 count_data = private->count_area;
2312 struct dasd_eckd_private *private = device->private;
2314 private->init_cqr_status = dasd_eckd_analysis_evaluation(init_cqr);
2341 struct dasd_eckd_private *private = device->private;
2347 status = private->init_cqr_status;
2348 private->init_cqr_status = -1;
2374 private->uses_cdl = 1;
2378 if (private->count_area[i].kl != 4 ||
2379 private->count_area[i].dl != dasd_eckd_cdl_reclen(i) - 4 ||
2380 private->count_area[i].cyl != 0 ||
2381 private->count_area[i].head != count_area_head[i] ||
2382 private->count_area[i].record != count_area_rec[i]) {
2383 private->uses_cdl = 0;
2388 count_area = &private->count_area[3];
2390 if (private->uses_cdl == 0) {
2392 if ((private->count_area[i].kl != 0) ||
2393 (private->count_area[i].dl !=
2394 private->count_area[0].dl) ||
2395 private->count_area[i].cyl != 0 ||
2396 private->count_area[i].head != count_area_head[i] ||
2397 private->count_area[i].record != count_area_rec[i])
2401 count_area = &private->count_area[0];
2403 if (private->count_area[3].record == 1)
2422 blk_per_trk = recs_per_track(&private->rdc_data, 0, block->bp_block);
2425 block->blocks = ((unsigned long) private->real_cyl *
2426 private->rdc_data.trk_per_cyl *
2432 (((unsigned long) private->real_cyl *
2433 private->rdc_data.trk_per_cyl *
2436 private->uses_cdl ?
2444 struct dasd_eckd_private *private = block->base->private;
2446 if (private->init_cqr_status < 0)
2475 struct dasd_eckd_private *private = block->base->private;
2478 geo->sectors = recs_per_track(&private->rdc_data,
2481 geo->cylinders = private->rdc_data.no_cyl;
2482 geo->heads = private->rdc_data.trk_per_cyl;
2510 start_priv = startdev->private;
2595 start_priv = startdev->private;
2596 base_priv = base->private;
2683 start_priv = startdev->private;
2684 base_priv = base->private;
2948 struct dasd_eckd_private *private = base->private;
2951 (private->real_cyl * private->rdc_data.trk_per_cyl)) {
2958 (private->real_cyl * private->rdc_data.trk_per_cyl)) {
2988 struct dasd_eckd_private *private = base->private;
3015 recs_per_track(&private->rdc_data, 0, fdata->blksize);
3060 private = device->private;
3075 private->count--;
3162 struct dasd_eckd_private *private = device->private;
3166 private->count--;
3174 struct dasd_eckd_private *private;
3191 private = base->private;
3193 recs_per_trk = recs_per_track(&private->rdc_data, 0, blksize);
3222 fdata.intensity = private->uses_cdl ? DASD_FMT_INT_COMPAT : 0;
3256 struct dasd_eckd_private *private;
3277 private = base->private;
3281 recs_per_trk = recs_per_track(&private->rdc_data, 0, blksize);
3477 struct dasd_eckd_private *private = base->private;
3487 trk_per_cyl = private->rdc_data.trk_per_cyl;
3490 rpt_max = recs_per_track(&private->rdc_data, 0, 512) + 1;
3491 rpt_exp = recs_per_track(&private->rdc_data, 0, cdata->expect.blksize);
3508 if ((private->features.feature[40] & 0x04) &&
3509 fmt_buffer_size <= private->fcx_max_data)
3589 struct dasd_eckd_private *private = device->private;
3598 if (!device->block && private->lcu &&
3629 private->suc_reason = sense[8];
3632 private->suc_reason);
3666 struct dasd_eckd_private *private = device->private;
3670 trks_per_vol = private->real_cyl * private->rdc_data.trk_per_cyl;
3753 struct dasd_eckd_private *private = device->private;
3779 features = &private->features;
3781 trks_per_ext = dasd_eckd_ext_size(device) * private->rdc_data.trk_per_cyl;
3810 ras_data->lss = private->conf.ned->ID;
3811 ras_data->dev_addr = private->conf.ned->unit_addr;
3815 heads = private->rdc_data.trk_per_cyl;
3875 struct dasd_eckd_private *private = device->private;
3888 device_exts = private->real_cyl / dasd_eckd_ext_size(device);
3889 trks_per_ext = dasd_eckd_ext_size(device) * private->rdc_data.trk_per_cyl;
3926 private = device->private;
3932 private->count--;
3965 struct dasd_eckd_private *private;
3981 private = basedev->private;
4005 use_prefix = private->features.feature[8] & 0x01;
4022 if (private->uses_cdl && first_rec < 2*blk_per_trk) {
4059 if (private->uses_cdl == 0 || recid > 2*blk_per_trk) {
4081 if (private->uses_cdl && recid < 2*blk_per_trk) {
4096 if (private->uses_cdl && recid == 2*blk_per_trk) {
4342 basepriv = basedev->private;
4343 startpriv = startdev->private;
4353 /* private uid is kept up to date, conf_data may be outdated */
4652 struct dasd_eckd_private *private;
4663 private = basedev->private;
4667 blk_per_trk = recs_per_track(&private->rdc_data, 0, blksize);
4676 cdlspecial = (private->uses_cdl && first_rec < 2*blk_per_trk);
4678 fcx_multitrack = private->features.feature[40] & 0x20;
4687 cmdrtd = private->features.feature[9] & 0x20;
4688 cmdwtd = private->features.feature[12] & 0x40;
4689 use_prefix = private->features.feature[8] & 0x01;
4694 } else if ((data_size <= private->fcx_max_data)
4788 base_priv = basedev->private;
4880 struct dasd_eckd_private *private;
4891 private = cqr->block->base->private;
4893 blk_per_trk = recs_per_track(&private->rdc_data, 0, blksize);
4898 if (private->uses_cdl == 0 || recid > 2*blk_per_trk)
4904 if (private->uses_cdl && recid <= 2*blk_per_trk)
4967 struct dasd_eckd_private *private;
4975 private = startdev->private;
4976 if (private->count >= DASD_ECKD_CHANQ_MAX_SIZE)
4980 private->count++;
4986 private->count--;
4994 struct dasd_eckd_private *private;
4998 private = cqr->memdev->private;
4999 private->count--;
5008 struct dasd_eckd_private *private = device->private;
5011 info->FBA_layout = private->uses_cdl ? 0 : 1;
5012 info->format = private->uses_cdl ? DASD_FORMAT_CDL : DASD_FORMAT_LDL;
5013 info->characteristics_size = sizeof(private->rdc_data);
5014 memcpy(info->characteristics, &private->rdc_data,
5015 sizeof(private->rdc_data));
5016 info->confdata_size = min_t(unsigned long, private->conf.len,
5018 memcpy(info->configuration_data, private->conf.data,
5329 struct dasd_eckd_private *private = device->private;
5330 struct attrib_data_t attrib = private->attrib;
5353 struct dasd_eckd_private *private = device->private;
5363 private->attrib = attrib;
5367 private->attrib.operation, private->attrib.nr_cyl);
5811 struct dasd_eckd_private *private = device->private;
5824 old_base = private->uid.base_unit_addr;
5846 dasd_eckd_get_uid_string(&private->conf, print_uid);
5942 struct dasd_eckd_private *private = device->private;
5950 if (!device->block && private->lcu->pav == HYPER_PAV)
5954 if (!(private->features.feature[14] & 0x80))
5984 prssdp->lss = private->conf.ned->ID;
5985 prssdp->volume = private->conf.ned->unit_addr;
6497 struct dasd_eckd_private *private = device->private;
6505 list_for_each_entry_safe(dev, n, &private->lcu->active_devices,
6515 list_for_each_entry_safe(dev, n, &private->lcu->inactive_devices,
6526 &private->lcu->grouplist, group) {
6558 struct dasd_eckd_private *private = device->private;
6569 &private->lcu->active_devices,
6579 &private->lcu->inactive_devices,
6590 &private->lcu->grouplist,
6653 struct dasd_eckd_private *private = device->private;
6658 spin_lock_irqsave(&private->lcu->lock, flags);
6659 list_for_each_entry_safe(dev, n, &private->lcu->active_devices,
6664 list_for_each_entry_safe(dev, n, &private->lcu->inactive_devices,
6671 &private->lcu->grouplist,
6684 spin_unlock_irqrestore(&private->lcu->lock, flags);
6780 struct dasd_eckd_private *private = device->private;
6784 private->fcx_max_data = 0;
6789 struct dasd_eckd_private *private = device->private;
6791 return private->fcx_max_data ? 1 : 0;
6797 struct dasd_eckd_private *private = device->private;
6799 if (!private->fcx_max_data) {