Lines Matching full:mailbox
463 /* Invoke a command with an output mailbox */
607 struct mthca_mailbox *mailbox; in mthca_alloc_mailbox() local
609 mailbox = kmalloc(sizeof *mailbox, gfp_mask); in mthca_alloc_mailbox()
610 if (!mailbox) in mthca_alloc_mailbox()
613 mailbox->buf = pci_pool_alloc(dev->cmd.pool, gfp_mask, &mailbox->dma); in mthca_alloc_mailbox()
614 if (!mailbox->buf) { in mthca_alloc_mailbox()
615 kfree(mailbox); in mthca_alloc_mailbox()
619 return mailbox; in mthca_alloc_mailbox()
622 void mthca_free_mailbox(struct mthca_dev *dev, struct mthca_mailbox *mailbox) in mthca_free_mailbox() argument
624 if (!mailbox) in mthca_free_mailbox()
627 pci_pool_free(dev->cmd.pool, mailbox->buf, mailbox->dma); in mthca_free_mailbox()
628 kfree(mailbox); in mthca_free_mailbox()
655 struct mthca_mailbox *mailbox; in mthca_map_cmd() local
666 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_map_cmd()
667 if (IS_ERR(mailbox)) in mthca_map_cmd()
668 return PTR_ERR(mailbox); in mthca_map_cmd()
669 memset(mailbox->buf, 0, MTHCA_MAILBOX_SIZE); in mthca_map_cmd()
670 pages = mailbox->buf; in mthca_map_cmd()
704 err = mthca_cmd(dev, mailbox->dma, nent, 0, op, in mthca_map_cmd()
714 err = mthca_cmd(dev, mailbox->dma, nent, 0, op, in mthca_map_cmd()
731 mthca_free_mailbox(dev, mailbox); in mthca_map_cmd()
778 struct mthca_mailbox *mailbox; in mthca_QUERY_FW() local
804 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_QUERY_FW()
805 if (IS_ERR(mailbox)) in mthca_QUERY_FW()
806 return PTR_ERR(mailbox); in mthca_QUERY_FW()
807 outbox = mailbox->buf; in mthca_QUERY_FW()
809 err = mthca_cmd_box(dev, 0, mailbox->dma, 0, 0, CMD_QUERY_FW, in mthca_QUERY_FW()
880 mthca_free_mailbox(dev, mailbox); in mthca_QUERY_FW()
886 struct mthca_mailbox *mailbox; in mthca_ENABLE_LAM() local
899 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_ENABLE_LAM()
900 if (IS_ERR(mailbox)) in mthca_ENABLE_LAM()
901 return PTR_ERR(mailbox); in mthca_ENABLE_LAM()
902 outbox = mailbox->buf; in mthca_ENABLE_LAM()
904 err = mthca_cmd_box(dev, 0, mailbox->dma, 0, 0, CMD_ENABLE_LAM, in mthca_ENABLE_LAM()
930 mthca_free_mailbox(dev, mailbox); in mthca_ENABLE_LAM()
941 struct mthca_mailbox *mailbox; in mthca_QUERY_DDR() local
954 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_QUERY_DDR()
955 if (IS_ERR(mailbox)) in mthca_QUERY_DDR()
956 return PTR_ERR(mailbox); in mthca_QUERY_DDR()
957 outbox = mailbox->buf; in mthca_QUERY_DDR()
959 err = mthca_cmd_box(dev, 0, mailbox->dma, 0, 0, CMD_QUERY_DDR, in mthca_QUERY_DDR()
985 mthca_free_mailbox(dev, mailbox); in mthca_QUERY_DDR()
992 struct mthca_mailbox *mailbox; in mthca_QUERY_DEV_LIM() local
1060 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_QUERY_DEV_LIM()
1061 if (IS_ERR(mailbox)) in mthca_QUERY_DEV_LIM()
1062 return PTR_ERR(mailbox); in mthca_QUERY_DEV_LIM()
1063 outbox = mailbox->buf; in mthca_QUERY_DEV_LIM()
1065 err = mthca_cmd_box(dev, 0, mailbox->dma, 0, 0, CMD_QUERY_DEV_LIM, in mthca_QUERY_DEV_LIM()
1237 mthca_free_mailbox(dev, mailbox); in mthca_QUERY_DEV_LIM()
1272 struct mthca_mailbox *mailbox; in mthca_QUERY_ADAPTER() local
1283 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_QUERY_ADAPTER()
1284 if (IS_ERR(mailbox)) in mthca_QUERY_ADAPTER()
1285 return PTR_ERR(mailbox); in mthca_QUERY_ADAPTER()
1286 outbox = mailbox->buf; in mthca_QUERY_ADAPTER()
1288 err = mthca_cmd_box(dev, 0, mailbox->dma, 0, 0, CMD_QUERY_ADAPTER, in mthca_QUERY_ADAPTER()
1308 mthca_free_mailbox(dev, mailbox); in mthca_QUERY_ADAPTER()
1315 struct mthca_mailbox *mailbox; in mthca_INIT_HCA() local
1357 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_INIT_HCA()
1358 if (IS_ERR(mailbox)) in mthca_INIT_HCA()
1359 return PTR_ERR(mailbox); in mthca_INIT_HCA()
1360 inbox = mailbox->buf; in mthca_INIT_HCA()
1430 err = mthca_cmd(dev, mailbox->dma, 0, 0, in mthca_INIT_HCA()
1433 mthca_free_mailbox(dev, mailbox); in mthca_INIT_HCA()
1441 struct mthca_mailbox *mailbox; in mthca_INIT_IB() local
1460 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_INIT_IB()
1461 if (IS_ERR(mailbox)) in mthca_INIT_IB()
1462 return PTR_ERR(mailbox); in mthca_INIT_IB()
1463 inbox = mailbox->buf; in mthca_INIT_IB()
1482 err = mthca_cmd(dev, mailbox->dma, port, 0, CMD_INIT_IB, in mthca_INIT_IB()
1485 mthca_free_mailbox(dev, mailbox); in mthca_INIT_IB()
1502 struct mthca_mailbox *mailbox; in mthca_SET_IB() local
1514 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_SET_IB()
1515 if (IS_ERR(mailbox)) in mthca_SET_IB()
1516 return PTR_ERR(mailbox); in mthca_SET_IB()
1517 inbox = mailbox->buf; in mthca_SET_IB()
1528 err = mthca_cmd(dev, mailbox->dma, port, 0, CMD_SET_IB, in mthca_SET_IB()
1531 mthca_free_mailbox(dev, mailbox); in mthca_SET_IB()
1542 struct mthca_mailbox *mailbox; in mthca_MAP_ICM_page() local
1546 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_MAP_ICM_page()
1547 if (IS_ERR(mailbox)) in mthca_MAP_ICM_page()
1548 return PTR_ERR(mailbox); in mthca_MAP_ICM_page()
1549 inbox = mailbox->buf; in mthca_MAP_ICM_page()
1554 err = mthca_cmd(dev, mailbox->dma, 1, 0, CMD_MAP_ICM, in mthca_MAP_ICM_page()
1557 mthca_free_mailbox(dev, mailbox); in mthca_MAP_ICM_page()
1605 int mthca_SW2HW_MPT(struct mthca_dev *dev, struct mthca_mailbox *mailbox, in mthca_SW2HW_MPT() argument
1608 return mthca_cmd(dev, mailbox->dma, mpt_index, 0, CMD_SW2HW_MPT, in mthca_SW2HW_MPT()
1612 int mthca_HW2SW_MPT(struct mthca_dev *dev, struct mthca_mailbox *mailbox, in mthca_HW2SW_MPT() argument
1615 return mthca_cmd_box(dev, 0, mailbox ? mailbox->dma : 0, mpt_index, in mthca_HW2SW_MPT()
1616 !mailbox, CMD_HW2SW_MPT, in mthca_HW2SW_MPT()
1620 int mthca_WRITE_MTT(struct mthca_dev *dev, struct mthca_mailbox *mailbox, in mthca_WRITE_MTT() argument
1623 return mthca_cmd(dev, mailbox->dma, num_mtt, 0, CMD_WRITE_MTT, in mthca_WRITE_MTT()
1642 int mthca_SW2HW_EQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, in mthca_SW2HW_EQ() argument
1645 return mthca_cmd(dev, mailbox->dma, eq_num, 0, CMD_SW2HW_EQ, in mthca_SW2HW_EQ()
1649 int mthca_HW2SW_EQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, in mthca_HW2SW_EQ() argument
1652 return mthca_cmd_box(dev, 0, mailbox->dma, eq_num, 0, in mthca_HW2SW_EQ()
1657 int mthca_SW2HW_CQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, in mthca_SW2HW_CQ() argument
1660 return mthca_cmd(dev, mailbox->dma, cq_num, 0, CMD_SW2HW_CQ, in mthca_SW2HW_CQ()
1664 int mthca_HW2SW_CQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, in mthca_HW2SW_CQ() argument
1667 return mthca_cmd_box(dev, 0, mailbox->dma, cq_num, 0, in mthca_HW2SW_CQ()
1674 struct mthca_mailbox *mailbox; in mthca_RESIZE_CQ() local
1682 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_RESIZE_CQ()
1683 if (IS_ERR(mailbox)) in mthca_RESIZE_CQ()
1684 return PTR_ERR(mailbox); in mthca_RESIZE_CQ()
1685 inbox = mailbox->buf; in mthca_RESIZE_CQ()
1695 err = mthca_cmd(dev, mailbox->dma, cq_num, 1, CMD_RESIZE_CQ, in mthca_RESIZE_CQ()
1698 mthca_free_mailbox(dev, mailbox); in mthca_RESIZE_CQ()
1702 int mthca_SW2HW_SRQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, in mthca_SW2HW_SRQ() argument
1705 return mthca_cmd(dev, mailbox->dma, srq_num, 0, CMD_SW2HW_SRQ, in mthca_SW2HW_SRQ()
1709 int mthca_HW2SW_SRQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, in mthca_HW2SW_SRQ() argument
1712 return mthca_cmd_box(dev, 0, mailbox->dma, srq_num, 0, in mthca_HW2SW_SRQ()
1718 struct mthca_mailbox *mailbox) in mthca_QUERY_SRQ() argument
1720 return mthca_cmd_box(dev, 0, mailbox->dma, num, 0, in mthca_QUERY_SRQ()
1732 struct mthca_mailbox *mailbox, u32 optmask) in mthca_MODIFY_QP() argument
1782 if (!mailbox) { in mthca_MODIFY_QP()
1783 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_MODIFY_QP()
1784 if (!IS_ERR(mailbox)) { in mthca_MODIFY_QP()
1788 mailbox = NULL; in mthca_MODIFY_QP()
1791 err = mthca_cmd_box(dev, 0, mailbox ? mailbox->dma : 0, in mthca_MODIFY_QP()
1795 if (0 && mailbox) { in mthca_MODIFY_QP()
1798 printk(" %08x\n", be32_to_cpup(mailbox->buf)); in mthca_MODIFY_QP()
1803 be32_to_cpu(((__be32 *) mailbox->buf)[i + 2])); in mthca_MODIFY_QP()
1810 mthca_free_mailbox(dev, mailbox); in mthca_MODIFY_QP()
1815 printk(" opt param mask: %08x\n", be32_to_cpup(mailbox->buf)); in mthca_MODIFY_QP()
1820 be32_to_cpu(((__be32 *) mailbox->buf)[i + 2])); in mthca_MODIFY_QP()
1826 err = mthca_cmd(dev, mailbox->dma, optmask | (!!is_ee << 24) | num, in mthca_MODIFY_QP()
1834 struct mthca_mailbox *mailbox) in mthca_QUERY_QP() argument
1836 return mthca_cmd_box(dev, 0, mailbox->dma, (!!is_ee << 24) | num, 0, in mthca_QUERY_QP()
1945 struct mthca_mailbox *mailbox) in mthca_READ_MGM() argument
1947 return mthca_cmd_box(dev, 0, mailbox->dma, index, 0, in mthca_READ_MGM()
1952 struct mthca_mailbox *mailbox) in mthca_WRITE_MGM() argument
1954 return mthca_cmd(dev, mailbox->dma, index, 0, CMD_WRITE_MGM, in mthca_WRITE_MGM()
1958 int mthca_MGID_HASH(struct mthca_dev *dev, struct mthca_mailbox *mailbox, in mthca_MGID_HASH() argument
1964 err = mthca_cmd_imm(dev, mailbox->dma, &imm, 0, 0, CMD_MGID_HASH, in mthca_MGID_HASH()