Lines Matching defs:qdio

836 static struct zfcp_fsf_req *zfcp_fsf_req_create(struct zfcp_qdio *qdio,
840 struct zfcp_adapter *adapter = qdio->adapter;
876 zfcp_qdio_req_init(adapter->qdio, &req->qdio_req, req->req_id, sbtype,
886 struct zfcp_qdio *qdio = adapter->qdio;
891 req->qdio_req.qdio_outb_usage = atomic_read(&qdio->req_q_free);
893 if (zfcp_qdio_send(qdio, &req->qdio_req)) {
926 * @qdio: pointer to struct zfcp_qdio
929 int zfcp_fsf_status_read(struct zfcp_qdio *qdio)
931 struct zfcp_adapter *adapter = qdio->adapter;
937 spin_lock_irq(&qdio->req_q_lock);
938 if (zfcp_qdio_sbal_get(qdio))
941 req = zfcp_fsf_req_create(qdio, FSF_QTCB_UNSOLICITED_STATUS,
958 zfcp_qdio_fill_next(qdio, &req->qdio_req, sr_buf, sizeof(*sr_buf));
959 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
975 spin_unlock_irq(&qdio->req_q_lock);
1047 struct zfcp_qdio *qdio = zfcp_sdev->port->adapter->qdio;
1050 spin_lock_irq(&qdio->req_q_lock);
1051 if (zfcp_qdio_sbal_get(qdio))
1053 req = zfcp_fsf_req_create(qdio, FSF_QTCB_ABORT_FCP_CMND,
1055 qdio->adapter->pool.scsi_abort);
1065 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1083 spin_unlock_irq(&qdio->req_q_lock);
1134 static void zfcp_fsf_setup_ct_els_unchained(struct zfcp_qdio *qdio,
1139 zfcp_qdio_fill_next(qdio, q_req, sg_virt(sg_req), sg_req->length);
1140 zfcp_qdio_fill_next(qdio, q_req, sg_virt(sg_resp), sg_resp->length);
1141 zfcp_qdio_set_sbale_last(qdio, q_req);
1149 struct zfcp_qdio *qdio = adapter->qdio;
1154 if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_req))
1158 if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_resp))
1163 zfcp_qdio_set_data_div(qdio, &req->qdio_req, sg_nents(sg_req));
1164 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1165 zfcp_qdio_set_scount(qdio, &req->qdio_req);
1171 zfcp_fsf_setup_ct_els_unchained(qdio, &req->qdio_req,
1179 if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_req))
1184 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1185 zfcp_qdio_skip_to_last_sbale(qdio, &req->qdio_req);
1187 if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_resp))
1192 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1229 struct zfcp_qdio *qdio = wka_port->adapter->qdio;
1233 spin_lock_irq(&qdio->req_q_lock);
1234 if (zfcp_qdio_sbal_get(qdio))
1237 req = zfcp_fsf_req_create(qdio, FSF_QTCB_SEND_GENERIC,
1267 spin_unlock_irq(&qdio->req_q_lock);
1326 struct zfcp_qdio *qdio = adapter->qdio;
1329 spin_lock_irq(&qdio->req_q_lock);
1330 if (zfcp_qdio_sbal_get(qdio))
1333 req = zfcp_fsf_req_create(qdio, FSF_QTCB_SEND_ELS,
1344 zfcp_qdio_sbal_limit(qdio, &req->qdio_req, 2);
1368 spin_unlock_irq(&qdio->req_q_lock);
1375 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
1378 spin_lock_irq(&qdio->req_q_lock);
1379 if (zfcp_qdio_sbal_get(qdio))
1382 req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_CONFIG_DATA,
1384 qdio->adapter->pool.erp_req);
1392 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1411 spin_unlock_irq(&qdio->req_q_lock);
1418 * @qdio: pointer to the QDIO-Queue to use for sending the command.
1428 int zfcp_fsf_exchange_config_data_sync(struct zfcp_qdio *qdio,
1434 spin_lock_irq(&qdio->req_q_lock);
1435 if (zfcp_qdio_sbal_get(qdio))
1438 req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_CONFIG_DATA,
1446 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1460 spin_unlock_irq(&qdio->req_q_lock);
1477 spin_unlock_irq(&qdio->req_q_lock);
1488 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
1492 if (!(qdio->adapter->adapter_features & FSF_FEATURE_HBAAPI_MANAGEMENT))
1495 spin_lock_irq(&qdio->req_q_lock);
1496 if (zfcp_qdio_sbal_get(qdio))
1499 req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_PORT_DATA,
1501 qdio->adapter->pool.erp_req);
1509 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1523 spin_unlock_irq(&qdio->req_q_lock);
1529 * @qdio: pointer to the QDIO-Queue to use for sending the command.
1540 int zfcp_fsf_exchange_port_data_sync(struct zfcp_qdio *qdio,
1546 if (!(qdio->adapter->adapter_features & FSF_FEATURE_HBAAPI_MANAGEMENT))
1549 spin_lock_irq(&qdio->req_q_lock);
1550 if (zfcp_qdio_sbal_get(qdio))
1553 req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_PORT_DATA,
1564 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1569 spin_unlock_irq(&qdio->req_q_lock);
1586 spin_unlock_irq(&qdio->req_q_lock);
1781 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
1786 spin_lock_irq(&qdio->req_q_lock);
1787 if (zfcp_qdio_sbal_get(qdio))
1790 req = zfcp_fsf_req_create(qdio, FSF_QTCB_OPEN_PORT_WITH_DID,
1792 qdio->adapter->pool.erp_req);
1800 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1818 spin_unlock_irq(&qdio->req_q_lock);
1849 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
1853 spin_lock_irq(&qdio->req_q_lock);
1854 if (zfcp_qdio_sbal_get(qdio))
1857 req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_PORT,
1859 qdio->adapter->pool.erp_req);
1867 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1883 spin_unlock_irq(&qdio->req_q_lock);
1923 struct zfcp_qdio *qdio = wka_port->adapter->qdio;
1928 spin_lock_irq(&qdio->req_q_lock);
1929 if (zfcp_qdio_sbal_get(qdio))
1932 req = zfcp_fsf_req_create(qdio, FSF_QTCB_OPEN_PORT_WITH_DID,
1934 qdio->adapter->pool.erp_req);
1942 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1956 spin_unlock_irq(&qdio->req_q_lock);
1982 struct zfcp_qdio *qdio = wka_port->adapter->qdio;
1987 spin_lock_irq(&qdio->req_q_lock);
1988 if (zfcp_qdio_sbal_get(qdio))
1991 req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_PORT,
1993 qdio->adapter->pool.erp_req);
2001 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
2015 spin_unlock_irq(&qdio->req_q_lock);
2076 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
2080 spin_lock_irq(&qdio->req_q_lock);
2081 if (zfcp_qdio_sbal_get(qdio))
2084 req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_PHYSICAL_PORT,
2086 qdio->adapter->pool.erp_req);
2094 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
2110 spin_unlock_irq(&qdio->req_q_lock);
2196 struct zfcp_qdio *qdio = adapter->qdio;
2200 spin_lock_irq(&qdio->req_q_lock);
2201 if (zfcp_qdio_sbal_get(qdio))
2204 req = zfcp_fsf_req_create(qdio, FSF_QTCB_OPEN_LUN,
2214 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
2234 spin_unlock_irq(&qdio->req_q_lock);
2287 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
2292 spin_lock_irq(&qdio->req_q_lock);
2293 if (zfcp_qdio_sbal_get(qdio))
2296 req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_LUN,
2298 qdio->adapter->pool.erp_req);
2306 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
2323 spin_unlock_irq(&qdio->req_q_lock);
2568 struct zfcp_qdio *qdio = adapter->qdio;
2576 spin_lock_irqsave(&qdio->req_q_lock, flags);
2577 if (atomic_read(&qdio->req_q_free) <= 0) {
2578 atomic_inc(&qdio->req_q_full);
2585 req = zfcp_fsf_req_create(qdio, FSF_QTCB_FCP_CMND,
2619 zfcp_qdio_set_data_div(qdio, &req->qdio_req,
2621 retval = zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req,
2629 retval = zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req,
2634 zfcp_qdio_set_sbale_last(adapter->qdio, &req->qdio_req);
2636 zfcp_qdio_set_scount(qdio, &req->qdio_req);
2649 spin_unlock_irqrestore(&qdio->req_q_lock, flags);
2682 struct zfcp_qdio *qdio = zfcp_sdev->port->adapter->qdio;
2688 spin_lock_irq(&qdio->req_q_lock);
2689 if (zfcp_qdio_sbal_get(qdio))
2692 req = zfcp_fsf_req_create(qdio, FSF_QTCB_FCP_CMND,
2694 qdio->adapter->pool.scsi_req);
2710 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
2724 spin_unlock_irq(&qdio->req_q_lock);
2730 * @qdio: pointer to struct zfcp_qdio
2733 void zfcp_fsf_reqid_check(struct zfcp_qdio *qdio, int sbal_idx)
2735 struct zfcp_adapter *adapter = qdio->adapter;
2736 struct qdio_buffer *sbal = qdio->res_q[sbal_idx];