Lines Matching refs:pcie_device

76 	struct _pcie_device *pcie_device);
552 * @device: sas_device or pcie_device object
567 struct _pcie_device *pcie_device;
589 pcie_device = device;
590 sas_address = pcie_device->wwid;
695 * before returning the pcie_device object.
697 * This searches for pcie_device from target, then return pcie_device object.
1097 struct _pcie_device *pcie_device;
1101 list_for_each_entry(pcie_device, &ioc->pcie_device_list, list)
1102 if (pcie_device->wwid == wwid)
1105 list_for_each_entry(pcie_device, &ioc->pcie_device_init_list, list)
1106 if (pcie_device->wwid == wwid)
1112 pcie_device_get(pcie_device);
1113 return pcie_device;
1123 * before returning the pcie_device object.
1125 * This searches for pcie_device based on wwid, then return pcie_device object.
1130 struct _pcie_device *pcie_device;
1134 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc, wwid);
1137 return pcie_device;
1145 struct _pcie_device *pcie_device;
1149 list_for_each_entry(pcie_device, &ioc->pcie_device_list, list)
1150 if (pcie_device->id == id && pcie_device->channel == channel)
1153 list_for_each_entry(pcie_device, &ioc->pcie_device_init_list, list)
1154 if (pcie_device->id == id && pcie_device->channel == channel)
1160 pcie_device_get(pcie_device);
1161 return pcie_device;
1167 struct _pcie_device *pcie_device;
1171 list_for_each_entry(pcie_device, &ioc->pcie_device_list, list)
1172 if (pcie_device->handle == handle)
1175 list_for_each_entry(pcie_device, &ioc->pcie_device_init_list, list)
1176 if (pcie_device->handle == handle)
1182 pcie_device_get(pcie_device);
1183 return pcie_device;
1193 * before returning the pcie_device object.
1195 * This searches for pcie_device based on handle, then return pcie_device
1201 struct _pcie_device *pcie_device;
1205 pcie_device = __mpt3sas_get_pdev_by_handle(ioc, handle);
1208 return pcie_device;
1223 struct _pcie_device *pcie_device;
1228 list_for_each_entry(pcie_device, &ioc->pcie_device_list, list) {
1229 if (pcie_device->shutdown_latency) {
1230 if (shutdown_latency < pcie_device->shutdown_latency)
1232 pcie_device->shutdown_latency;
1240 * _scsih_pcie_device_remove - remove pcie_device from list.
1242 * @pcie_device: the pcie_device object
1245 * If pcie_device is on the list, remove it and decrement its reference count.
1249 struct _pcie_device *pcie_device)
1255 if (!pcie_device)
1258 pcie_device->handle, (u64)pcie_device->wwid);
1259 if (pcie_device->enclosure_handle != 0)
1261 (u64)pcie_device->enclosure_logical_id,
1262 pcie_device->slot);
1263 if (pcie_device->connector_name[0] != '\0')
1265 pcie_device->enclosure_level,
1266 pcie_device->connector_name);
1269 if (!list_empty(&pcie_device->list)) {
1270 list_del_init(&pcie_device->list);
1273 if (pcie_device->shutdown_latency == ioc->max_shutdown_latency)
1277 kfree(pcie_device->serial_number);
1278 pcie_device_put(pcie_device);
1299 struct _pcie_device *pcie_device;
1308 pcie_device = __mpt3sas_get_pdev_by_handle(ioc, handle);
1309 if (pcie_device) {
1310 if (!list_empty(&pcie_device->list)) {
1311 list_del_init(&pcie_device->list);
1313 pcie_device_put(pcie_device);
1315 if (pcie_device->shutdown_latency == ioc->max_shutdown_latency)
1320 _scsih_pcie_device_remove_from_sml(ioc, pcie_device);
1321 pcie_device_put(pcie_device);
1334 * _scsih_pcie_device_add - add pcie_device object
1336 * @pcie_device: pcie_device object
1342 struct _pcie_device *pcie_device)
1349 pcie_device->handle, (u64)pcie_device->wwid));
1350 if (pcie_device->enclosure_handle != 0)
1354 (u64)pcie_device->enclosure_logical_id,
1355 pcie_device->slot));
1356 if (pcie_device->connector_name[0] != '\0')
1359 __func__, pcie_device->enclosure_level,
1360 pcie_device->connector_name));
1363 pcie_device_get(pcie_device);
1364 list_add_tail(&pcie_device->list, &ioc->pcie_device_list);
1367 if (pcie_device->access_status ==
1369 clear_bit(pcie_device->handle, ioc->pend_os_device_add);
1372 if (scsi_add_device(ioc->shost, PCIE_CHANNEL, pcie_device->id, 0)) {
1373 _scsih_pcie_device_remove(ioc, pcie_device);
1374 } else if (!pcie_device->starget) {
1377 clear_bit(pcie_device->handle, ioc->pend_os_device_add);
1380 clear_bit(pcie_device->handle, ioc->pend_os_device_add);
1384 * _scsih_pcie_device_init_add - insert pcie_device to the init list.
1386 * @pcie_device: the pcie_device object
1393 struct _pcie_device *pcie_device)
1400 pcie_device->handle, (u64)pcie_device->wwid));
1401 if (pcie_device->enclosure_handle != 0)
1405 (u64)pcie_device->enclosure_logical_id,
1406 pcie_device->slot));
1407 if (pcie_device->connector_name[0] != '\0')
1410 __func__, pcie_device->enclosure_level,
1411 pcie_device->connector_name));
1414 pcie_device_get(pcie_device);
1415 list_add_tail(&pcie_device->list, &ioc->pcie_device_init_list);
1416 if (pcie_device->access_status !=
1418 _scsih_determine_boot_device(ioc, pcie_device, PCIE_CHANNEL);
1875 struct _pcie_device *pcie_device;
1908 pcie_device = __mpt3sas_get_pdev_by_idchannel(ioc, starget->id,
1910 if (pcie_device) {
1911 sas_target_priv_data->handle = pcie_device->handle;
1912 sas_target_priv_data->sas_address = pcie_device->wwid;
1914 sas_target_priv_data->pcie_dev = pcie_device;
1915 pcie_device->starget = starget;
1916 pcie_device->id = starget->id;
1917 pcie_device->channel = starget->channel;
1920 if (pcie_device->fast_path)
1965 struct _pcie_device *pcie_device;
1986 pcie_device = __mpt3sas_get_pdev_from_target(ioc,
1988 if (pcie_device && (pcie_device->starget == starget) &&
1989 (pcie_device->id == starget->id) &&
1990 (pcie_device->channel == starget->channel))
1991 pcie_device->starget = NULL;
1993 if (pcie_device) {
1998 pcie_device_put(pcie_device);
1999 pcie_device_put(pcie_device);
2045 struct _pcie_device *pcie_device;
2076 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc,
2078 if (pcie_device && (pcie_device->starget == NULL)) {
2080 "%s : pcie_device->starget set to starget @ %d\n",
2082 pcie_device->starget = starget;
2085 if (pcie_device)
2086 pcie_device_put(pcie_device);
2122 struct _pcie_device *pcie_device;
2137 pcie_device = __mpt3sas_get_pdev_from_target(ioc,
2139 if (pcie_device && !sas_target_priv_data->num_luns)
2140 pcie_device->starget = NULL;
2142 if (pcie_device)
2143 pcie_device_put(pcie_device);
2515 struct _pcie_device *pcie_device;
2648 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc,
2650 if (!pcie_device) {
2662 ds, handle, (unsigned long long)pcie_device->wwid,
2663 pcie_device->port_num);
2664 if (pcie_device->enclosure_handle != 0)
2668 (unsigned long long)pcie_device->enclosure_logical_id,
2669 pcie_device->slot);
2670 if (pcie_device->connector_name[0] != '\0')
2674 pcie_device->enclosure_level,
2675 pcie_device->connector_name);
2677 if (pcie_device->nvme_mdts)
2678 lim->max_hw_sectors = pcie_device->nvme_mdts / 512;
2680 pcie_device_put(pcie_device);
3209 struct _pcie_device *pcie_device = NULL;
3229 pcie_device = __mpt3sas_get_pdev_from_target(ioc, priv_target);
3230 if (pcie_device) {
3233 pcie_device->handle,
3234 (unsigned long long)pcie_device->wwid,
3235 pcie_device->port_num);
3236 if (pcie_device->enclosure_handle != 0)
3240 pcie_device->enclosure_logical_id,
3241 pcie_device->slot);
3242 if (pcie_device->connector_name[0] != '\0')
3245 pcie_device->enclosure_level,
3246 pcie_device->connector_name);
3247 pcie_device_put(pcie_device);
3294 struct _pcie_device *pcie_device = NULL;
3333 pcie_device = mpt3sas_get_pdev_by_handle(ioc, handle);
3334 if (pcie_device && (!ioc->tm_custom_handling) &&
3335 (!(mpt3sas_scsih_is_pcie_scsi_device(pcie_device->device_info))))
3347 if (pcie_device)
3348 pcie_device_put(pcie_device);
3364 struct _pcie_device *pcie_device = NULL;
3405 pcie_device = mpt3sas_get_pdev_by_handle(ioc, handle);
3407 if (pcie_device && (!ioc->tm_custom_handling) &&
3408 (!(mpt3sas_scsih_is_pcie_scsi_device(pcie_device->device_info)))) {
3409 tr_timeout = pcie_device->reset_timeout;
3427 if (pcie_device)
3428 pcie_device_put(pcie_device);
3445 struct _pcie_device *pcie_device = NULL;
3485 pcie_device = mpt3sas_get_pdev_by_handle(ioc, handle);
3487 if (pcie_device && (!ioc->tm_custom_handling) &&
3488 (!(mpt3sas_scsih_is_pcie_scsi_device(pcie_device->device_info)))) {
3489 tr_timeout = pcie_device->reset_timeout;
3506 if (pcie_device)
3507 pcie_device_put(pcie_device);
4072 struct _pcie_device *pcie_device = NULL;
4113 pcie_device = __mpt3sas_get_pdev_by_handle(ioc, handle);
4114 if (pcie_device && pcie_device->starget &&
4115 pcie_device->starget->hostdata) {
4116 sas_target_priv_data = pcie_device->starget->hostdata;
4118 sas_address = pcie_device->wwid;
4121 if (pcie_device && (!ioc->tm_custom_handling) &&
4123 pcie_device->device_info))))
4144 } else if (pcie_device) {
4145 if (pcie_device->enclosure_handle != 0)
4148 (u64)pcie_device->enclosure_logical_id,
4149 pcie_device->slot));
4150 if (pcie_device->connector_name[0] != '\0')
4153 pcie_device->enclosure_level,
4154 pcie_device->connector_name));
4190 if (pcie_device)
4191 pcie_device_put(pcie_device);
5124 struct _pcie_device *pcie_device = NULL;
5248 pcie_device = sas_target_priv_data->pcie_dev;
5249 if (ioc->build_sg_scmd(ioc, scmd, smid, pcie_device)) {
5325 struct _pcie_device *pcie_device = NULL;
5459 pcie_device = mpt3sas_get_pdev_from_target(ioc, priv_target);
5460 if (pcie_device) {
5462 (u64)pcie_device->wwid, pcie_device->port_num);
5463 if (pcie_device->enclosure_handle != 0)
5465 (u64)pcie_device->enclosure_logical_id,
5466 pcie_device->slot);
5467 if (pcie_device->connector_name[0])
5469 pcie_device->enclosure_level,
5470 pcie_device->connector_name);
5471 pcie_device_put(pcie_device);
7913 * @pcie_device: the pcie_device object
7917 struct _pcie_device *pcie_device)
7924 pcie_device->handle, (u64)pcie_device->wwid));
7925 if (pcie_device->enclosure_handle != 0)
7929 (u64)pcie_device->enclosure_logical_id,
7930 pcie_device->slot));
7931 if (pcie_device->connector_name[0] != '\0')
7935 pcie_device->enclosure_level,
7936 pcie_device->connector_name));
7938 if (pcie_device->starget && pcie_device->starget->hostdata) {
7939 sas_target_priv_data = pcie_device->starget->hostdata;
7941 _scsih_ublock_io_device(ioc, pcie_device->wwid, NULL);
7946 pcie_device->handle, (u64)pcie_device->wwid);
7947 if (pcie_device->enclosure_handle != 0)
7949 (u64)pcie_device->enclosure_logical_id,
7950 pcie_device->slot);
7951 if (pcie_device->connector_name[0] != '\0')
7953 pcie_device->enclosure_level,
7954 pcie_device->connector_name);
7956 if (pcie_device->starget && (pcie_device->access_status !=
7958 scsi_remove_target(&pcie_device->starget->dev);
7962 pcie_device->handle, (u64)pcie_device->wwid));
7963 if (pcie_device->enclosure_handle != 0)
7967 (u64)pcie_device->enclosure_logical_id,
7968 pcie_device->slot));
7969 if (pcie_device->connector_name[0] != '\0')
7973 pcie_device->enclosure_level,
7974 pcie_device->connector_name));
7976 kfree(pcie_device->serial_number);
7991 struct _pcie_device *pcie_device;
8013 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc, wwid);
8015 if (!pcie_device) {
8020 if (unlikely(pcie_device->handle != handle)) {
8021 starget = pcie_device->starget;
8023 pcie_device->access_status = pcie_device_pg0.AccessStatus;
8026 pcie_device->handle, handle);
8028 pcie_device->handle = handle;
8032 pcie_device->enclosure_level =
8034 memcpy(&pcie_device->connector_name[0],
8037 pcie_device->enclosure_level = 0;
8038 pcie_device->connector_name[0] = '\0';
8048 pcie_device_put(pcie_device);
8056 pcie_device_put(pcie_device);
8061 pcie_device_put(pcie_device);
8083 struct _pcie_device *pcie_device;
8122 pcie_device = mpt3sas_get_pdev_by_wwid(ioc, wwid);
8123 if (pcie_device) {
8125 pcie_device_put(pcie_device);
8154 pcie_device = kzalloc(sizeof(struct _pcie_device), GFP_KERNEL);
8155 if (!pcie_device) {
8161 kref_init(&pcie_device->refcount);
8162 pcie_device->id = ioc->pcie_target_id++;
8163 pcie_device->channel = PCIE_CHANNEL;
8164 pcie_device->handle = handle;
8165 pcie_device->access_status = pcie_device_pg0.AccessStatus;
8166 pcie_device->device_info = le32_to_cpu(pcie_device_pg0.DeviceInfo);
8167 pcie_device->wwid = wwid;
8168 pcie_device->port_num = pcie_device_pg0.PortNum;
8169 pcie_device->fast_path = (le32_to_cpu(pcie_device_pg0.Flags) &
8172 pcie_device->enclosure_handle =
8174 if (pcie_device->enclosure_handle != 0)
8175 pcie_device->slot = le16_to_cpu(pcie_device_pg0.Slot);
8179 pcie_device->enclosure_level = pcie_device_pg0.EnclosureLevel;
8180 memcpy(&pcie_device->connector_name[0],
8183 pcie_device->enclosure_level = 0;
8184 pcie_device->connector_name[0] = '\0';
8188 if (pcie_device->enclosure_handle) {
8191 pcie_device->enclosure_handle);
8193 pcie_device->enclosure_logical_id =
8199 pcie_device->nvme_mdts =
8201 pcie_device->shutdown_latency =
8208 if (pcie_device->shutdown_latency > ioc->max_shutdown_latency)
8210 pcie_device->shutdown_latency;
8212 pcie_device->reset_timeout =
8215 pcie_device->reset_timeout = 30;
8217 pcie_device->reset_timeout = 30;
8220 _scsih_pcie_device_init_add(ioc, pcie_device);
8222 _scsih_pcie_device_add(ioc, pcie_device);
8224 pcie_device_put(pcie_device);
8327 struct _pcie_device *pcie_device;
8379 pcie_device = __mpt3sas_get_pdev_by_handle(ioc, handle);
8382 if (pcie_device) {
8383 pcie_device_put(pcie_device);
8498 struct _pcie_device *pcie_device;
8515 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc, wwid);
8517 if (!pcie_device || !pcie_device->starget)
8520 target_priv_data = pcie_device->starget->hostdata;
8530 if (pcie_device)
8531 pcie_device_put(pcie_device);
9870 * _scsih_mark_responding_pcie_device - mark a pcie_device as responding
9883 struct _pcie_device *pcie_device;
9887 list_for_each_entry(pcie_device, &ioc->pcie_device_list, list) {
9888 if ((pcie_device->wwid == le64_to_cpu(pcie_device_pg0->WWID))
9889 && (pcie_device->slot == le16_to_cpu(
9891 pcie_device->access_status =
9893 pcie_device->responding = 1;
9894 starget = pcie_device->starget;
9904 pcie_device->handle,
9905 (unsigned long long)pcie_device->wwid);
9906 if (pcie_device->enclosure_handle != 0)
9911 pcie_device->enclosure_logical_id,
9912 pcie_device->slot);
9918 pcie_device->enclosure_level =
9920 memcpy(&pcie_device->connector_name[0],
9923 pcie_device->enclosure_level = 0;
9924 pcie_device->connector_name[0] = '\0';
9927 if (pcie_device->handle == le16_to_cpu(
9931 pcie_device->handle);
9932 pcie_device->handle = le16_to_cpu(
10225 struct _pcie_device *pcie_device, *pcie_device_next;
10275 list_for_each_entry_safe(pcie_device, pcie_device_next,
10277 list_del_init(&pcie_device->list);
10278 pcie_device_put(pcie_device);
10281 list_for_each_entry_safe(pcie_device, pcie_device_next,
10283 if (!pcie_device->responding)
10284 list_move_tail(&pcie_device->list, &head);
10286 pcie_device->responding = 0;
10290 list_for_each_entry_safe(pcie_device, pcie_device_next, &head, list) {
10291 _scsih_pcie_device_remove_from_sml(ioc, pcie_device);
10292 list_del_init(&pcie_device->list);
10293 pcie_device_put(pcie_device);
10375 struct _pcie_device *pcie_device;
10601 pcie_device = mpt3sas_get_pdev_by_wwid(ioc,
10603 if (pcie_device) {
10604 pcie_device_put(pcie_device);
11241 struct _pcie_device *pcie_device, *pcienext;
11288 list_for_each_entry_safe(pcie_device, pcienext, &ioc->pcie_device_list,
11290 _scsih_pcie_device_remove_from_sml(ioc, pcie_device);
11291 list_del_init(&pcie_device->list);
11292 pcie_device_put(pcie_device);
11399 struct _pcie_device *pcie_device;
11441 pcie_device = device;
11447 if (pcie_device->starget)
11450 tid = pcie_device->id;
11451 list_move_tail(&pcie_device->list, &ioc->pcie_device_list);
11455 _scsih_pcie_device_remove(ioc, pcie_device);
11611 struct _pcie_device *pcie_device = NULL;
11616 pcie_device = list_first_entry(&ioc->pcie_device_init_list,
11618 pcie_device_get(pcie_device);
11622 return pcie_device;
11628 * @pcie_device: pcie device object
11634 struct _pcie_device *pcie_device)
11640 if (!list_empty(&pcie_device->list)) {
11641 list_del_init(&pcie_device->list);
11642 pcie_device_put(pcie_device);
11644 pcie_device_get(pcie_device);
11645 list_add_tail(&pcie_device->list, &ioc->pcie_device_list);
11659 struct _pcie_device *pcie_device;
11663 while ((pcie_device = get_next_pcie_device(ioc))) {
11664 if (pcie_device->starget) {
11665 pcie_device_put(pcie_device);
11668 if (pcie_device->access_status ==
11670 pcie_device_make_active(ioc, pcie_device);
11671 pcie_device_put(pcie_device);
11675 pcie_device->id, 0);
11677 _scsih_pcie_device_remove(ioc, pcie_device);
11678 pcie_device_put(pcie_device);
11680 } else if (!pcie_device->starget) {
11691 _scsih_pcie_device_remove(ioc, pcie_device);
11692 pcie_device_put(pcie_device);
11696 pcie_device_make_active(ioc, pcie_device);
11697 pcie_device_put(pcie_device);