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;
2649 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc,
2651 if (!pcie_device) {
2663 ds, handle, (unsigned long long)pcie_device->wwid,
2664 pcie_device->port_num);
2665 if (pcie_device->enclosure_handle != 0)
2669 (unsigned long long)pcie_device->enclosure_logical_id,
2670 pcie_device->slot);
2671 if (pcie_device->connector_name[0] != '\0')
2675 pcie_device->enclosure_level,
2676 pcie_device->connector_name);
2678 if (pcie_device->nvme_mdts)
2680 pcie_device->nvme_mdts/512);
2682 pcie_device_put(pcie_device);
3218 struct _pcie_device *pcie_device = NULL;
3238 pcie_device = __mpt3sas_get_pdev_from_target(ioc, priv_target);
3239 if (pcie_device) {
3242 pcie_device->handle,
3243 (unsigned long long)pcie_device->wwid,
3244 pcie_device->port_num);
3245 if (pcie_device->enclosure_handle != 0)
3249 pcie_device->enclosure_logical_id,
3250 pcie_device->slot);
3251 if (pcie_device->connector_name[0] != '\0')
3254 pcie_device->enclosure_level,
3255 pcie_device->connector_name);
3256 pcie_device_put(pcie_device);
3303 struct _pcie_device *pcie_device = NULL;
3342 pcie_device = mpt3sas_get_pdev_by_handle(ioc, handle);
3343 if (pcie_device && (!ioc->tm_custom_handling) &&
3344 (!(mpt3sas_scsih_is_pcie_scsi_device(pcie_device->device_info))))
3356 if (pcie_device)
3357 pcie_device_put(pcie_device);
3373 struct _pcie_device *pcie_device = NULL;
3414 pcie_device = mpt3sas_get_pdev_by_handle(ioc, handle);
3416 if (pcie_device && (!ioc->tm_custom_handling) &&
3417 (!(mpt3sas_scsih_is_pcie_scsi_device(pcie_device->device_info)))) {
3418 tr_timeout = pcie_device->reset_timeout;
3436 if (pcie_device)
3437 pcie_device_put(pcie_device);
3454 struct _pcie_device *pcie_device = NULL;
3494 pcie_device = mpt3sas_get_pdev_by_handle(ioc, handle);
3496 if (pcie_device && (!ioc->tm_custom_handling) &&
3497 (!(mpt3sas_scsih_is_pcie_scsi_device(pcie_device->device_info)))) {
3498 tr_timeout = pcie_device->reset_timeout;
3515 if (pcie_device)
3516 pcie_device_put(pcie_device);
4081 struct _pcie_device *pcie_device = NULL;
4122 pcie_device = __mpt3sas_get_pdev_by_handle(ioc, handle);
4123 if (pcie_device && pcie_device->starget &&
4124 pcie_device->starget->hostdata) {
4125 sas_target_priv_data = pcie_device->starget->hostdata;
4127 sas_address = pcie_device->wwid;
4130 if (pcie_device && (!ioc->tm_custom_handling) &&
4132 pcie_device->device_info))))
4153 } else if (pcie_device) {
4154 if (pcie_device->enclosure_handle != 0)
4157 (u64)pcie_device->enclosure_logical_id,
4158 pcie_device->slot));
4159 if (pcie_device->connector_name[0] != '\0')
4162 pcie_device->enclosure_level,
4163 pcie_device->connector_name));
4199 if (pcie_device)
4200 pcie_device_put(pcie_device);
5133 struct _pcie_device *pcie_device = NULL;
5257 pcie_device = sas_target_priv_data->pcie_dev;
5258 if (ioc->build_sg_scmd(ioc, scmd, smid, pcie_device)) {
5334 struct _pcie_device *pcie_device = NULL;
5468 pcie_device = mpt3sas_get_pdev_from_target(ioc, priv_target);
5469 if (pcie_device) {
5471 (u64)pcie_device->wwid, pcie_device->port_num);
5472 if (pcie_device->enclosure_handle != 0)
5474 (u64)pcie_device->enclosure_logical_id,
5475 pcie_device->slot);
5476 if (pcie_device->connector_name[0])
5478 pcie_device->enclosure_level,
5479 pcie_device->connector_name);
5480 pcie_device_put(pcie_device);
7927 * @pcie_device: the pcie_device object
7931 struct _pcie_device *pcie_device)
7938 pcie_device->handle, (u64)pcie_device->wwid));
7939 if (pcie_device->enclosure_handle != 0)
7943 (u64)pcie_device->enclosure_logical_id,
7944 pcie_device->slot));
7945 if (pcie_device->connector_name[0] != '\0')
7949 pcie_device->enclosure_level,
7950 pcie_device->connector_name));
7952 if (pcie_device->starget && pcie_device->starget->hostdata) {
7953 sas_target_priv_data = pcie_device->starget->hostdata;
7955 _scsih_ublock_io_device(ioc, pcie_device->wwid, NULL);
7960 pcie_device->handle, (u64)pcie_device->wwid);
7961 if (pcie_device->enclosure_handle != 0)
7963 (u64)pcie_device->enclosure_logical_id,
7964 pcie_device->slot);
7965 if (pcie_device->connector_name[0] != '\0')
7967 pcie_device->enclosure_level,
7968 pcie_device->connector_name);
7970 if (pcie_device->starget && (pcie_device->access_status !=
7972 scsi_remove_target(&pcie_device->starget->dev);
7976 pcie_device->handle, (u64)pcie_device->wwid));
7977 if (pcie_device->enclosure_handle != 0)
7981 (u64)pcie_device->enclosure_logical_id,
7982 pcie_device->slot));
7983 if (pcie_device->connector_name[0] != '\0')
7987 pcie_device->enclosure_level,
7988 pcie_device->connector_name));
7990 kfree(pcie_device->serial_number);
8005 struct _pcie_device *pcie_device;
8027 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc, wwid);
8029 if (!pcie_device) {
8034 if (unlikely(pcie_device->handle != handle)) {
8035 starget = pcie_device->starget;
8037 pcie_device->access_status = pcie_device_pg0.AccessStatus;
8040 pcie_device->handle, handle);
8042 pcie_device->handle = handle;
8046 pcie_device->enclosure_level =
8048 memcpy(&pcie_device->connector_name[0],
8051 pcie_device->enclosure_level = 0;
8052 pcie_device->connector_name[0] = '\0';
8062 pcie_device_put(pcie_device);
8070 pcie_device_put(pcie_device);
8075 pcie_device_put(pcie_device);
8097 struct _pcie_device *pcie_device;
8136 pcie_device = mpt3sas_get_pdev_by_wwid(ioc, wwid);
8137 if (pcie_device) {
8139 pcie_device_put(pcie_device);
8168 pcie_device = kzalloc(sizeof(struct _pcie_device), GFP_KERNEL);
8169 if (!pcie_device) {
8175 kref_init(&pcie_device->refcount);
8176 pcie_device->id = ioc->pcie_target_id++;
8177 pcie_device->channel = PCIE_CHANNEL;
8178 pcie_device->handle = handle;
8179 pcie_device->access_status = pcie_device_pg0.AccessStatus;
8180 pcie_device->device_info = le32_to_cpu(pcie_device_pg0.DeviceInfo);
8181 pcie_device->wwid = wwid;
8182 pcie_device->port_num = pcie_device_pg0.PortNum;
8183 pcie_device->fast_path = (le32_to_cpu(pcie_device_pg0.Flags) &
8186 pcie_device->enclosure_handle =
8188 if (pcie_device->enclosure_handle != 0)
8189 pcie_device->slot = le16_to_cpu(pcie_device_pg0.Slot);
8193 pcie_device->enclosure_level = pcie_device_pg0.EnclosureLevel;
8194 memcpy(&pcie_device->connector_name[0],
8197 pcie_device->enclosure_level = 0;
8198 pcie_device->connector_name[0] = '\0';
8202 if (pcie_device->enclosure_handle) {
8205 pcie_device->enclosure_handle);
8207 pcie_device->enclosure_logical_id =
8213 pcie_device->nvme_mdts =
8215 pcie_device->shutdown_latency =
8222 if (pcie_device->shutdown_latency > ioc->max_shutdown_latency)
8224 pcie_device->shutdown_latency;
8226 pcie_device->reset_timeout =
8229 pcie_device->reset_timeout = 30;
8231 pcie_device->reset_timeout = 30;
8234 _scsih_pcie_device_init_add(ioc, pcie_device);
8236 _scsih_pcie_device_add(ioc, pcie_device);
8238 pcie_device_put(pcie_device);
8341 struct _pcie_device *pcie_device;
8393 pcie_device = __mpt3sas_get_pdev_by_handle(ioc, handle);
8396 if (pcie_device) {
8397 pcie_device_put(pcie_device);
8512 struct _pcie_device *pcie_device;
8529 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc, wwid);
8531 if (!pcie_device || !pcie_device->starget)
8534 target_priv_data = pcie_device->starget->hostdata;
8544 if (pcie_device)
8545 pcie_device_put(pcie_device);
9884 * _scsih_mark_responding_pcie_device - mark a pcie_device as responding
9897 struct _pcie_device *pcie_device;
9901 list_for_each_entry(pcie_device, &ioc->pcie_device_list, list) {
9902 if ((pcie_device->wwid == le64_to_cpu(pcie_device_pg0->WWID))
9903 && (pcie_device->slot == le16_to_cpu(
9905 pcie_device->access_status =
9907 pcie_device->responding = 1;
9908 starget = pcie_device->starget;
9918 pcie_device->handle,
9919 (unsigned long long)pcie_device->wwid);
9920 if (pcie_device->enclosure_handle != 0)
9925 pcie_device->enclosure_logical_id,
9926 pcie_device->slot);
9932 pcie_device->enclosure_level =
9934 memcpy(&pcie_device->connector_name[0],
9937 pcie_device->enclosure_level = 0;
9938 pcie_device->connector_name[0] = '\0';
9941 if (pcie_device->handle == le16_to_cpu(
9945 pcie_device->handle);
9946 pcie_device->handle = le16_to_cpu(
10239 struct _pcie_device *pcie_device, *pcie_device_next;
10289 list_for_each_entry_safe(pcie_device, pcie_device_next,
10291 list_del_init(&pcie_device->list);
10292 pcie_device_put(pcie_device);
10295 list_for_each_entry_safe(pcie_device, pcie_device_next,
10297 if (!pcie_device->responding)
10298 list_move_tail(&pcie_device->list, &head);
10300 pcie_device->responding = 0;
10304 list_for_each_entry_safe(pcie_device, pcie_device_next, &head, list) {
10305 _scsih_pcie_device_remove_from_sml(ioc, pcie_device);
10306 list_del_init(&pcie_device->list);
10307 pcie_device_put(pcie_device);
10389 struct _pcie_device *pcie_device;
10625 pcie_device = mpt3sas_get_pdev_by_wwid(ioc,
10627 if (pcie_device) {
10628 pcie_device_put(pcie_device);
11268 struct _pcie_device *pcie_device, *pcienext;
11315 list_for_each_entry_safe(pcie_device, pcienext, &ioc->pcie_device_list,
11317 _scsih_pcie_device_remove_from_sml(ioc, pcie_device);
11318 list_del_init(&pcie_device->list);
11319 pcie_device_put(pcie_device);
11425 struct _pcie_device *pcie_device;
11467 pcie_device = device;
11473 if (pcie_device->starget)
11476 tid = pcie_device->id;
11477 list_move_tail(&pcie_device->list, &ioc->pcie_device_list);
11481 _scsih_pcie_device_remove(ioc, pcie_device);
11637 struct _pcie_device *pcie_device = NULL;
11642 pcie_device = list_first_entry(&ioc->pcie_device_init_list,
11644 pcie_device_get(pcie_device);
11648 return pcie_device;
11654 * @pcie_device: pcie device object
11660 struct _pcie_device *pcie_device)
11666 if (!list_empty(&pcie_device->list)) {
11667 list_del_init(&pcie_device->list);
11668 pcie_device_put(pcie_device);
11670 pcie_device_get(pcie_device);
11671 list_add_tail(&pcie_device->list, &ioc->pcie_device_list);
11685 struct _pcie_device *pcie_device;
11689 while ((pcie_device = get_next_pcie_device(ioc))) {
11690 if (pcie_device->starget) {
11691 pcie_device_put(pcie_device);
11694 if (pcie_device->access_status ==
11696 pcie_device_make_active(ioc, pcie_device);
11697 pcie_device_put(pcie_device);
11701 pcie_device->id, 0);
11703 _scsih_pcie_device_remove(ioc, pcie_device);
11704 pcie_device_put(pcie_device);
11706 } else if (!pcie_device->starget) {
11717 _scsih_pcie_device_remove(ioc, pcie_device);
11718 pcie_device_put(pcie_device);
11722 pcie_device_make_active(ioc, pcie_device);
11723 pcie_device_put(pcie_device);