qdio 238 drivers/s390/net/qeth_core.h #define QETH_MAX_BUFFER_ELEMENTS(card) ((card)->qdio.in_buf_size >> 12) qdio 240 drivers/s390/net/qeth_core.h ((card)->qdio.in_buf_pool.buf_count / 2) qdio 243 drivers/s390/net/qeth_core.h #define QETH_PCI_THRESHOLD_A(card) ((card)->qdio.in_buf_pool.buf_count+1) qdio 538 drivers/s390/net/qeth_core.h for (i = 0; i < card->qdio.no_out_queues && \ qdio 539 drivers/s390/net/qeth_core.h (q = card->qdio.out_qs[i]); i++) qdio 835 drivers/s390/net/qeth_core.h struct qeth_qdio_info qdio; qdio 969 drivers/s390/net/qeth_core.h list_add_tail(&entry->list, &card->qdio.in_buf_pool.entry_list); qdio 209 drivers/s390/net/qeth_core_main.c &card->qdio.in_buf_pool.entry_list, list){ qdio 222 drivers/s390/net/qeth_core_main.c for (i = 0; i < card->qdio.init_pool.buf_count; ++i) { qdio 241 drivers/s390/net/qeth_core_main.c &card->qdio.init_pool.entry_list); qdio 256 drivers/s390/net/qeth_core_main.c card->qdio.in_buf_pool.buf_count = bufcnt; qdio 257 drivers/s390/net/qeth_core_main.c card->qdio.init_pool.buf_count = bufcnt; qdio 297 drivers/s390/net/qeth_core_main.c qdio_reset_buffers(card->qdio.c_q->qdio_bufs, qdio 299 drivers/s390/net/qeth_core_main.c card->qdio.c_q->next_buf_to_init = 127; qdio 301 drivers/s390/net/qeth_core_main.c card->qdio.no_in_queues - 1, 0, qdio 322 drivers/s390/net/qeth_core_main.c card->qdio.c_q = qeth_alloc_qdio_queue(); qdio 323 drivers/s390/net/qeth_core_main.c if (!card->qdio.c_q) { qdio 327 drivers/s390/net/qeth_core_main.c card->qdio.no_in_queues = 2; qdio 328 drivers/s390/net/qeth_core_main.c card->qdio.out_bufstates = qdio 329 drivers/s390/net/qeth_core_main.c kcalloc(card->qdio.no_out_queues * qdio 333 drivers/s390/net/qeth_core_main.c outbuf_states = card->qdio.out_bufstates; qdio 338 drivers/s390/net/qeth_core_main.c for (i = 0; i < card->qdio.no_out_queues; ++i) { qdio 339 drivers/s390/net/qeth_core_main.c card->qdio.out_qs[i]->bufstates = outbuf_states; qdio 344 drivers/s390/net/qeth_core_main.c card->qdio.c_q = NULL; qdio 345 drivers/s390/net/qeth_core_main.c card->qdio.no_in_queues = 1; qdio 347 drivers/s390/net/qeth_core_main.c QETH_CARD_TEXT_(card, 2, "iqc%d", card->qdio.no_in_queues); qdio 352 drivers/s390/net/qeth_core_main.c qeth_free_qdio_queue(card->qdio.c_q); qdio 353 drivers/s390/net/qeth_core_main.c card->qdio.c_q = NULL; qdio 361 drivers/s390/net/qeth_core_main.c if (card->qdio.c_q) { qdio 362 drivers/s390/net/qeth_core_main.c --card->qdio.no_in_queues; qdio 363 drivers/s390/net/qeth_core_main.c qeth_free_qdio_queue(card->qdio.c_q); qdio 364 drivers/s390/net/qeth_core_main.c card->qdio.c_q = NULL; qdio 366 drivers/s390/net/qeth_core_main.c kfree(card->qdio.out_bufstates); qdio 367 drivers/s390/net/qeth_core_main.c card->qdio.out_bufstates = NULL; qdio 485 drivers/s390/net/qeth_core_main.c card->qdio.c_q != NULL && qdio 487 drivers/s390/net/qeth_core_main.c queue == card->qdio.no_in_queues - 1; qdio 1181 drivers/s390/net/qeth_core_main.c for (i = 0; i < card->qdio.no_out_queues; ++i) { qdio 1182 drivers/s390/net/qeth_core_main.c if (card->qdio.out_qs[i]) qdio 1183 drivers/s390/net/qeth_core_main.c qeth_drain_output_queue(card->qdio.out_qs[i], false); qdio 1193 drivers/s390/net/qeth_core_main.c &card->qdio.init_pool.entry_list, init_list){ qdio 1238 drivers/s390/net/qeth_core_main.c if (card->qdio.no_out_queues == count) qdio 1241 drivers/s390/net/qeth_core_main.c if (atomic_read(&card->qdio.state) != QETH_QDIO_UNINITIALIZED) qdio 1247 drivers/s390/net/qeth_core_main.c card->qdio.no_out_queues = count; qdio 1271 drivers/s390/net/qeth_core_main.c QETH_CARD_TEXT_(card, 2, "nr:%x", card->qdio.no_out_queues); qdio 1279 drivers/s390/net/qeth_core_main.c atomic_set(&card->qdio.state, QETH_QDIO_UNINITIALIZED); qdio 1280 drivers/s390/net/qeth_core_main.c card->qdio.do_prio_queueing = QETH_PRIOQ_DEFAULT; qdio 1281 drivers/s390/net/qeth_core_main.c card->qdio.default_out_queue = QETH_DEFAULT_QUEUE; qdio 1284 drivers/s390/net/qeth_core_main.c card->qdio.no_in_queues = 1; qdio 1285 drivers/s390/net/qeth_core_main.c card->qdio.in_buf_size = QETH_IN_BUF_SIZE_DEFAULT; qdio 1287 drivers/s390/net/qeth_core_main.c card->qdio.init_pool.buf_count = QETH_IN_BUF_COUNT_HSDEFAULT; qdio 1289 drivers/s390/net/qeth_core_main.c card->qdio.init_pool.buf_count = QETH_IN_BUF_COUNT_DEFAULT; qdio 1290 drivers/s390/net/qeth_core_main.c card->qdio.in_buf_pool.buf_count = card->qdio.init_pool.buf_count; qdio 1291 drivers/s390/net/qeth_core_main.c INIT_LIST_HEAD(&card->qdio.in_buf_pool.entry_list); qdio 1292 drivers/s390/net/qeth_core_main.c INIT_LIST_HEAD(&card->qdio.init_pool.entry_list); qdio 1523 drivers/s390/net/qeth_core_main.c switch (atomic_cmpxchg(&card->qdio.state, QETH_QDIO_ESTABLISHED, qdio 1534 drivers/s390/net/qeth_core_main.c atomic_set(&card->qdio.state, QETH_QDIO_ALLOCATED); qdio 2131 drivers/s390/net/qeth_core_main.c card->qdio.in_buf_size = max_mtu + 2 * PAGE_SIZE; qdio 2334 drivers/s390/net/qeth_core_main.c if (atomic_cmpxchg(&card->qdio.state, QETH_QDIO_UNINITIALIZED, qdio 2339 drivers/s390/net/qeth_core_main.c card->qdio.in_q = qeth_alloc_qdio_queue(); qdio 2340 drivers/s390/net/qeth_core_main.c if (!card->qdio.in_q) qdio 2348 drivers/s390/net/qeth_core_main.c for (i = 0; i < card->qdio.no_out_queues; ++i) { qdio 2356 drivers/s390/net/qeth_core_main.c card->qdio.out_qs[i] = queue; qdio 2379 drivers/s390/net/qeth_core_main.c card->qdio.out_qs[i]->bufs[j]); qdio 2380 drivers/s390/net/qeth_core_main.c card->qdio.out_qs[i]->bufs[j] = NULL; qdio 2384 drivers/s390/net/qeth_core_main.c qeth_free_output_queue(card->qdio.out_qs[--i]); qdio 2385 drivers/s390/net/qeth_core_main.c card->qdio.out_qs[i] = NULL; qdio 2389 drivers/s390/net/qeth_core_main.c qeth_free_qdio_queue(card->qdio.in_q); qdio 2390 drivers/s390/net/qeth_core_main.c card->qdio.in_q = NULL; qdio 2392 drivers/s390/net/qeth_core_main.c atomic_set(&card->qdio.state, QETH_QDIO_UNINITIALIZED); qdio 2400 drivers/s390/net/qeth_core_main.c if (atomic_xchg(&card->qdio.state, QETH_QDIO_UNINITIALIZED) == qdio 2407 drivers/s390/net/qeth_core_main.c if (card->qdio.in_q->bufs[j].rx_skb) qdio 2408 drivers/s390/net/qeth_core_main.c dev_kfree_skb_any(card->qdio.in_q->bufs[j].rx_skb); qdio 2410 drivers/s390/net/qeth_core_main.c qeth_free_qdio_queue(card->qdio.in_q); qdio 2411 drivers/s390/net/qeth_core_main.c card->qdio.in_q = NULL; qdio 2415 drivers/s390/net/qeth_core_main.c for (i = 0; i < card->qdio.no_out_queues; i++) { qdio 2416 drivers/s390/net/qeth_core_main.c qeth_free_output_queue(card->qdio.out_qs[i]); qdio 2417 drivers/s390/net/qeth_core_main.c card->qdio.out_qs[i] = NULL; qdio 2576 drivers/s390/net/qeth_core_main.c &card->qdio.init_pool.entry_list, init_list) { qdio 2589 drivers/s390/net/qeth_core_main.c if (list_empty(&card->qdio.in_buf_pool.entry_list)) qdio 2592 drivers/s390/net/qeth_core_main.c list_for_each(plh, &card->qdio.in_buf_pool.entry_list) { qdio 2608 drivers/s390/net/qeth_core_main.c entry = list_entry(card->qdio.in_buf_pool.entry_list.next, qdio 2671 drivers/s390/net/qeth_core_main.c qdio_reset_buffers(card->qdio.in_q->qdio_bufs, QDIO_MAX_BUFFERS_PER_Q); qdio 2676 drivers/s390/net/qeth_core_main.c for (i = 0; i < card->qdio.in_buf_pool.buf_count - 1; i++) { qdio 2677 drivers/s390/net/qeth_core_main.c rc = qeth_init_input_buffer(card, &card->qdio.in_q->bufs[i]); qdio 2682 drivers/s390/net/qeth_core_main.c card->qdio.in_q->next_buf_to_init = qdio 2683 drivers/s390/net/qeth_core_main.c card->qdio.in_buf_pool.buf_count - 1; qdio 2685 drivers/s390/net/qeth_core_main.c card->qdio.in_buf_pool.buf_count - 1); qdio 2698 drivers/s390/net/qeth_core_main.c for (i = 0; i < card->qdio.no_out_queues; ++i) { qdio 2699 drivers/s390/net/qeth_core_main.c struct qeth_qdio_out_q *queue = card->qdio.out_qs[i]; qdio 3124 drivers/s390/net/qeth_core_main.c struct qeth_qdio_q *queue = card->qdio.in_q; qdio 3132 drivers/s390/net/qeth_core_main.c card->qdio.in_buf_pool.buf_count - qdio 3134 drivers/s390/net/qeth_core_main.c card->qdio.in_buf_pool.buf_count - qdio 3159 drivers/s390/net/qeth_core_main.c list_for_each(lh, &card->qdio.in_buf_pool.entry_list) qdio 3161 drivers/s390/net/qeth_core_main.c if (i == card->qdio.in_buf_pool.buf_count) { qdio 3430 drivers/s390/net/qeth_core_main.c struct qeth_qdio_q *cq = card->qdio.c_q; qdio 3463 drivers/s390/net/qeth_core_main.c card->qdio.c_q->next_buf_to_init, qdio 3470 drivers/s390/net/qeth_core_main.c card->qdio.c_q->next_buf_to_init = (card->qdio.c_q->next_buf_to_init qdio 3496 drivers/s390/net/qeth_core_main.c struct qeth_qdio_out_q *queue = card->qdio.out_qs[__queue]; qdio 3537 drivers/s390/net/qeth_core_main.c switch (card->qdio.do_prio_queueing) { qdio 3548 drivers/s390/net/qeth_core_main.c return card->qdio.default_out_queue; qdio 3550 drivers/s390/net/qeth_core_main.c if (card->qdio.do_prio_queueing == QETH_PRIO_Q_ING_PREC) qdio 3573 drivers/s390/net/qeth_core_main.c return card->qdio.default_out_queue; qdio 4722 drivers/s390/net/qeth_core_main.c (card->qdio.no_in_queues - 1); qdio 4726 drivers/s390/net/qeth_core_main.c card->qdio.c_q->bufs[i].buffer; qdio 4728 drivers/s390/net/qeth_core_main.c queue_start_poll[card->qdio.no_in_queues - 1] = NULL; qdio 4753 drivers/s390/net/qeth_core_main.c in_sbal_ptrs = kcalloc(card->qdio.no_in_queues * QDIO_MAX_BUFFERS_PER_Q, qdio 4762 drivers/s390/net/qeth_core_main.c in_sbal_ptrs[i] = card->qdio.in_q->bufs[i].buffer; qdio 4764 drivers/s390/net/qeth_core_main.c queue_start_poll = kcalloc(card->qdio.no_in_queues, sizeof(void *), qdio 4770 drivers/s390/net/qeth_core_main.c for (i = 0; i < card->qdio.no_in_queues; ++i) qdio 4776 drivers/s390/net/qeth_core_main.c kcalloc(card->qdio.no_out_queues * QDIO_MAX_BUFFERS_PER_Q, qdio 4784 drivers/s390/net/qeth_core_main.c for (i = 0, k = 0; i < card->qdio.no_out_queues; ++i) qdio 4787 drivers/s390/net/qeth_core_main.c card->qdio.out_qs[i]->bufs[j]->buffer; qdio 4795 drivers/s390/net/qeth_core_main.c init_data.no_input_qs = card->qdio.no_in_queues; qdio 4796 drivers/s390/net/qeth_core_main.c init_data.no_output_qs = card->qdio.no_out_queues; qdio 4803 drivers/s390/net/qeth_core_main.c init_data.output_sbal_state_array = card->qdio.out_bufstates; qdio 4806 drivers/s390/net/qeth_core_main.c if (atomic_cmpxchg(&card->qdio.state, QETH_QDIO_ALLOCATED, qdio 4810 drivers/s390/net/qeth_core_main.c atomic_set(&card->qdio.state, QETH_QDIO_ALLOCATED); qdio 4815 drivers/s390/net/qeth_core_main.c atomic_set(&card->qdio.state, QETH_QDIO_ALLOCATED); qdio 5167 drivers/s390/net/qeth_core_main.c &card->qdio.in_q->bufs[card->rx.b_index] qdio 5173 drivers/s390/net/qeth_core_main.c buffer = &card->qdio.in_q->bufs[card->rx.b_index]; qdio 5194 drivers/s390/net/qeth_core_main.c &card->qdio.in_q qdio 5678 drivers/s390/net/qeth_core_main.c card->qdio.no_out_queues = card->dev->num_tx_queues; qdio 6228 drivers/s390/net/qeth_core_main.c for (i = 0; i < card->qdio.no_out_queues; i++) { qdio 6229 drivers/s390/net/qeth_core_main.c queue = card->qdio.out_qs[i]; qdio 81 drivers/s390/net/qeth_core_sys.c if (card->qdio.in_buf_size == 16384) qdio 83 drivers/s390/net/qeth_core_sys.c else if (card->qdio.in_buf_size == 24576) qdio 85 drivers/s390/net/qeth_core_sys.c else if (card->qdio.in_buf_size == 32768) qdio 87 drivers/s390/net/qeth_core_sys.c else if (card->qdio.in_buf_size == 40960) qdio 177 drivers/s390/net/qeth_core_sys.c switch (card->qdio.do_prio_queueing) { qdio 188 drivers/s390/net/qeth_core_sys.c card->qdio.default_out_queue); qdio 213 drivers/s390/net/qeth_core_sys.c if (card->qdio.no_out_queues == 1) { qdio 214 drivers/s390/net/qeth_core_sys.c card->qdio.do_prio_queueing = QETH_PRIOQ_DEFAULT; qdio 220 drivers/s390/net/qeth_core_sys.c card->qdio.do_prio_queueing = QETH_PRIO_Q_ING_PREC; qdio 221 drivers/s390/net/qeth_core_sys.c card->qdio.default_out_queue = QETH_DEFAULT_QUEUE; qdio 223 drivers/s390/net/qeth_core_sys.c card->qdio.do_prio_queueing = QETH_PRIO_Q_ING_SKB; qdio 224 drivers/s390/net/qeth_core_sys.c card->qdio.default_out_queue = QETH_DEFAULT_QUEUE; qdio 226 drivers/s390/net/qeth_core_sys.c card->qdio.do_prio_queueing = QETH_PRIO_Q_ING_TOS; qdio 227 drivers/s390/net/qeth_core_sys.c card->qdio.default_out_queue = QETH_DEFAULT_QUEUE; qdio 233 drivers/s390/net/qeth_core_sys.c card->qdio.do_prio_queueing = QETH_PRIO_Q_ING_VLAN; qdio 234 drivers/s390/net/qeth_core_sys.c card->qdio.default_out_queue = QETH_DEFAULT_QUEUE; qdio 236 drivers/s390/net/qeth_core_sys.c card->qdio.do_prio_queueing = QETH_NO_PRIO_QUEUEING; qdio 237 drivers/s390/net/qeth_core_sys.c card->qdio.default_out_queue = 0; qdio 239 drivers/s390/net/qeth_core_sys.c card->qdio.do_prio_queueing = QETH_NO_PRIO_QUEUEING; qdio 240 drivers/s390/net/qeth_core_sys.c card->qdio.default_out_queue = 1; qdio 242 drivers/s390/net/qeth_core_sys.c card->qdio.do_prio_queueing = QETH_NO_PRIO_QUEUEING; qdio 243 drivers/s390/net/qeth_core_sys.c card->qdio.default_out_queue = 2; qdio 245 drivers/s390/net/qeth_core_sys.c card->qdio.do_prio_queueing = QETH_NO_PRIO_QUEUEING; qdio 246 drivers/s390/net/qeth_core_sys.c card->qdio.default_out_queue = 3; qdio 248 drivers/s390/net/qeth_core_sys.c card->qdio.do_prio_queueing = QETH_NO_PRIO_QUEUEING; qdio 249 drivers/s390/net/qeth_core_sys.c card->qdio.default_out_queue = QETH_DEFAULT_QUEUE; qdio 268 drivers/s390/net/qeth_core_sys.c return sprintf(buf, "%i\n", card->qdio.in_buf_pool.buf_count); qdio 288 drivers/s390/net/qeth_core_sys.c old_cnt = card->qdio.in_buf_pool.buf_count; qdio 354 drivers/s390/net/qeth_core_sys.c for (i = 0; i < card->qdio.no_out_queues; i++) { qdio 355 drivers/s390/net/qeth_core_sys.c queue = card->qdio.out_qs[i]; qdio 90 drivers/s390/net/qeth_ethtool.c card->qdio.no_out_queues * TXQ_STATS_LEN; qdio 103 drivers/s390/net/qeth_ethtool.c for (i = 0; i < card->qdio.no_out_queues; i++) qdio 104 drivers/s390/net/qeth_ethtool.c qeth_add_stat_data(&data, &card->qdio.out_qs[i]->stats, qdio 118 drivers/s390/net/qeth_ethtool.c param->rx_pending = card->qdio.in_buf_pool.buf_count; qdio 134 drivers/s390/net/qeth_ethtool.c for (i = 0; i < card->qdio.no_out_queues; i++) { qdio 166 drivers/s390/net/qeth_ethtool.c channels->max_tx = card->qdio.no_out_queues; qdio 313 drivers/s390/net/qeth_l2_main.c &card->qdio.in_q->bufs[card->rx.b_index], qdio 600 drivers/s390/net/qeth_l2_main.c queue = card->qdio.out_qs[txq]; qdio 1381 drivers/s390/net/qeth_l3_main.c &card->qdio.in_q->bufs[card->rx.b_index], qdio 2052 drivers/s390/net/qeth_l3_main.c queue = card->qdio.out_qs[qeth_iqd_translate_txq(dev, txq)]; qdio 2061 drivers/s390/net/qeth_l3_main.c queue = card->qdio.out_qs[txq]; qdio 233 drivers/s390/net/qeth_l3_sys.c if (card->qdio.init_pool.buf_count != qdio 275 drivers/s390/scsi/zfcp_aux.c if (zfcp_fsf_status_read(adapter->qdio)) { qdio 433 drivers/s390/scsi/zfcp_aux.c zfcp_qdio_destroy(adapter->qdio); qdio 154 drivers/s390/scsi/zfcp_def.h struct zfcp_qdio *qdio; qdio 832 drivers/s390/scsi/zfcp_erp.c zfcp_qdio_close(adapter->qdio); qdio 848 drivers/s390/scsi/zfcp_erp.c if (zfcp_qdio_open(adapter->qdio)) { qdio 706 drivers/s390/scsi/zfcp_fsf.c static struct zfcp_fsf_req *zfcp_fsf_req_create(struct zfcp_qdio *qdio, qdio 710 drivers/s390/scsi/zfcp_fsf.c struct zfcp_adapter *adapter = qdio->adapter; qdio 747 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_req_init(adapter->qdio, &req->qdio_req, req->req_id, sbtype, qdio 757 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = adapter->qdio; qdio 762 drivers/s390/scsi/zfcp_fsf.c req->qdio_req.qdio_outb_usage = atomic_read(&qdio->req_q_free); qdio 764 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_send(qdio, &req->qdio_req)) { qdio 797 drivers/s390/scsi/zfcp_fsf.c int zfcp_fsf_status_read(struct zfcp_qdio *qdio) qdio 799 drivers/s390/scsi/zfcp_fsf.c struct zfcp_adapter *adapter = qdio->adapter; qdio 805 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 806 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 809 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_UNSOLICITED_STATUS, qdio 826 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_fill_next(qdio, &req->qdio_req, sr_buf, sizeof(*sr_buf)); qdio 827 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 843 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 915 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = zfcp_sdev->port->adapter->qdio; qdio 918 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 919 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 921 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_ABORT_FCP_CMND, qdio 923 drivers/s390/scsi/zfcp_fsf.c qdio->adapter->pool.scsi_abort); qdio 933 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 951 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1002 drivers/s390/scsi/zfcp_fsf.c static void zfcp_fsf_setup_ct_els_unchained(struct zfcp_qdio *qdio, qdio 1007 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_fill_next(qdio, q_req, sg_virt(sg_req), sg_req->length); qdio 1008 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_fill_next(qdio, q_req, sg_virt(sg_resp), sg_resp->length); qdio 1009 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, q_req); qdio 1017 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = adapter->qdio; qdio 1022 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_req)) qdio 1026 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_resp)) qdio 1031 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_data_div(qdio, &req->qdio_req, sg_nents(sg_req)); qdio 1032 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1033 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_scount(qdio, &req->qdio_req); qdio 1039 drivers/s390/scsi/zfcp_fsf.c zfcp_fsf_setup_ct_els_unchained(qdio, &req->qdio_req, qdio 1047 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_req)) qdio 1052 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1053 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_skip_to_last_sbale(qdio, &req->qdio_req); qdio 1055 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, sg_resp)) qdio 1060 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1097 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = wka_port->adapter->qdio; qdio 1101 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1102 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1105 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_SEND_GENERIC, qdio 1135 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1194 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = adapter->qdio; qdio 1197 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1198 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1201 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_SEND_ELS, qdio 1212 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_sbal_limit(qdio, &req->qdio_req, 2); qdio 1236 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1243 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = erp_action->adapter->qdio; qdio 1246 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1247 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1250 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_CONFIG_DATA, qdio 1252 drivers/s390/scsi/zfcp_fsf.c qdio->adapter->pool.erp_req); qdio 1260 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1277 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1281 drivers/s390/scsi/zfcp_fsf.c int zfcp_fsf_exchange_config_data_sync(struct zfcp_qdio *qdio, qdio 1287 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1288 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1291 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_CONFIG_DATA, qdio 1299 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1311 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1321 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1332 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = erp_action->adapter->qdio; qdio 1336 drivers/s390/scsi/zfcp_fsf.c if (!(qdio->adapter->adapter_features & FSF_FEATURE_HBAAPI_MANAGEMENT)) qdio 1339 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1340 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1343 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_PORT_DATA, qdio 1345 drivers/s390/scsi/zfcp_fsf.c qdio->adapter->pool.erp_req); qdio 1353 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1367 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1377 drivers/s390/scsi/zfcp_fsf.c int zfcp_fsf_exchange_port_data_sync(struct zfcp_qdio *qdio, qdio 1383 drivers/s390/scsi/zfcp_fsf.c if (!(qdio->adapter->adapter_features & FSF_FEATURE_HBAAPI_MANAGEMENT)) qdio 1386 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1387 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1390 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_EXCHANGE_PORT_DATA, qdio 1401 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1406 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1418 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1496 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = erp_action->adapter->qdio; qdio 1501 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1502 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1505 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_OPEN_PORT_WITH_DID, qdio 1507 drivers/s390/scsi/zfcp_fsf.c qdio->adapter->pool.erp_req); qdio 1515 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1533 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1564 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = erp_action->adapter->qdio; qdio 1568 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1569 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1572 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_PORT, qdio 1574 drivers/s390/scsi/zfcp_fsf.c qdio->adapter->pool.erp_req); qdio 1582 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1598 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1638 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = wka_port->adapter->qdio; qdio 1643 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1644 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1647 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_OPEN_PORT_WITH_DID, qdio 1649 drivers/s390/scsi/zfcp_fsf.c qdio->adapter->pool.erp_req); qdio 1657 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1671 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1697 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = wka_port->adapter->qdio; qdio 1702 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1703 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1706 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_PORT, qdio 1708 drivers/s390/scsi/zfcp_fsf.c qdio->adapter->pool.erp_req); qdio 1716 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1730 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1792 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = erp_action->adapter->qdio; qdio 1796 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1797 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1800 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_PHYSICAL_PORT, qdio 1802 drivers/s390/scsi/zfcp_fsf.c qdio->adapter->pool.erp_req); qdio 1810 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1826 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 1912 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = adapter->qdio; qdio 1916 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 1917 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 1920 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_OPEN_LUN, qdio 1930 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 1950 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 2003 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = erp_action->adapter->qdio; qdio 2008 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 2009 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 2012 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_CLOSE_LUN, qdio 2014 drivers/s390/scsi/zfcp_fsf.c qdio->adapter->pool.erp_req); qdio 2022 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 2039 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 2278 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = adapter->qdio; qdio 2286 drivers/s390/scsi/zfcp_fsf.c spin_lock_irqsave(&qdio->req_q_lock, flags); qdio 2287 drivers/s390/scsi/zfcp_fsf.c if (atomic_read(&qdio->req_q_free) <= 0) { qdio 2288 drivers/s390/scsi/zfcp_fsf.c atomic_inc(&qdio->req_q_full); qdio 2295 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_FCP_CMND, qdio 2328 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_data_div(qdio, &req->qdio_req, qdio 2330 drivers/s390/scsi/zfcp_fsf.c retval = zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, qdio 2338 drivers/s390/scsi/zfcp_fsf.c retval = zfcp_qdio_sbals_from_sg(qdio, &req->qdio_req, qdio 2343 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(adapter->qdio, &req->qdio_req); qdio 2345 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_scount(qdio, &req->qdio_req); qdio 2358 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irqrestore(&qdio->req_q_lock, flags); qdio 2391 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = zfcp_sdev->port->adapter->qdio; qdio 2397 drivers/s390/scsi/zfcp_fsf.c spin_lock_irq(&qdio->req_q_lock); qdio 2398 drivers/s390/scsi/zfcp_fsf.c if (zfcp_qdio_sbal_get(qdio)) qdio 2401 drivers/s390/scsi/zfcp_fsf.c req = zfcp_fsf_req_create(qdio, FSF_QTCB_FCP_CMND, qdio 2403 drivers/s390/scsi/zfcp_fsf.c qdio->adapter->pool.scsi_req); qdio 2419 drivers/s390/scsi/zfcp_fsf.c zfcp_qdio_set_sbale_last(qdio, &req->qdio_req); qdio 2433 drivers/s390/scsi/zfcp_fsf.c spin_unlock_irq(&qdio->req_q_lock); qdio 2442 drivers/s390/scsi/zfcp_fsf.c void zfcp_fsf_reqid_check(struct zfcp_qdio *qdio, int sbal_idx) qdio 2444 drivers/s390/scsi/zfcp_fsf.c struct zfcp_adapter *adapter = qdio->adapter; qdio 2445 drivers/s390/scsi/zfcp_fsf.c struct qdio_buffer *sbal = qdio->res_q[sbal_idx]; qdio 22 drivers/s390/scsi/zfcp_qdio.c static void zfcp_qdio_handler_error(struct zfcp_qdio *qdio, char *dbftag, qdio 25 drivers/s390/scsi/zfcp_qdio.c struct zfcp_adapter *adapter = qdio->adapter; qdio 50 drivers/s390/scsi/zfcp_qdio.c static inline void zfcp_qdio_account(struct zfcp_qdio *qdio) qdio 56 drivers/s390/scsi/zfcp_qdio.c span = (now - qdio->req_q_time) >> 12; qdio 57 drivers/s390/scsi/zfcp_qdio.c used = QDIO_MAX_BUFFERS_PER_Q - atomic_read(&qdio->req_q_free); qdio 58 drivers/s390/scsi/zfcp_qdio.c qdio->req_q_util += used * span; qdio 59 drivers/s390/scsi/zfcp_qdio.c qdio->req_q_time = now; qdio 66 drivers/s390/scsi/zfcp_qdio.c struct zfcp_qdio *qdio = (struct zfcp_qdio *) parm; qdio 69 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_handler_error(qdio, "qdireq1", qdio_err); qdio 74 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_zero_sbals(qdio->req_q, idx, count); qdio 76 drivers/s390/scsi/zfcp_qdio.c spin_lock_irq(&qdio->stat_lock); qdio 77 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_account(qdio); qdio 78 drivers/s390/scsi/zfcp_qdio.c spin_unlock_irq(&qdio->stat_lock); qdio 79 drivers/s390/scsi/zfcp_qdio.c atomic_add(count, &qdio->req_q_free); qdio 80 drivers/s390/scsi/zfcp_qdio.c wake_up(&qdio->req_q_wq); qdio 87 drivers/s390/scsi/zfcp_qdio.c struct zfcp_qdio *qdio = (struct zfcp_qdio *) parm; qdio 88 drivers/s390/scsi/zfcp_qdio.c struct zfcp_adapter *adapter = qdio->adapter; qdio 100 drivers/s390/scsi/zfcp_qdio.c sbale = qdio->res_q[idx]->element; qdio 109 drivers/s390/scsi/zfcp_qdio.c pl[sbal_no] = qdio->res_q[sbal_idx]; qdio 113 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_handler_error(qdio, "qdires1", qdio_err); qdio 124 drivers/s390/scsi/zfcp_qdio.c zfcp_fsf_reqid_check(qdio, sbal_idx); qdio 131 drivers/s390/scsi/zfcp_qdio.c zfcp_erp_adapter_reopen(qdio->adapter, 0, "qdires2"); qdio 135 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_sbal_chain(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) qdio 140 drivers/s390/scsi/zfcp_qdio.c sbale = zfcp_qdio_sbale_curr(qdio, q_req); qdio 148 drivers/s390/scsi/zfcp_qdio.c sbale = zfcp_qdio_sbale_req(qdio, q_req); qdio 163 drivers/s390/scsi/zfcp_qdio.c sbale = zfcp_qdio_sbale_curr(qdio, q_req); qdio 170 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_sbale_next(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) qdio 172 drivers/s390/scsi/zfcp_qdio.c if (q_req->sbale_curr == qdio->max_sbale_per_sbal - 1) qdio 173 drivers/s390/scsi/zfcp_qdio.c return zfcp_qdio_sbal_chain(qdio, q_req); qdio 175 drivers/s390/scsi/zfcp_qdio.c return zfcp_qdio_sbale_curr(qdio, q_req); qdio 185 drivers/s390/scsi/zfcp_qdio.c int zfcp_qdio_sbals_from_sg(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req, qdio 191 drivers/s390/scsi/zfcp_qdio.c sbale = zfcp_qdio_sbale_req(qdio, q_req); qdio 195 drivers/s390/scsi/zfcp_qdio.c sbale = zfcp_qdio_sbale_next(qdio, q_req); qdio 197 drivers/s390/scsi/zfcp_qdio.c atomic_inc(&qdio->req_q_full); qdio 198 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_zero_sbals(qdio->req_q, q_req->sbal_first, qdio 208 drivers/s390/scsi/zfcp_qdio.c static int zfcp_qdio_sbal_check(struct zfcp_qdio *qdio) qdio 210 drivers/s390/scsi/zfcp_qdio.c if (atomic_read(&qdio->req_q_free) || qdio 211 drivers/s390/scsi/zfcp_qdio.c !(atomic_read(&qdio->adapter->status) & ZFCP_STATUS_ADAPTER_QDIOUP)) qdio 226 drivers/s390/scsi/zfcp_qdio.c int zfcp_qdio_sbal_get(struct zfcp_qdio *qdio) qdio 230 drivers/s390/scsi/zfcp_qdio.c ret = wait_event_interruptible_lock_irq_timeout(qdio->req_q_wq, qdio 231 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_sbal_check(qdio), qdio->req_q_lock, 5 * HZ); qdio 233 drivers/s390/scsi/zfcp_qdio.c if (!(atomic_read(&qdio->adapter->status) & ZFCP_STATUS_ADAPTER_QDIOUP)) qdio 240 drivers/s390/scsi/zfcp_qdio.c atomic_inc(&qdio->req_q_full); qdio 242 drivers/s390/scsi/zfcp_qdio.c zfcp_erp_adapter_reopen(qdio->adapter, 0, "qdsbg_1"); qdio 254 drivers/s390/scsi/zfcp_qdio.c int zfcp_qdio_send(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) qdio 259 drivers/s390/scsi/zfcp_qdio.c spin_lock(&qdio->stat_lock); qdio 260 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_account(qdio); qdio 261 drivers/s390/scsi/zfcp_qdio.c spin_unlock(&qdio->stat_lock); qdio 263 drivers/s390/scsi/zfcp_qdio.c retval = do_QDIO(qdio->adapter->ccw_device, QDIO_FLAG_SYNC_OUTPUT, 0, qdio 267 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_zero_sbals(qdio->req_q, q_req->sbal_first, qdio 273 drivers/s390/scsi/zfcp_qdio.c atomic_sub(sbal_number, &qdio->req_q_free); qdio 274 drivers/s390/scsi/zfcp_qdio.c qdio->req_q_idx += sbal_number; qdio 275 drivers/s390/scsi/zfcp_qdio.c qdio->req_q_idx %= QDIO_MAX_BUFFERS_PER_Q; qdio 282 drivers/s390/scsi/zfcp_qdio.c struct zfcp_qdio *qdio) qdio 285 drivers/s390/scsi/zfcp_qdio.c id->cdev = qdio->adapter->ccw_device; qdio 296 drivers/s390/scsi/zfcp_qdio.c id->int_parm = (unsigned long) qdio; qdio 297 drivers/s390/scsi/zfcp_qdio.c id->input_sbal_addr_array = qdio->res_q; qdio 298 drivers/s390/scsi/zfcp_qdio.c id->output_sbal_addr_array = qdio->req_q; qdio 309 drivers/s390/scsi/zfcp_qdio.c static int zfcp_qdio_allocate(struct zfcp_qdio *qdio) qdio 314 drivers/s390/scsi/zfcp_qdio.c ret = qdio_alloc_buffers(qdio->req_q, QDIO_MAX_BUFFERS_PER_Q); qdio 318 drivers/s390/scsi/zfcp_qdio.c ret = qdio_alloc_buffers(qdio->res_q, QDIO_MAX_BUFFERS_PER_Q); qdio 322 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_setup_init_data(&init_data, qdio); qdio 323 drivers/s390/scsi/zfcp_qdio.c init_waitqueue_head(&qdio->req_q_wq); qdio 332 drivers/s390/scsi/zfcp_qdio.c qdio_free_buffers(qdio->res_q, QDIO_MAX_BUFFERS_PER_Q); qdio 334 drivers/s390/scsi/zfcp_qdio.c qdio_free_buffers(qdio->req_q, QDIO_MAX_BUFFERS_PER_Q); qdio 342 drivers/s390/scsi/zfcp_qdio.c void zfcp_qdio_close(struct zfcp_qdio *qdio) qdio 344 drivers/s390/scsi/zfcp_qdio.c struct zfcp_adapter *adapter = qdio->adapter; qdio 351 drivers/s390/scsi/zfcp_qdio.c spin_lock_irq(&qdio->req_q_lock); qdio 353 drivers/s390/scsi/zfcp_qdio.c spin_unlock_irq(&qdio->req_q_lock); qdio 355 drivers/s390/scsi/zfcp_qdio.c wake_up(&qdio->req_q_wq); qdio 360 drivers/s390/scsi/zfcp_qdio.c count = atomic_read(&qdio->req_q_free); qdio 362 drivers/s390/scsi/zfcp_qdio.c idx = (qdio->req_q_idx + count) % QDIO_MAX_BUFFERS_PER_Q; qdio 364 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_zero_sbals(qdio->req_q, idx, count); qdio 366 drivers/s390/scsi/zfcp_qdio.c qdio->req_q_idx = 0; qdio 367 drivers/s390/scsi/zfcp_qdio.c atomic_set(&qdio->req_q_free, 0); qdio 375 drivers/s390/scsi/zfcp_qdio.c int zfcp_qdio_open(struct zfcp_qdio *qdio) qdio 379 drivers/s390/scsi/zfcp_qdio.c struct zfcp_adapter *adapter = qdio->adapter; qdio 388 drivers/s390/scsi/zfcp_qdio.c &qdio->adapter->status); qdio 390 drivers/s390/scsi/zfcp_qdio.c zfcp_qdio_setup_init_data(&init_data, qdio); qdio 400 drivers/s390/scsi/zfcp_qdio.c &qdio->adapter->status); qdio 404 drivers/s390/scsi/zfcp_qdio.c qdio->max_sbale_per_sbal = QDIO_MAX_ELEMENTS_PER_BUFFER; qdio 407 drivers/s390/scsi/zfcp_qdio.c qdio->max_sbale_per_sbal = QDIO_MAX_ELEMENTS_PER_BUFFER - 1; qdio 410 drivers/s390/scsi/zfcp_qdio.c qdio->max_sbale_per_req = qdio 411 drivers/s390/scsi/zfcp_qdio.c ZFCP_QDIO_MAX_SBALS_PER_REQ * qdio->max_sbale_per_sbal qdio 417 drivers/s390/scsi/zfcp_qdio.c sbale = &(qdio->res_q[cc]->element[0]); qdio 428 drivers/s390/scsi/zfcp_qdio.c qdio->req_q_idx = 0; qdio 429 drivers/s390/scsi/zfcp_qdio.c atomic_set(&qdio->req_q_free, QDIO_MAX_BUFFERS_PER_Q); qdio 430 drivers/s390/scsi/zfcp_qdio.c atomic_or(ZFCP_STATUS_ADAPTER_QDIOUP, &qdio->adapter->status); qdio 433 drivers/s390/scsi/zfcp_qdio.c adapter->scsi_host->sg_tablesize = qdio->max_sbale_per_req; qdio 434 drivers/s390/scsi/zfcp_qdio.c adapter->scsi_host->max_sectors = qdio->max_sbale_per_req * 8; qdio 447 drivers/s390/scsi/zfcp_qdio.c void zfcp_qdio_destroy(struct zfcp_qdio *qdio) qdio 449 drivers/s390/scsi/zfcp_qdio.c if (!qdio) qdio 452 drivers/s390/scsi/zfcp_qdio.c if (qdio->adapter->ccw_device) qdio 453 drivers/s390/scsi/zfcp_qdio.c qdio_free(qdio->adapter->ccw_device); qdio 455 drivers/s390/scsi/zfcp_qdio.c qdio_free_buffers(qdio->req_q, QDIO_MAX_BUFFERS_PER_Q); qdio 456 drivers/s390/scsi/zfcp_qdio.c qdio_free_buffers(qdio->res_q, QDIO_MAX_BUFFERS_PER_Q); qdio 457 drivers/s390/scsi/zfcp_qdio.c kfree(qdio); qdio 462 drivers/s390/scsi/zfcp_qdio.c struct zfcp_qdio *qdio; qdio 464 drivers/s390/scsi/zfcp_qdio.c qdio = kzalloc(sizeof(struct zfcp_qdio), GFP_KERNEL); qdio 465 drivers/s390/scsi/zfcp_qdio.c if (!qdio) qdio 468 drivers/s390/scsi/zfcp_qdio.c qdio->adapter = adapter; qdio 470 drivers/s390/scsi/zfcp_qdio.c if (zfcp_qdio_allocate(qdio)) { qdio 471 drivers/s390/scsi/zfcp_qdio.c kfree(qdio); qdio 475 drivers/s390/scsi/zfcp_qdio.c spin_lock_init(&qdio->req_q_lock); qdio 476 drivers/s390/scsi/zfcp_qdio.c spin_lock_init(&qdio->stat_lock); qdio 478 drivers/s390/scsi/zfcp_qdio.c adapter->qdio = qdio; qdio 79 drivers/s390/scsi/zfcp_qdio.h zfcp_qdio_sbale_req(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) qdio 81 drivers/s390/scsi/zfcp_qdio.h return &qdio->req_q[q_req->sbal_last]->element[0]; qdio 91 drivers/s390/scsi/zfcp_qdio.h zfcp_qdio_sbale_curr(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) qdio 93 drivers/s390/scsi/zfcp_qdio.h return &qdio->req_q[q_req->sbal_last]->element[q_req->sbale_curr]; qdio 110 drivers/s390/scsi/zfcp_qdio.h void zfcp_qdio_req_init(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req, qdio 114 drivers/s390/scsi/zfcp_qdio.h int count = min(atomic_read(&qdio->req_q_free), qdio 117 drivers/s390/scsi/zfcp_qdio.h q_req->sbal_first = q_req->sbal_last = qdio->req_q_idx; qdio 124 drivers/s390/scsi/zfcp_qdio.h sbale = zfcp_qdio_sbale_req(qdio, q_req); qdio 147 drivers/s390/scsi/zfcp_qdio.h void zfcp_qdio_fill_next(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req, qdio 152 drivers/s390/scsi/zfcp_qdio.h BUG_ON(q_req->sbale_curr == qdio->max_sbale_per_sbal - 1); qdio 154 drivers/s390/scsi/zfcp_qdio.h sbale = zfcp_qdio_sbale_curr(qdio, q_req); qdio 165 drivers/s390/scsi/zfcp_qdio.h void zfcp_qdio_set_sbale_last(struct zfcp_qdio *qdio, qdio 170 drivers/s390/scsi/zfcp_qdio.h sbale = zfcp_qdio_sbale_curr(qdio, q_req); qdio 193 drivers/s390/scsi/zfcp_qdio.h void zfcp_qdio_skip_to_last_sbale(struct zfcp_qdio *qdio, qdio 196 drivers/s390/scsi/zfcp_qdio.h q_req->sbale_curr = qdio->max_sbale_per_sbal - 1; qdio 206 drivers/s390/scsi/zfcp_qdio.h void zfcp_qdio_sbal_limit(struct zfcp_qdio *qdio, qdio 209 drivers/s390/scsi/zfcp_qdio.h int count = min(atomic_read(&qdio->req_q_free), max_sbals); qdio 222 drivers/s390/scsi/zfcp_qdio.h void zfcp_qdio_set_data_div(struct zfcp_qdio *qdio, qdio 227 drivers/s390/scsi/zfcp_qdio.h sbale = qdio->req_q[q_req->sbal_first]->element; qdio 252 drivers/s390/scsi/zfcp_qdio.h void zfcp_qdio_set_scount(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) qdio 256 drivers/s390/scsi/zfcp_qdio.h sbale = qdio->req_q[q_req->sbal_first]->element; qdio 607 drivers/s390/scsi/zfcp_scsi.c ret = zfcp_fsf_exchange_port_data_sync(adapter->qdio, data); qdio 636 drivers/s390/scsi/zfcp_scsi.c ret = zfcp_fsf_exchange_port_data_sync(adapter->qdio, data); qdio 819 drivers/s390/scsi/zfcp_scsi.c shost->sg_prot_tablesize = adapter->qdio->max_sbale_per_req / 2; qdio 820 drivers/s390/scsi/zfcp_scsi.c shost->sg_tablesize = adapter->qdio->max_sbale_per_req / 2; qdio 579 drivers/s390/scsi/zfcp_sysfs.c retval = zfcp_fsf_exchange_port_data_sync(adapter->qdio, qtcb_port); qdio 605 drivers/s390/scsi/zfcp_sysfs.c retval = zfcp_fsf_exchange_config_data_sync(adapter->qdio, qtcb_config); qdio 646 drivers/s390/scsi/zfcp_sysfs.c struct zfcp_qdio *qdio = qdio 647 drivers/s390/scsi/zfcp_sysfs.c ((struct zfcp_adapter *) scsi_host->hostdata[0])->qdio; qdio 650 drivers/s390/scsi/zfcp_sysfs.c spin_lock_bh(&qdio->stat_lock); qdio 651 drivers/s390/scsi/zfcp_sysfs.c util = qdio->req_q_util; qdio 652 drivers/s390/scsi/zfcp_sysfs.c spin_unlock_bh(&qdio->stat_lock); qdio 654 drivers/s390/scsi/zfcp_sysfs.c return sprintf(buf, "%d %llu\n", atomic_read(&qdio->req_q_full),