Lines Matching refs:pcie_device

76 	struct _pcie_device *pcie_device);
456 * @device: sas_device or pcie_device object
471 struct _pcie_device *pcie_device;
493 pcie_device = device;
494 sas_address = pcie_device->wwid;
599 * before returning the pcie_device object.
601 * This searches for pcie_device from target, then return pcie_device object.
938 struct _pcie_device *pcie_device;
942 list_for_each_entry(pcie_device, &ioc->pcie_device_list, list)
943 if (pcie_device->wwid == wwid)
946 list_for_each_entry(pcie_device, &ioc->pcie_device_init_list, list)
947 if (pcie_device->wwid == wwid)
953 pcie_device_get(pcie_device);
954 return pcie_device;
964 * before returning the pcie_device object.
966 * This searches for pcie_device based on wwid, then return pcie_device object.
971 struct _pcie_device *pcie_device;
975 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc, wwid);
978 return pcie_device;
986 struct _pcie_device *pcie_device;
990 list_for_each_entry(pcie_device, &ioc->pcie_device_list, list)
991 if (pcie_device->id == id && pcie_device->channel == channel)
994 list_for_each_entry(pcie_device, &ioc->pcie_device_init_list, list)
995 if (pcie_device->id == id && pcie_device->channel == channel)
1001 pcie_device_get(pcie_device);
1002 return pcie_device;
1008 struct _pcie_device *pcie_device;
1012 list_for_each_entry(pcie_device, &ioc->pcie_device_list, list)
1013 if (pcie_device->handle == handle)
1016 list_for_each_entry(pcie_device, &ioc->pcie_device_init_list, list)
1017 if (pcie_device->handle == handle)
1023 pcie_device_get(pcie_device);
1024 return pcie_device;
1034 * before returning the pcie_device object.
1036 * This searches for pcie_device based on handle, then return pcie_device
1042 struct _pcie_device *pcie_device;
1046 pcie_device = __mpt3sas_get_pdev_by_handle(ioc, handle);
1049 return pcie_device;
1064 struct _pcie_device *pcie_device;
1069 list_for_each_entry(pcie_device, &ioc->pcie_device_list, list) {
1070 if (pcie_device->shutdown_latency) {
1071 if (shutdown_latency < pcie_device->shutdown_latency)
1073 pcie_device->shutdown_latency;
1081 * _scsih_pcie_device_remove - remove pcie_device from list.
1083 * @pcie_device: the pcie_device object
1086 * If pcie_device is on the list, remove it and decrement its reference count.
1090 struct _pcie_device *pcie_device)
1096 if (!pcie_device)
1099 pcie_device->handle, (u64)pcie_device->wwid);
1100 if (pcie_device->enclosure_handle != 0)
1102 (u64)pcie_device->enclosure_logical_id,
1103 pcie_device->slot);
1104 if (pcie_device->connector_name[0] != '\0')
1106 pcie_device->enclosure_level,
1107 pcie_device->connector_name);
1110 if (!list_empty(&pcie_device->list)) {
1111 list_del_init(&pcie_device->list);
1114 if (pcie_device->shutdown_latency == ioc->max_shutdown_latency)
1118 kfree(pcie_device->serial_number);
1119 pcie_device_put(pcie_device);
1140 struct _pcie_device *pcie_device;
1149 pcie_device = __mpt3sas_get_pdev_by_handle(ioc, handle);
1150 if (pcie_device) {
1151 if (!list_empty(&pcie_device->list)) {
1152 list_del_init(&pcie_device->list);
1154 pcie_device_put(pcie_device);
1156 if (pcie_device->shutdown_latency == ioc->max_shutdown_latency)
1161 _scsih_pcie_device_remove_from_sml(ioc, pcie_device);
1162 pcie_device_put(pcie_device);
1175 * _scsih_pcie_device_add - add pcie_device object
1177 * @pcie_device: pcie_device object
1183 struct _pcie_device *pcie_device)
1190 pcie_device->handle, (u64)pcie_device->wwid));
1191 if (pcie_device->enclosure_handle != 0)
1195 (u64)pcie_device->enclosure_logical_id,
1196 pcie_device->slot));
1197 if (pcie_device->connector_name[0] != '\0')
1200 __func__, pcie_device->enclosure_level,
1201 pcie_device->connector_name));
1204 pcie_device_get(pcie_device);
1205 list_add_tail(&pcie_device->list, &ioc->pcie_device_list);
1208 if (pcie_device->access_status ==
1210 clear_bit(pcie_device->handle, ioc->pend_os_device_add);
1213 if (scsi_add_device(ioc->shost, PCIE_CHANNEL, pcie_device->id, 0)) {
1214 _scsih_pcie_device_remove(ioc, pcie_device);
1215 } else if (!pcie_device->starget) {
1218 clear_bit(pcie_device->handle, ioc->pend_os_device_add);
1221 clear_bit(pcie_device->handle, ioc->pend_os_device_add);
1225 * _scsih_pcie_device_init_add - insert pcie_device to the init list.
1227 * @pcie_device: the pcie_device object
1234 struct _pcie_device *pcie_device)
1241 pcie_device->handle, (u64)pcie_device->wwid));
1242 if (pcie_device->enclosure_handle != 0)
1246 (u64)pcie_device->enclosure_logical_id,
1247 pcie_device->slot));
1248 if (pcie_device->connector_name[0] != '\0')
1251 __func__, pcie_device->enclosure_level,
1252 pcie_device->connector_name));
1255 pcie_device_get(pcie_device);
1256 list_add_tail(&pcie_device->list, &ioc->pcie_device_init_list);
1257 if (pcie_device->access_status !=
1259 _scsih_determine_boot_device(ioc, pcie_device, PCIE_CHANNEL);
1709 struct _pcie_device *pcie_device;
1742 pcie_device = __mpt3sas_get_pdev_by_idchannel(ioc, starget->id,
1744 if (pcie_device) {
1745 sas_target_priv_data->handle = pcie_device->handle;
1746 sas_target_priv_data->sas_address = pcie_device->wwid;
1747 sas_target_priv_data->pcie_dev = pcie_device;
1748 pcie_device->starget = starget;
1749 pcie_device->id = starget->id;
1750 pcie_device->channel = starget->channel;
1753 if (pcie_device->fast_path)
1798 struct _pcie_device *pcie_device;
1819 pcie_device = __mpt3sas_get_pdev_from_target(ioc,
1821 if (pcie_device && (pcie_device->starget == starget) &&
1822 (pcie_device->id == starget->id) &&
1823 (pcie_device->channel == starget->channel))
1824 pcie_device->starget = NULL;
1826 if (pcie_device) {
1831 pcie_device_put(pcie_device);
1832 pcie_device_put(pcie_device);
1878 struct _pcie_device *pcie_device;
1909 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc,
1911 if (pcie_device && (pcie_device->starget == NULL)) {
1913 "%s : pcie_device->starget set to starget @ %d\n",
1915 pcie_device->starget = starget;
1918 if (pcie_device)
1919 pcie_device_put(pcie_device);
1954 struct _pcie_device *pcie_device;
1969 pcie_device = __mpt3sas_get_pdev_from_target(ioc,
1971 if (pcie_device && !sas_target_priv_data->num_luns)
1972 pcie_device->starget = NULL;
1974 if (pcie_device)
1975 pcie_device_put(pcie_device);
2347 struct _pcie_device *pcie_device;
2481 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc,
2483 if (!pcie_device) {
2495 ds, handle, (unsigned long long)pcie_device->wwid,
2496 pcie_device->port_num);
2497 if (pcie_device->enclosure_handle != 0)
2501 (unsigned long long)pcie_device->enclosure_logical_id,
2502 pcie_device->slot);
2503 if (pcie_device->connector_name[0] != '\0')
2507 pcie_device->enclosure_level,
2508 pcie_device->connector_name);
2510 if (pcie_device->nvme_mdts)
2512 pcie_device->nvme_mdts/512);
2514 pcie_device_put(pcie_device);
3048 struct _pcie_device *pcie_device = NULL;
3068 pcie_device = __mpt3sas_get_pdev_from_target(ioc, priv_target);
3069 if (pcie_device) {
3072 pcie_device->handle,
3073 (unsigned long long)pcie_device->wwid,
3074 pcie_device->port_num);
3075 if (pcie_device->enclosure_handle != 0)
3079 pcie_device->enclosure_logical_id,
3080 pcie_device->slot);
3081 if (pcie_device->connector_name[0] != '\0')
3084 pcie_device->enclosure_level,
3085 pcie_device->connector_name);
3086 pcie_device_put(pcie_device);
3133 struct _pcie_device *pcie_device = NULL;
3172 pcie_device = mpt3sas_get_pdev_by_handle(ioc, handle);
3173 if (pcie_device && (!ioc->tm_custom_handling) &&
3174 (!(mpt3sas_scsih_is_pcie_scsi_device(pcie_device->device_info))))
3186 if (pcie_device)
3187 pcie_device_put(pcie_device);
3203 struct _pcie_device *pcie_device = NULL;
3244 pcie_device = mpt3sas_get_pdev_by_handle(ioc, handle);
3246 if (pcie_device && (!ioc->tm_custom_handling) &&
3247 (!(mpt3sas_scsih_is_pcie_scsi_device(pcie_device->device_info)))) {
3248 tr_timeout = pcie_device->reset_timeout;
3266 if (pcie_device)
3267 pcie_device_put(pcie_device);
3284 struct _pcie_device *pcie_device = NULL;
3324 pcie_device = mpt3sas_get_pdev_by_handle(ioc, handle);
3326 if (pcie_device && (!ioc->tm_custom_handling) &&
3327 (!(mpt3sas_scsih_is_pcie_scsi_device(pcie_device->device_info)))) {
3328 tr_timeout = pcie_device->reset_timeout;
3345 if (pcie_device)
3346 pcie_device_put(pcie_device);
3884 struct _pcie_device *pcie_device = NULL;
3923 pcie_device = __mpt3sas_get_pdev_by_handle(ioc, handle);
3924 if (pcie_device && pcie_device->starget &&
3925 pcie_device->starget->hostdata) {
3926 sas_target_priv_data = pcie_device->starget->hostdata;
3928 sas_address = pcie_device->wwid;
3931 if (pcie_device && (!ioc->tm_custom_handling) &&
3933 pcie_device->device_info))))
3954 } else if (pcie_device) {
3955 if (pcie_device->enclosure_handle != 0)
3958 (u64)pcie_device->enclosure_logical_id,
3959 pcie_device->slot));
3960 if (pcie_device->connector_name[0] != '\0')
3963 pcie_device->enclosure_level,
3964 pcie_device->connector_name));
4000 if (pcie_device)
4001 pcie_device_put(pcie_device);
4950 struct _pcie_device *pcie_device = NULL;
5061 pcie_device = sas_target_priv_data->pcie_dev;
5062 if (ioc->build_sg_scmd(ioc, scmd, smid, pcie_device)) {
5138 struct _pcie_device *pcie_device = NULL;
5272 pcie_device = mpt3sas_get_pdev_from_target(ioc, priv_target);
5273 if (pcie_device) {
5275 (u64)pcie_device->wwid, pcie_device->port_num);
5276 if (pcie_device->enclosure_handle != 0)
5278 (u64)pcie_device->enclosure_logical_id,
5279 pcie_device->slot);
5280 if (pcie_device->connector_name[0])
5282 pcie_device->enclosure_level,
5283 pcie_device->connector_name);
5284 pcie_device_put(pcie_device);
6951 * @pcie_device: the pcie_device object
6955 struct _pcie_device *pcie_device)
6962 pcie_device->handle, (u64)pcie_device->wwid));
6963 if (pcie_device->enclosure_handle != 0)
6967 (u64)pcie_device->enclosure_logical_id,
6968 pcie_device->slot));
6969 if (pcie_device->connector_name[0] != '\0')
6973 pcie_device->enclosure_level,
6974 pcie_device->connector_name));
6976 if (pcie_device->starget && pcie_device->starget->hostdata) {
6977 sas_target_priv_data = pcie_device->starget->hostdata;
6979 _scsih_ublock_io_device(ioc, pcie_device->wwid);
6984 pcie_device->handle, (u64)pcie_device->wwid);
6985 if (pcie_device->enclosure_handle != 0)
6987 (u64)pcie_device->enclosure_logical_id,
6988 pcie_device->slot);
6989 if (pcie_device->connector_name[0] != '\0')
6991 pcie_device->enclosure_level,
6992 pcie_device->connector_name);
6994 if (pcie_device->starget && (pcie_device->access_status !=
6996 scsi_remove_target(&pcie_device->starget->dev);
7000 pcie_device->handle, (u64)pcie_device->wwid));
7001 if (pcie_device->enclosure_handle != 0)
7005 (u64)pcie_device->enclosure_logical_id,
7006 pcie_device->slot));
7007 if (pcie_device->connector_name[0] != '\0')
7011 pcie_device->enclosure_level,
7012 pcie_device->connector_name));
7014 kfree(pcie_device->serial_number);
7029 struct _pcie_device *pcie_device;
7051 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc, wwid);
7053 if (!pcie_device) {
7058 if (unlikely(pcie_device->handle != handle)) {
7059 starget = pcie_device->starget;
7061 pcie_device->access_status = pcie_device_pg0.AccessStatus;
7064 pcie_device->handle, handle);
7066 pcie_device->handle = handle;
7070 pcie_device->enclosure_level =
7072 memcpy(&pcie_device->connector_name[0],
7075 pcie_device->enclosure_level = 0;
7076 pcie_device->connector_name[0] = '\0';
7086 pcie_device_put(pcie_device);
7094 pcie_device_put(pcie_device);
7099 pcie_device_put(pcie_device);
7121 struct _pcie_device *pcie_device;
7160 pcie_device = mpt3sas_get_pdev_by_wwid(ioc, wwid);
7161 if (pcie_device) {
7163 pcie_device_put(pcie_device);
7192 pcie_device = kzalloc(sizeof(struct _pcie_device), GFP_KERNEL);
7193 if (!pcie_device) {
7199 kref_init(&pcie_device->refcount);
7200 pcie_device->id = ioc->pcie_target_id++;
7201 pcie_device->channel = PCIE_CHANNEL;
7202 pcie_device->handle = handle;
7203 pcie_device->access_status = pcie_device_pg0.AccessStatus;
7204 pcie_device->device_info = le32_to_cpu(pcie_device_pg0.DeviceInfo);
7205 pcie_device->wwid = wwid;
7206 pcie_device->port_num = pcie_device_pg0.PortNum;
7207 pcie_device->fast_path = (le32_to_cpu(pcie_device_pg0.Flags) &
7210 pcie_device->enclosure_handle =
7212 if (pcie_device->enclosure_handle != 0)
7213 pcie_device->slot = le16_to_cpu(pcie_device_pg0.Slot);
7217 pcie_device->enclosure_level = pcie_device_pg0.EnclosureLevel;
7218 memcpy(&pcie_device->connector_name[0],
7221 pcie_device->enclosure_level = 0;
7222 pcie_device->connector_name[0] = '\0';
7226 if (pcie_device->enclosure_handle) {
7229 pcie_device->enclosure_handle);
7231 pcie_device->enclosure_logical_id =
7237 pcie_device->nvme_mdts =
7239 pcie_device->shutdown_latency =
7246 if (pcie_device->shutdown_latency > ioc->max_shutdown_latency)
7248 pcie_device->shutdown_latency;
7250 pcie_device->reset_timeout =
7253 pcie_device->reset_timeout = 30;
7255 pcie_device->reset_timeout = 30;
7258 _scsih_pcie_device_init_add(ioc, pcie_device);
7260 _scsih_pcie_device_add(ioc, pcie_device);
7262 pcie_device_put(pcie_device);
7365 struct _pcie_device *pcie_device;
7417 pcie_device = __mpt3sas_get_pdev_by_handle(ioc, handle);
7420 if (pcie_device) {
7421 pcie_device_put(pcie_device);
7536 struct _pcie_device *pcie_device;
7553 pcie_device = __mpt3sas_get_pdev_by_wwid(ioc, wwid);
7555 if (!pcie_device || !pcie_device->starget)
7558 target_priv_data = pcie_device->starget->hostdata;
7568 if (pcie_device)
7569 pcie_device_put(pcie_device);
8864 * _scsih_mark_responding_pcie_device - mark a pcie_device as responding
8877 struct _pcie_device *pcie_device;
8881 list_for_each_entry(pcie_device, &ioc->pcie_device_list, list) {
8882 if ((pcie_device->wwid == le64_to_cpu(pcie_device_pg0->WWID))
8883 && (pcie_device->slot == le16_to_cpu(
8885 pcie_device->access_status =
8887 pcie_device->responding = 1;
8888 starget = pcie_device->starget;
8898 pcie_device->handle,
8899 (unsigned long long)pcie_device->wwid);
8900 if (pcie_device->enclosure_handle != 0)
8905 pcie_device->enclosure_logical_id,
8906 pcie_device->slot);
8912 pcie_device->enclosure_level =
8914 memcpy(&pcie_device->connector_name[0],
8917 pcie_device->enclosure_level = 0;
8918 pcie_device->connector_name[0] = '\0';
8921 if (pcie_device->handle == le16_to_cpu(
8925 pcie_device->handle);
8926 pcie_device->handle = le16_to_cpu(
9211 struct _pcie_device *pcie_device, *pcie_device_next;
9246 list_for_each_entry_safe(pcie_device, pcie_device_next,
9248 if (!pcie_device->responding)
9249 list_move_tail(&pcie_device->list, &head);
9251 pcie_device->responding = 0;
9255 list_for_each_entry_safe(pcie_device, pcie_device_next, &head, list) {
9256 _scsih_pcie_device_remove_from_sml(ioc, pcie_device);
9257 list_del_init(&pcie_device->list);
9258 pcie_device_put(pcie_device);
9339 struct _pcie_device *pcie_device;
9558 pcie_device = mpt3sas_get_pdev_by_wwid(ioc,
9560 if (pcie_device) {
9561 pcie_device_put(pcie_device);
10159 struct _pcie_device *pcie_device, *pcienext;
10203 list_for_each_entry_safe(pcie_device, pcienext, &ioc->pcie_device_list,
10205 _scsih_pcie_device_remove_from_sml(ioc, pcie_device);
10206 list_del_init(&pcie_device->list);
10207 pcie_device_put(pcie_device);
10297 struct _pcie_device *pcie_device;
10332 pcie_device = device;
10333 tid = pcie_device->id;
10334 list_move_tail(&pcie_device->list, &ioc->pcie_device_list);
10338 _scsih_pcie_device_remove(ioc, pcie_device);
10481 struct _pcie_device *pcie_device = NULL;
10486 pcie_device = list_first_entry(&ioc->pcie_device_init_list,
10488 pcie_device_get(pcie_device);
10492 return pcie_device;
10498 * @pcie_device: pcie device object
10504 struct _pcie_device *pcie_device)
10510 if (!list_empty(&pcie_device->list)) {
10511 list_del_init(&pcie_device->list);
10512 pcie_device_put(pcie_device);
10514 pcie_device_get(pcie_device);
10515 list_add_tail(&pcie_device->list, &ioc->pcie_device_list);
10529 struct _pcie_device *pcie_device;
10533 while ((pcie_device = get_next_pcie_device(ioc))) {
10534 if (pcie_device->starget) {
10535 pcie_device_put(pcie_device);
10538 if (pcie_device->access_status ==
10540 pcie_device_make_active(ioc, pcie_device);
10541 pcie_device_put(pcie_device);
10545 pcie_device->id, 0);
10547 _scsih_pcie_device_remove(ioc, pcie_device);
10548 pcie_device_put(pcie_device);
10550 } else if (!pcie_device->starget) {
10561 _scsih_pcie_device_remove(ioc, pcie_device);
10562 pcie_device_put(pcie_device);
10566 pcie_device_make_active(ioc, pcie_device);
10567 pcie_device_put(pcie_device);