Lines Matching defs:port_info

128 		struct mptsas_portinfo *port_info, u8 force);
409 struct mptsas_portinfo *port_info, *rc=NULL;
412 list_for_each_entry(port_info, &ioc->sas_topology, list)
413 for (i = 0; i < port_info->num_phys; i++)
414 if (port_info->phy_info[i].identify.handle == handle) {
415 rc = port_info;
435 struct mptsas_portinfo *port_info, *rc = NULL;
444 list_for_each_entry(port_info, &ioc->sas_topology, list)
445 for (i = 0; i < port_info->num_phys; i++)
446 if (port_info->phy_info[i].identify.sas_address ==
448 rc = port_info;
480 struct mptsas_portinfo *port_info;
487 port_info = port_details->port_info;
488 phy_info = port_info->phy_info;
495 for (i = 0; i < port_info->num_phys; i++, phy_info++) {
857 mptsas_setup_wide_ports(MPT_ADAPTER *ioc, struct mptsas_portinfo *port_info)
866 phy_info = port_info->phy_info;
867 for (i = 0 ; i < port_info->num_phys ; i++, phy_info++) {
898 phy_info = port_info->phy_info;
899 for (i = 0 ; i < port_info->num_phys ; i++, phy_info++) {
915 port_details->port_info = port_info;
926 if (i == port_info->num_phys - 1)
928 phy_info_cmp = &port_info->phy_info[i + 1];
929 for (j = i + 1 ; j < port_info->num_phys ; j++,
967 for (i = 0; i < port_info->num_phys; i++) {
968 port_details = port_info->phy_info[i].port_details;
1524 struct mptsas_portinfo *port_info;
1580 port_info = phy_info->portinfo;
1581 phy_info_parent = port_info->phy_info;
1582 for (i = 0; i < port_info->num_phys; i++, phy_info_parent++) {
1608 struct mptsas_portinfo *port_info;
1615 port_info = phy_info->portinfo;
1616 if (!port_info)
1619 for (i = 0; i < port_info->num_phys; i++) {
1620 if (port_info->phy_info[i].attached.sas_address !=
1623 port_info->phy_info[i].attached.channel = sas_device->channel;
1624 port_info->phy_info[i].attached.id = sas_device->id;
1625 port_info->phy_info[i].attached.sas_address =
1627 port_info->phy_info[i].attached.handle = sas_device->handle;
1628 port_info->phy_info[i].attached.handle_parent =
1630 port_info->phy_info[i].attached.handle_enclosure =
2282 struct mptsas_portinfo *port_info;
2285 port_info = ioc->hba_port_info;
2286 if (port_info && port_info->phy_info)
2288 port_info->phy_info[0].phy->identify.sas_address;
2384 mptsas_sas_io_unit_pg0(MPT_ADAPTER *ioc, struct mptsas_portinfo *port_info)
2429 port_info->num_phys = buffer->NumPhys;
2430 port_info->phy_info = kcalloc(port_info->num_phys,
2432 if (!port_info->phy_info) {
2442 for (i = 0; i < port_info->num_phys; i++) {
2444 port_info->phy_info[i].phy_id = i;
2445 port_info->phy_info[i].port_id =
2447 port_info->phy_info[i].negotiated_link_rate =
2449 port_info->phy_info[i].portinfo = port_info;
2450 port_info->phy_info[i].handle =
2664 mptsas_sas_expander_pg0(MPT_ADAPTER *ioc, struct mptsas_portinfo *port_info,
2674 memset(port_info, 0, sizeof(struct mptsas_portinfo));
2690 memset(port_info, 0, sizeof(struct mptsas_portinfo));
2720 port_info->num_phys = (buffer->NumPhys) ? buffer->NumPhys : 1;
2721 port_info->phy_info = kcalloc(port_info->num_phys,
2723 if (!port_info->phy_info) {
2729 for (i = 0; i < port_info->num_phys; i++) {
2730 port_info->phy_info[i].portinfo = port_info;
2731 port_info->phy_info[i].handle =
2733 port_info->phy_info[i].identify.sas_address =
2735 port_info->phy_info[i].identify.handle_parent =
3238 struct mptsas_portinfo *port_info;
3241 port_info = ioc->hba_port_info;
3243 for (i = 0; i < port_info->num_phys; i++)
3244 if (port_info->phy_info[i].identify.sas_address ==
3312 struct mptsas_portinfo *port_info, *hba;
3325 port_info = ioc->hba_port_info;
3326 if (!port_info) {
3327 ioc->hba_port_info = port_info = hba;
3328 ioc->hba_port_num_phy = port_info->num_phys;
3329 list_add_tail(&port_info->list, &ioc->sas_topology);
3332 port_info->phy_info[i].negotiated_link_rate =
3334 port_info->phy_info[i].handle =
3336 port_info->phy_info[i].port_id =
3345 ioc->num_ports = port_info->num_phys;
3347 for (i = 0; i < port_info->num_phys; i++) {
3348 mptsas_sas_phy_pg0(ioc, &port_info->phy_info[i],
3351 port_info->phy_info[i].identify.handle =
3352 port_info->phy_info[i].handle;
3353 mptsas_sas_device_pg0(ioc, &port_info->phy_info[i].identify,
3356 port_info->phy_info[i].identify.handle);
3359 port_info->phy_info[i].identify.sas_address;
3360 port_info->phy_info[i].identify.phy_id =
3361 port_info->phy_info[i].phy_id = i;
3362 if (port_info->phy_info[i].attached.handle)
3364 &port_info->phy_info[i].attached,
3367 port_info->phy_info[i].attached.handle);
3370 mptsas_setup_wide_ports(ioc, port_info);
3372 for (i = 0; i < port_info->num_phys; i++, ioc->sas_index++)
3374 &port_info->phy_info[i], ioc->sas_index, 1);
3385 mptsas_expander_refresh(MPT_ADAPTER *ioc, struct mptsas_portinfo *port_info)
3394 handle = port_info->phy_info[0].handle;
3395 sas_address = port_info->phy_info[0].identify.sas_address;
3396 for (i = 0; i < port_info->num_phys; i++) {
3397 mptsas_sas_expander_pg1(ioc, &port_info->phy_info[i],
3402 &port_info->phy_info[i].identify,
3405 port_info->phy_info[i].identify.handle);
3406 port_info->phy_info[i].identify.phy_id =
3407 port_info->phy_info[i].phy_id;
3409 if (port_info->phy_info[i].attached.handle) {
3411 &port_info->phy_info[i].attached,
3414 port_info->phy_info[i].attached.handle);
3415 port_info->phy_info[i].attached.phy_id =
3416 port_info->phy_info[i].phy_id;
3422 port_info->phy_info[0].identify.handle_parent);
3436 mptsas_setup_wide_ports(ioc, port_info);
3437 for (i = 0; i < port_info->num_phys; i++, ioc->sas_index++)
3438 mptsas_probe_one_phy(parent_dev, &port_info->phy_info[i],
3446 struct mptsas_portinfo *port_info;
3450 port_info = kzalloc(sizeof(struct mptsas_portinfo), GFP_KERNEL);
3451 BUG_ON(!port_info);
3452 port_info->num_phys = (expander_data->NumPhys) ?
3454 port_info->phy_info = kcalloc(port_info->num_phys,
3456 BUG_ON(!port_info->phy_info);
3458 for (i = 0; i < port_info->num_phys; i++) {
3459 port_info->phy_info[i].portinfo = port_info;
3460 port_info->phy_info[i].handle =
3462 port_info->phy_info[i].identify.sas_address =
3464 port_info->phy_info[i].identify.handle_parent =
3469 list_add_tail(&port_info->list, &ioc->sas_topology);
3473 "sas_addr (0x%llx)\n", ioc->name, port_info->num_phys,
3476 mptsas_expander_refresh(ioc, port_info);
3482 * @parent: the parent port_info object
3483 * @expander: the expander port_info object
3490 struct mptsas_portinfo *port_info;
3512 port_info = mptsas_find_portinfo_by_sas_address(ioc,
3514 if (!port_info)
3516 if (port_info == parent) /* backlink rphy */
3522 mptsas_expander_delete(ioc, port_info, 1);
3531 * @port_info: expander port_info struct
3537 struct mptsas_portinfo *port_info, u8 force)
3548 if (!port_info)
3555 port_info->phy_info[0].identify.handle);
3565 * Obtain the port_info instance to the parent port
3569 port_info->phy_info[0].identify.sas_address;
3571 port_info->phy_info[0].identify.handle_parent);
3572 mptsas_delete_expander_siblings(ioc, parent, port_info);
3608 "sas_addr (0x%llx)\n", ioc->name, port_info->num_phys,
3614 list_del(&port_info->list);
3615 kfree(port_info->phy_info);
3616 kfree(port_info);
3633 struct mptsas_portinfo *port_info;
3642 port_info = mptsas_find_portinfo_by_sas_address(ioc, sas_address);
3645 if (port_info) {
3646 for (i = 0; i < port_info->num_phys; i++) {
3647 port_info->phy_info[i].portinfo = port_info;
3648 port_info->phy_info[i].handle =
3650 port_info->phy_info[i].identify.sas_address =
3652 port_info->phy_info[i].identify.handle_parent =
3655 mptsas_expander_refresh(ioc, port_info);
3656 } else if (!port_info && expander_data->NumPhys)
3660 mptsas_expander_delete(ioc, port_info, 0);
3675 struct mptsas_portinfo buffer, *port_info;
3683 port_info = kzalloc(sizeof(struct mptsas_portinfo), GFP_KERNEL);
3684 if (!port_info) {
3690 port_info->num_phys = buffer.num_phys;
3691 port_info->phy_info = buffer.phy_info;
3692 for (i = 0; i < port_info->num_phys; i++)
3693 port_info->phy_info[i].portinfo = port_info;
3695 list_add_tail(&port_info->list, &ioc->sas_topology);
3698 "sas_addr (0x%llx)\n", ioc->name, port_info->num_phys,
3700 mptsas_expander_refresh(ioc, port_info);
3701 return port_info;
3709 struct mptsas_portinfo *port_info;
3723 port_info = mptsas_find_portinfo_by_sas_address(ioc, sas_address);
3724 if (port_info) {
3725 phy_info = &port_info->phy_info[phy_num];
3734 if (!port_info) {
3736 port_info = mptsas_expander_add(ioc,
3738 if (port_info)
3744 if (port_info == ioc->hba_port_info)
3747 mptsas_expander_refresh(ioc, port_info);
3800 struct mptsas_portinfo buffer, *port_info;
3890 list_for_each_entry(port_info, &ioc->sas_topology, list) {
3892 if (!(port_info->phy_info[0].identify.device_info &
3904 port_info->phy_info[0].identify.sas_address) {
3911 mptsas_expander_delete(ioc, port_info, 0);
3926 struct mptsas_portinfo buffer, *port_info;
3936 port_info = mptsas_find_portinfo_by_sas_address(ioc,
3939 if (port_info) {
3942 port_info->phy_info[i].handle = handle;
3943 port_info->phy_info[i].identify.handle_parent =
3946 mptsas_expander_refresh(ioc, port_info);
3951 port_info = kzalloc(sizeof(struct mptsas_portinfo), GFP_KERNEL);
3952 if (!port_info) {
3958 port_info->num_phys = buffer.num_phys;
3959 port_info->phy_info = buffer.phy_info;
3960 for (i = 0; i < port_info->num_phys; i++)
3961 port_info->phy_info[i].portinfo = port_info;
3963 list_add_tail(&port_info->list, &ioc->sas_topology);
3966 "sas_addr (0x%llx)\n", ioc->name, port_info->num_phys,
3968 mptsas_expander_refresh(ioc, port_info);
4138 struct mptsas_portinfo *port_info;
4143 list_for_each_entry(port_info, &ioc->sas_topology, list) {
4144 for (i = 0; i < port_info->num_phys; i++) {
4146 &port_info->phy_info[i].attached))
4148 if (port_info->phy_info[i].attached.sas_address
4151 phy_info = &port_info->phy_info[i];
4173 struct mptsas_portinfo *port_info;
4215 list_for_each_entry(port_info, &ioc->sas_topology, list) {
4216 for (i = 0; i < port_info->num_phys && !phy_info; i++) {
4218 &port_info->phy_info[i].attached))
4220 if (port_info->phy_info[i].attached.phys_disk_num == ~0)
4222 if ((port_info->phy_info[i].attached.phys_disk_num ==
4224 (port_info->phy_info[i].attached.id == id) &&
4225 (port_info->phy_info[i].attached.channel ==
4227 phy_info = &port_info->phy_info[i];
4338 struct mptsas_portinfo *port_info;
4385 port_info = mptsas_find_portinfo_by_handle(ioc,
4388 if (port_info == ioc->hba_port_info)
4390 else if (port_info)
4391 mptsas_expander_refresh(ioc, port_info);