Lines Matching refs:port

206  * @VP_ID: virtual port id
268 * @VP_ID: virtual port id
375 * mpt3sas_get_port_by_id - get hba port entry corresponding to provided
376 * port number from port list
378 * @port_id: port number
379 * @bypass_dirty_port_flag: when set look the matching hba port entry even
380 * if hba port entry is marked as dirty.
382 * Search for hba port entry corresponding to provided port number,
383 * if available return port object otherwise return NULL.
389 struct hba_port *port, *port_next;
394 * port id i.e. 255
399 list_for_each_entry_safe(port, port_next,
401 if (port->port_id != port_id)
404 return port;
405 if (port->flags & HBA_PORT_FLAG_DIRTY_PORT)
407 return port;
411 * Allocate hba_port object for default port id (i.e. 255)
416 port = kzalloc(sizeof(struct hba_port), GFP_ATOMIC);
417 if (!port)
420 port->port_id = port_id;
422 "hba_port entry: %p, port: %d is added to hba_port list\n",
423 port, port->port_id);
424 list_add_tail(&port->list,
426 return port;
434 * @port: hba_port object
441 struct hba_port *port, u32 phy)
445 if (!port->vphys_mask)
448 list_for_each_entry_safe(vphy, vphy_next, &port->vphys_list, list) {
756 * @port: port number
763 u64 sas_address, struct hba_port *port)
767 if (!port)
775 if (sas_device->port != port)
784 if (sas_device->port != port)
797 * @port: hba port entry
800 * This searches for sas_device based on sas_address & port number,
805 u64 sas_address, struct hba_port *port)
812 sas_address, port);
982 * sas address & port number
985 * @port: hba port entry
991 u64 sas_address, struct hba_port *port)
1000 sas_device = __mpt3sas_get_sdev_by_addr(ioc, sas_address, port);
1045 sas_device->sas_address_parent, sas_device->port)) {
1057 sas_device->port);
1594 * @port: hba port entry
1597 * This searches for expander device based on sas_address & port number,
1602 u64 sas_address, struct hba_port *port)
1606 if (!port)
1612 if (sas_expander->port != port)
1913 sas_target_priv_data->port = NULL;
1936 sas_target_priv_data->port = sas_device->port;
2093 sas_target_priv_data->port);
2661 "%s: handle(0x%04x), wwid(0x%016llx), port(%d)\n",
2696 sas_device_priv_data->sas_target->port);
3238 "handle(0x%04x), wwid(0x%016llx), port(%d)\n",
3642 * mpt3sas_port_enable_complete - port enable completed (fake event)
3733 * new port enable request as part of current diag reset.
3855 * @port: hba port entry
3861 u64 sas_address, struct hba_port *port)
3873 if (sas_device_priv_data->sas_target->port != port)
4085 struct hba_port *port = NULL;
4114 port = sas_device->port;
4162 _scsih_ublock_io_device(ioc, sas_address, port);
5467 ioc_info(ioc, "\twwid(0x%016llx), port(%d)\n",
5946 struct hba_port *port, *port_next, *mport;
5953 list_for_each_entry_safe(port, port_next,
5955 if (!port->vphys_mask)
5958 &port->vphys_list, list) {
6024 port = port_next = NULL;
6027 * each port's vphys_list.
6029 list_for_each_entry_safe(port,
6031 if (!port->vphys_mask)
6034 &port->vphys_list, list) {
6071 "%s: hba_port entry: %p, port: %d is added to hba_port list\n",
6077 * If mport & port pointers are not pointing to
6081 * port's vphys_list to mport's vphys_list.
6083 if (port != mport) {
6088 port->vphys_mask &= ~(1 << i);
6092 ioc, attached_sas_addr, port);
6094 sas_device->port = mport;
6126 * _scsih_get_port_table_after_reset - Construct temporary port table
6128 * @port_table: address where port table needs to be constructed
6130 * return number of HBA port entries available after reset.
6205 * _scsih_look_and_get_matched_port_entry - Get matched hba port entry
6206 * from HBA port table
6208 * @port_entry: hba port entry from temporary port table which needs to be
6209 * searched for matched entry in the HBA port table
6210 * @matched_port_entry: save matched hba port entry here
6274 * is a part of anther port
6276 *@port_table: port table after reset
6277 *@index: hba port entry index
6307 * right port
6309 *@hba_port_entry: hba port table entry
6310 *@port_table: temporary port table
6311 *@index: hba port entry index
6353 struct hba_port *port, *port_next;
6356 list_for_each_entry_safe(port, port_next,
6358 if (!port->vphys_mask)
6361 &port->vphys_list, list) {
6364 "Deleting vphy %p entry from port id: %d\t, Phy_mask 0x%08x\n",
6365 vphy, port->port_id,
6367 port->vphys_mask &= ~vphy->phy_mask;
6372 if (!port->vphys_mask && !port->sas_address)
6373 port->flags |= HBA_PORT_FLAG_DIRTY_PORT;
6378 * _scsih_del_dirty_port_entries - delete dirty port entries from port list
6386 struct hba_port *port, *port_next;
6388 list_for_each_entry_safe(port, port_next,
6390 if (!(port->flags & HBA_PORT_FLAG_DIRTY_PORT) ||
6391 port->flags & HBA_PORT_FLAG_NEW_PORT)
6395 "Deleting port table entry %p having Port: %d\t Phy_mask 0x%08x\n",
6396 port, port->port_id, port->phy_mask));
6397 list_del(&port->list);
6398 kfree(port);
6403 * _scsih_sas_port_refresh - Update HBA port table after host reset
6520 struct hba_port *port;
6522 port = mpt3sas_get_port_by_id(ioc, port_id, 0);
6523 if (!port)
6526 vphy = mpt3sas_get_vphy_by_phy(ioc, port, phy_num);
6532 if (!port->vphys_mask)
6533 INIT_LIST_HEAD(&port->vphys_list);
6539 port->vphys_mask |= (1 << phy_num);
6542 list_add_tail(&vphy->list, &port->vphys_list);
6545 "vphy entry: %p, port id: %d, phy:%d is added to port's vphys_list\n",
6546 vphy, port->port_id, phy_num);
6556 * During port enable, fw will send topology events for every device. Its
6570 struct hba_port *port;
6598 port = kzalloc(sizeof(struct hba_port), GFP_KERNEL);
6599 if (!port)
6602 port->port_id = port_id;
6604 "hba_port entry: %p, port: %d is added to hba_port list\n",
6605 port, port->port_id);
6607 port->flags = HBA_PORT_FLAG_NEW_PORT;
6608 list_add_tail(&port->list, &ioc->port_table_list);
6664 ioc->sas_hba.phy[i].port =
6668 ioc->sas_hba.phy[i].port);
6707 struct hba_port *port;
6804 port = kzalloc(sizeof(struct hba_port), GFP_KERNEL);
6805 if (!port)
6808 port->port_id = port_id;
6810 "hba_port entry: %p, port: %d is added to hba_port list\n",
6811 port, port->port_id);
6812 list_add_tail(&port->list,
6833 ioc->sas_hba.phy[i].port =
6957 sas_expander->port = mpt3sas_get_port_by_id(ioc, port_id, 0);
6958 if (!sas_expander->port) {
6984 sas_address_parent, sas_expander->port);
7004 sas_expander->phy[i].port =
7033 sas_address_parent, sas_expander->port);
7042 * @port: hba port entry
7046 struct hba_port *port)
7054 if (!port)
7059 sas_address, port);
7190 struct hba_port *port;
7200 /* wide port handling ~ we need only handle device once for the phy that
7213 port = mpt3sas_get_port_by_id(ioc, sas_device_pg0.PhysicalPort, 0);
7214 if (!port)
7217 sas_address, port);
7273 _scsih_ublock_io_device(ioc, sas_address, port);
7387 sas_device->port = mpt3sas_get_port_by_id(ioc, port_id, 0);
7388 if (!sas_device->port) {
7464 sas_device->port);
7473 sas_device->port);
7584 struct hba_port *port;
7606 port = mpt3sas_get_port_by_id(ioc, event_data->PhysicalPort, 0);
7619 port = sas_expander->port;
7662 handle, phy_number, link_rate, port);
7681 handle, phy_number, link_rate, port);
7696 mpt3sas_expander_remove(ioc, sas_address, port);
9709 struct hba_port *port = mpt3sas_get_port_by_id(
9727 if (sas_device->port != port)
10137 struct hba_port *port = mpt3sas_get_port_by_id(
10149 if (sas_expander->port != port)
10190 u8 port;
10208 port = expander_pg0.PhysicalPort;
10210 "\texpander present: handle(0x%04x), sas_addr(0x%016llx), port:%d\n",
10213 port : MULTIPATH_DISABLED_PORT_ID));
10357 sas_expander->port);
10753 ioc_info(ioc, "port enable: complete from worker thread\n"));
11050 port_id = sas_expander->port->port_id;
11053 sas_expander->sas_address_parent, sas_expander->port);
11056 "expander_remove: handle(0x%04x), sas_addr(0x%016llx), port:%d\n",
11251 struct hba_port *port, *port_next;
11318 list_for_each_entry_safe(port, port_next,
11320 list_del(&port->list);
11321 kfree(port);
11412 struct hba_port *port;
11475 port = sas_device->port;
11482 if (!port)
11486 sas_address_parent, port)) {
11492 sas_address_parent, port);
11580 sas_device->sas_address_parent, sas_device->port)) {
11595 sas_device->port);
11766 ioc_info(ioc, "port enable: FAILED\n");
11812 ioc_info(ioc, "port enable: FAILED with timeout (timeout=300s)\n");
11837 "port enable: aborted due to diag reset\n");
11842 ioc_info(ioc, "port enable: FAILED with (ioc_status=0x%08x)\n",
11850 ioc_info(ioc, "port enable: SUCCESS\n");