Lines Matching defs:qdio
817 static struct zfcp_fsf_req *zfcp_fsf_req_create(struct zfcp_qdio *qdio,
821 struct zfcp_adapter *adapter = qdio->adapter;
858 zfcp_qdio_req_init(adapter->qdio, &req->qdio_req, req->req_id, sbtype,
868 struct zfcp_qdio *qdio = adapter->qdio;
873 req->qdio_req.qdio_outb_usage = atomic_read(&qdio->req_q_free);
875 if (zfcp_qdio_send(qdio, &req->qdio_req)) {
905 * @qdio: pointer to struct zfcp_qdio
908 int zfcp_fsf_status_read(struct zfcp_qdio *qdio)
910 struct zfcp_adapter *adapter = qdio->adapter;
916 spin_lock_irq(&qdio->req_q_lock);
917 if (zfcp_qdio_sbal_get(qdio))
920 req = zfcp_fsf_req_create(qdio, FSF_QTCB_UNSOLICITED_STATUS,
937 zfcp_qdio_fill_next(qdio, &req->qdio_req, sr_buf, sizeof(*sr_buf));
938 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
954 spin_unlock_irq(&qdio->req_q_lock);
1026 struct zfcp_qdio *qdio = zfcp_sdev->port->adapter->qdio;
1029 spin_lock_irq(&qdio->req_q_lock);
1030 if (zfcp_qdio_sbal_get(qdio))
1032 req = zfcp_fsf_req_create(qdio, FSF_QTCB_ABORT_FCP_CMND,
1034 qdio->adapter->pool.scsi_abort);
1044 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1062 spin_unlock_irq(&qdio->req_q_lock);
1113 static void zfcp_fsf_setup_ct_els_unchained(struct zfcp_qdio *qdio,
1118 zfcp_qdio_fill_next(qdio, q_req, sg_virt(sg_req), sg_req->length);
1119 zfcp_qdio_fill_next(qdio, q_req, sg_virt(sg_resp), sg_resp->length);
1120 zfcp_qdio_set_sbale_last(qdio, q_req);
1128 struct zfcp_qdio *qdio = adapter->qdio;
1133 if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_req))
1137 if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_resp))
1142 zfcp_qdio_set_data_div(qdio, &req->qdio_req, sg_nents(sg_req));
1143 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1144 zfcp_qdio_set_scount(qdio, &req->qdio_req);
1150 zfcp_fsf_setup_ct_els_unchained(qdio, &req->qdio_req,
1158 if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_req))
1163 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1164 zfcp_qdio_skip_to_last_sbale(qdio, &req->qdio_req);
1166 if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_resp))
1171 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1208 struct zfcp_qdio *qdio = wka_port->adapter->qdio;
1212 spin_lock_irq(&qdio->req_q_lock);
1213 if (zfcp_qdio_sbal_get(qdio))
1216 req = zfcp_fsf_req_create(qdio, FSF_QTCB_SEND_GENERIC,
1246 spin_unlock_irq(&qdio->req_q_lock);
1305 struct zfcp_qdio *qdio = adapter->qdio;
1308 spin_lock_irq(&qdio->req_q_lock);
1309 if (zfcp_qdio_sbal_get(qdio))
1312 req = zfcp_fsf_req_create(qdio, FSF_QTCB_SEND_ELS,
1323 zfcp_qdio_sbal_limit(qdio, &req->qdio_req, 2);
1347 spin_unlock_irq(&qdio->req_q_lock);
1354 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
1357 spin_lock_irq(&qdio->req_q_lock);
1358 if (zfcp_qdio_sbal_get(qdio))
1361 req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_CONFIG_DATA,
1363 qdio->adapter->pool.erp_req);
1371 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1390 spin_unlock_irq(&qdio->req_q_lock);
1397 * @qdio: pointer to the QDIO-Queue to use for sending the command.
1407 int zfcp_fsf_exchange_config_data_sync(struct zfcp_qdio *qdio,
1413 spin_lock_irq(&qdio->req_q_lock);
1414 if (zfcp_qdio_sbal_get(qdio))
1417 req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_CONFIG_DATA,
1425 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1439 spin_unlock_irq(&qdio->req_q_lock);
1456 spin_unlock_irq(&qdio->req_q_lock);
1467 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
1471 if (!(qdio->adapter->adapter_features & FSF_FEATURE_HBAAPI_MANAGEMENT))
1474 spin_lock_irq(&qdio->req_q_lock);
1475 if (zfcp_qdio_sbal_get(qdio))
1478 req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_PORT_DATA,
1480 qdio->adapter->pool.erp_req);
1488 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1502 spin_unlock_irq(&qdio->req_q_lock);
1508 * @qdio: pointer to the QDIO-Queue to use for sending the command.
1519 int zfcp_fsf_exchange_port_data_sync(struct zfcp_qdio *qdio,
1525 if (!(qdio->adapter->adapter_features & FSF_FEATURE_HBAAPI_MANAGEMENT))
1528 spin_lock_irq(&qdio->req_q_lock);
1529 if (zfcp_qdio_sbal_get(qdio))
1532 req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_PORT_DATA,
1543 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1548 spin_unlock_irq(&qdio->req_q_lock);
1565 spin_unlock_irq(&qdio->req_q_lock);
1760 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
1765 spin_lock_irq(&qdio->req_q_lock);
1766 if (zfcp_qdio_sbal_get(qdio))
1769 req = zfcp_fsf_req_create(qdio, FSF_QTCB_OPEN_PORT_WITH_DID,
1771 qdio->adapter->pool.erp_req);
1779 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1797 spin_unlock_irq(&qdio->req_q_lock);
1828 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
1832 spin_lock_irq(&qdio->req_q_lock);
1833 if (zfcp_qdio_sbal_get(qdio))
1836 req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_PORT,
1838 qdio->adapter->pool.erp_req);
1846 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1862 spin_unlock_irq(&qdio->req_q_lock);
1902 struct zfcp_qdio *qdio = wka_port->adapter->qdio;
1907 spin_lock_irq(&qdio->req_q_lock);
1908 if (zfcp_qdio_sbal_get(qdio))
1911 req = zfcp_fsf_req_create(qdio, FSF_QTCB_OPEN_PORT_WITH_DID,
1913 qdio->adapter->pool.erp_req);
1921 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1935 spin_unlock_irq(&qdio->req_q_lock);
1961 struct zfcp_qdio *qdio = wka_port->adapter->qdio;
1966 spin_lock_irq(&qdio->req_q_lock);
1967 if (zfcp_qdio_sbal_get(qdio))
1970 req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_PORT,
1972 qdio->adapter->pool.erp_req);
1980 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
1994 spin_unlock_irq(&qdio->req_q_lock);
2055 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
2059 spin_lock_irq(&qdio->req_q_lock);
2060 if (zfcp_qdio_sbal_get(qdio))
2063 req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_PHYSICAL_PORT,
2065 qdio->adapter->pool.erp_req);
2073 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
2089 spin_unlock_irq(&qdio->req_q_lock);
2175 struct zfcp_qdio *qdio = adapter->qdio;
2179 spin_lock_irq(&qdio->req_q_lock);
2180 if (zfcp_qdio_sbal_get(qdio))
2183 req = zfcp_fsf_req_create(qdio, FSF_QTCB_OPEN_LUN,
2193 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
2213 spin_unlock_irq(&qdio->req_q_lock);
2266 struct zfcp_qdio *qdio = erp_action->adapter->qdio;
2271 spin_lock_irq(&qdio->req_q_lock);
2272 if (zfcp_qdio_sbal_get(qdio))
2275 req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_LUN,
2277 qdio->adapter->pool.erp_req);
2285 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
2302 spin_unlock_irq(&qdio->req_q_lock);
2547 struct zfcp_qdio *qdio = adapter->qdio;
2555 spin_lock_irqsave(&qdio->req_q_lock, flags);
2556 if (atomic_read(&qdio->req_q_free) <= 0) {
2557 atomic_inc(&qdio->req_q_full);
2564 req = zfcp_fsf_req_create(qdio, FSF_QTCB_FCP_CMND,
2597 zfcp_qdio_set_data_div(qdio, &req->qdio_req,
2599 retval = zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req,
2607 retval = zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req,
2612 zfcp_qdio_set_sbale_last(adapter->qdio, &req->qdio_req);
2614 zfcp_qdio_set_scount(qdio, &req->qdio_req);
2627 spin_unlock_irqrestore(&qdio->req_q_lock, flags);
2660 struct zfcp_qdio *qdio = zfcp_sdev->port->adapter->qdio;
2666 spin_lock_irq(&qdio->req_q_lock);
2667 if (zfcp_qdio_sbal_get(qdio))
2670 req = zfcp_fsf_req_create(qdio, FSF_QTCB_FCP_CMND,
2672 qdio->adapter->pool.scsi_req);
2688 zfcp_qdio_set_sbale_last(qdio, &req->qdio_req);
2702 spin_unlock_irq(&qdio->req_q_lock);
2708 * @qdio: pointer to struct zfcp_qdio
2711 void zfcp_fsf_reqid_check(struct zfcp_qdio *qdio, int sbal_idx)
2713 struct zfcp_adapter *adapter = qdio->adapter;
2714 struct qdio_buffer *sbal = qdio->res_q[sbal_idx];