• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/scsi/bnx2i/

Lines Matching refs:bnx2i_conn

184 void bnx2i_get_rq_buf(struct bnx2i_conn *bnx2i_conn, char *ptr, int len)
186 if (!bnx2i_conn->ep->qp.rqe_left)
189 bnx2i_conn->ep->qp.rqe_left--;
190 memcpy(ptr, (u8 *) bnx2i_conn->ep->qp.rq_cons_qe, len);
191 if (bnx2i_conn->ep->qp.rq_cons_qe == bnx2i_conn->ep->qp.rq_last_qe) {
192 bnx2i_conn->ep->qp.rq_cons_qe = bnx2i_conn->ep->qp.rq_first_qe;
193 bnx2i_conn->ep->qp.rq_cons_idx = 0;
195 bnx2i_conn->ep->qp.rq_cons_qe++;
196 bnx2i_conn->ep->qp.rq_cons_idx++;
201 static void bnx2i_ring_577xx_doorbell(struct bnx2i_conn *conn)
222 void bnx2i_put_rq_buf(struct bnx2i_conn *bnx2i_conn, int count)
225 u16 hi_bit = (bnx2i_conn->ep->qp.rq_prod_idx & 0x8000);
226 struct bnx2i_endpoint *ep = bnx2i_conn->ep;
232 if (ep->qp.rq_prod_idx > bnx2i_conn->hba->max_rqes) {
233 ep->qp.rq_prod_idx %= bnx2i_conn->hba->max_rqes;
260 static void bnx2i_ring_sq_dbell(struct bnx2i_conn *bnx2i_conn, int count)
263 struct bnx2i_endpoint *ep = bnx2i_conn->ep;
270 bnx2i_ring_577xx_doorbell(bnx2i_conn);
285 static void bnx2i_ring_dbell_update_sq_params(struct bnx2i_conn *bnx2i_conn,
291 if (bnx2i_conn->ep->qp.sq_prod_qe ==
292 bnx2i_conn->ep->qp.sq_last_qe)
293 bnx2i_conn->ep->qp.sq_prod_qe =
294 bnx2i_conn->ep->qp.sq_first_qe;
296 bnx2i_conn->ep->qp.sq_prod_qe++;
298 if ((bnx2i_conn->ep->qp.sq_prod_qe + count) <=
299 bnx2i_conn->ep->qp.sq_last_qe)
300 bnx2i_conn->ep->qp.sq_prod_qe += count;
302 tmp_cnt = bnx2i_conn->ep->qp.sq_last_qe -
303 bnx2i_conn->ep->qp.sq_prod_qe;
304 bnx2i_conn->ep->qp.sq_prod_qe =
305 &bnx2i_conn->ep->qp.sq_first_qe[count -
309 bnx2i_conn->ep->qp.sq_prod_idx += count;
311 bnx2i_ring_sq_dbell(bnx2i_conn, bnx2i_conn->ep->qp.sq_prod_idx);
323 int bnx2i_send_iscsi_login(struct bnx2i_conn *bnx2i_conn,
334 bnx2i_conn->ep->qp.sq_prod_qe;
352 login_wqe->resp_bd_list_addr_lo = (u32) bnx2i_conn->gen_pdu.resp_bd_dma;
354 (u32) ((u64) bnx2i_conn->gen_pdu.resp_bd_dma >> 32);
357 (bnx2i_conn->gen_pdu.resp_buf_size <<
360 login_wqe->bd_list_addr_lo = (u32) bnx2i_conn->gen_pdu.req_bd_dma;
362 (u32) ((u64) bnx2i_conn->gen_pdu.req_bd_dma >> 32);
366 bnx2i_ring_dbell_update_sq_params(bnx2i_conn, 1);
378 int bnx2i_send_iscsi_tmf(struct bnx2i_conn *bnx2i_conn,
381 struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data;
393 bnx2i_conn->ep->qp.sq_prod_qe;
430 tmfabort_wqe->bd_list_addr_lo = (u32) bnx2i_conn->hba->mp_bd_dma;
432 ((u64) bnx2i_conn->hba->mp_bd_dma >> 32);
436 bnx2i_ring_dbell_update_sq_params(bnx2i_conn, 1);
448 int bnx2i_send_iscsi_scsicmd(struct bnx2i_conn *bnx2i_conn,
454 bnx2i_conn->ep->qp.sq_prod_qe;
458 bnx2i_ring_dbell_update_sq_params(bnx2i_conn, 1);
475 int bnx2i_send_iscsi_nopout(struct bnx2i_conn *bnx2i_conn,
479 struct bnx2i_endpoint *ep = bnx2i_conn->ep;
515 bnx2i_conn->hba->mp_bd_dma;
517 (u32) ((u64) bnx2i_conn->hba->mp_bd_dma >> 32);
522 bnx2i_ring_dbell_update_sq_params(bnx2i_conn, 1);
535 int bnx2i_send_iscsi_logout(struct bnx2i_conn *bnx2i_conn,
546 bnx2i_conn->ep->qp.sq_prod_qe;
559 logout_wqe->bd_list_addr_lo = (u32) bnx2i_conn->hba->mp_bd_dma;
561 ((u64) bnx2i_conn->hba->mp_bd_dma >> 32);
565 bnx2i_conn->ep->state = EP_STATE_LOGOUT_SENT;
567 bnx2i_ring_dbell_update_sq_params(bnx2i_conn, 1);
580 struct bnx2i_conn *bnx2i_conn = conn->dd_data;
581 struct bnx2i_hba *hba = bnx2i_conn->hba;
593 if (test_bit(BNX2I_NX2_DEV_57710, &bnx2i_conn->ep->hba->cnic_dev_type))
594 update_wqe->context_id = bnx2i_conn->ep->ep_cid;
596 update_wqe->context_id = (bnx2i_conn->ep->ep_cid >> 7);
1265 struct bnx2i_conn *bnx2i_conn,
1268 struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data;
1345 * @bnx2i_conn: iscsi connection pointer
1351 struct bnx2i_conn *bnx2i_conn,
1354 struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data;
1368 resp_hdr = (struct iscsi_login_rsp *) &bnx2i_conn->gen_pdu.resp_hdr;
1386 bnx2i_conn->gen_pdu.resp_wr_ptr =
1387 bnx2i_conn->gen_pdu.resp_buf + pld_len;
1396 bnx2i_conn->gen_pdu.resp_wr_ptr[0] = 0;
1397 bnx2i_conn->gen_pdu.resp_wr_ptr++;
1402 bnx2i_conn->gen_pdu.resp_buf,
1403 bnx2i_conn->gen_pdu.resp_wr_ptr - bnx2i_conn->gen_pdu.resp_buf);
1412 * @bnx2i_conn: iscsi connection pointer
1418 struct bnx2i_conn *bnx2i_conn,
1421 struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data;
1433 resp_hdr = (struct iscsi_tm_rsp *) &bnx2i_conn->gen_pdu.resp_hdr;
1450 * @bnx2i_conn: iscsi connection pointer
1457 struct bnx2i_conn *bnx2i_conn,
1460 struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data;
1472 resp_hdr = (struct iscsi_logout_rsp *) &bnx2i_conn->gen_pdu.resp_hdr;
1488 bnx2i_conn->ep->state = EP_STATE_LOGOUT_RESP_RCVD;
1497 * @bnx2i_conn: iscsi connection pointer
1503 struct bnx2i_conn *bnx2i_conn,
1506 struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data;
1527 static void bnx2i_unsol_pdu_adjust_rq(struct bnx2i_conn *bnx2i_conn)
1530 bnx2i_get_rq_buf(bnx2i_conn, dummy_rq_data, 1);
1531 bnx2i_put_rq_buf(bnx2i_conn, 1);
1538 * @bnx2i_conn: iscsi connection pointer
1544 struct bnx2i_conn *bnx2i_conn,
1547 struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data;
1558 hdr = (struct iscsi_nopin *)&bnx2i_conn->gen_pdu.resp_hdr;
1566 bnx2i_unsol_pdu_adjust_rq(bnx2i_conn);
1591 * @bnx2i_conn: iscsi connection pointer
1597 struct bnx2i_conn *bnx2i_conn,
1604 bnx2i_unsol_pdu_adjust_rq(bnx2i_conn);
1610 iscsi_conn_printk(KERN_ALERT, bnx2i_conn->cls_conn->dd_data,
1616 resp_hdr = (struct iscsi_async *) &bnx2i_conn->gen_pdu.resp_hdr;
1632 __iscsi_complete_pdu(bnx2i_conn->cls_conn->dd_data,
1641 * @bnx2i_conn: iscsi connection pointer
1647 struct bnx2i_conn *bnx2i_conn,
1650 struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data;
1656 bnx2i_get_rq_buf(bnx2i_conn, conn->data, reject->data_length);
1657 bnx2i_put_rq_buf(bnx2i_conn, 1);
1659 bnx2i_unsol_pdu_adjust_rq(bnx2i_conn);
1662 hdr = (struct iscsi_reject *) &bnx2i_conn->gen_pdu.resp_hdr;
1678 * @bnx2i_conn: iscsi connection pointer
1684 struct bnx2i_conn *bnx2i_conn,
1688 struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data;
1699 complete(&bnx2i_conn->cmd_cleanup_cmpl);
1706 * @bnx2i_conn: iscsi connection
1710 static void bnx2i_process_new_cqes(struct bnx2i_conn *bnx2i_conn)
1712 struct iscsi_conn *conn = bnx2i_conn->cls_conn->dd_data;
1714 struct qp_info *qp = &bnx2i_conn->ep->qp;
1731 bnx2i_process_scsi_cmd_resp(session, bnx2i_conn,
1735 bnx2i_process_login_resp(session, bnx2i_conn,
1739 bnx2i_process_tmf_resp(session, bnx2i_conn,
1743 bnx2i_process_logout_resp(session, bnx2i_conn,
1747 if (bnx2i_process_nopin_mesg(session, bnx2i_conn,
1752 bnx2i_process_nopin_local_cmpl(session, bnx2i_conn,
1756 bnx2i_process_async_mesg(session, bnx2i_conn,
1761 bnx2i_process_reject_mesg(session, bnx2i_conn,
1765 bnx2i_process_cmd_cleanup_resp(session, bnx2i_conn,
1774 bnx2i_conn->ep->num_active_cmds--;
1792 bnx2i_arm_cq_event_coalescing(bnx2i_conn->ep, CNIC_ARM_CQE);
1806 struct bnx2i_conn *conn;
1835 struct bnx2i_conn *conn;
1863 * @bnx2i_conn: iscsi connection
1868 struct bnx2i_conn *bnx2i_conn)
1870 iscsi_conn_failure(bnx2i_conn->cls_conn->dd_data,
1886 struct bnx2i_conn *bnx2i_conn;
1890 bnx2i_conn = bnx2i_get_conn_from_id(hba, iscsi_cid);
1892 if (!bnx2i_conn) {
1899 bnx2i_recovery_que_add_conn(bnx2i_conn->hba, bnx2i_conn);
1919 struct bnx2i_conn *bnx2i_conn;
1929 bnx2i_conn = bnx2i_get_conn_from_id(hba, iscsi_cid);
1930 if (!bnx2i_conn) {
2074 bnx2i_conn->cls_conn->dd_data,
2079 bnx2i_conn->cls_conn->dd_data,
2082 bnx2i_conn->hba->shost->host_no,
2083 bnx2i_conn, bnx2i_conn->ep->ep_iscsi_cid,
2084 bnx2i_conn->ep->ep_cid);
2085 bnx2i_recovery_que_add_conn(bnx2i_conn->hba, bnx2i_conn);
2088 (void *) &bnx2i_conn->violation_notified))
2090 bnx2i_conn->cls_conn->dd_data,