Lines Matching refs:cptvf

8 static void cptvf_send_msg_to_pf(struct cpt_vf *cptvf, struct cpt_mbox *mbx)  in cptvf_send_msg_to_pf()  argument
11 cpt_write_csr64(cptvf->reg_base, CPTX_VFX_PF_MBOXX(0, 0, 0), in cptvf_send_msg_to_pf()
13 cpt_write_csr64(cptvf->reg_base, CPTX_VFX_PF_MBOXX(0, 0, 1), in cptvf_send_msg_to_pf()
18 void cptvf_handle_mbox_intr(struct cpt_vf *cptvf) in cptvf_handle_mbox_intr() argument
26 mbx.msg = cpt_read_csr64(cptvf->reg_base, CPTX_VFX_PF_MBOXX(0, 0, 0)); in cptvf_handle_mbox_intr()
27 mbx.data = cpt_read_csr64(cptvf->reg_base, CPTX_VFX_PF_MBOXX(0, 0, 1)); in cptvf_handle_mbox_intr()
28 dev_dbg(&cptvf->pdev->dev, "%s: Mailbox msg 0x%llx from PF\n", in cptvf_handle_mbox_intr()
33 cptvf->pf_acked = true; in cptvf_handle_mbox_intr()
34 cptvf->vfid = mbx.data; in cptvf_handle_mbox_intr()
35 dev_dbg(&cptvf->pdev->dev, "Received VFID %d\n", cptvf->vfid); in cptvf_handle_mbox_intr()
39 cptvf->pf_acked = true; in cptvf_handle_mbox_intr()
40 cptvf->vftype = mbx.data; in cptvf_handle_mbox_intr()
41 dev_dbg(&cptvf->pdev->dev, "VF %d type %s group %d\n", in cptvf_handle_mbox_intr()
42 cptvf->vfid, ((mbx.data == SE_TYPES) ? "SE" : "AE"), in cptvf_handle_mbox_intr()
43 cptvf->vfgrp); in cptvf_handle_mbox_intr()
46 cptvf->pf_acked = true; in cptvf_handle_mbox_intr()
49 cptvf->pf_nacked = true; in cptvf_handle_mbox_intr()
52 dev_err(&cptvf->pdev->dev, "Invalid msg from PF, msg 0x%llx\n", in cptvf_handle_mbox_intr()
58 static int cptvf_send_msg_to_pf_timeout(struct cpt_vf *cptvf, in cptvf_send_msg_to_pf_timeout() argument
64 cptvf->pf_acked = false; in cptvf_send_msg_to_pf_timeout()
65 cptvf->pf_nacked = false; in cptvf_send_msg_to_pf_timeout()
66 cptvf_send_msg_to_pf(cptvf, mbx); in cptvf_send_msg_to_pf_timeout()
68 while (!cptvf->pf_acked) { in cptvf_send_msg_to_pf_timeout()
69 if (cptvf->pf_nacked) in cptvf_send_msg_to_pf_timeout()
72 if (cptvf->pf_acked) in cptvf_send_msg_to_pf_timeout()
76 dev_err(&cptvf->pdev->dev, "PF didn't ack to mbox msg %llx from VF%u\n", in cptvf_send_msg_to_pf_timeout()
77 (mbx->msg & 0xFF), cptvf->vfid); in cptvf_send_msg_to_pf_timeout()
89 int cptvf_check_pf_ready(struct cpt_vf *cptvf) in cptvf_check_pf_ready() argument
91 struct pci_dev *pdev = cptvf->pdev; in cptvf_check_pf_ready()
95 if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { in cptvf_check_pf_ready()
107 int cptvf_send_vq_size_msg(struct cpt_vf *cptvf) in cptvf_send_vq_size_msg() argument
109 struct pci_dev *pdev = cptvf->pdev; in cptvf_send_vq_size_msg()
113 mbx.data = cptvf->qsize; in cptvf_send_vq_size_msg()
114 if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { in cptvf_send_vq_size_msg()
125 int cptvf_send_vf_to_grp_msg(struct cpt_vf *cptvf) in cptvf_send_vf_to_grp_msg() argument
127 struct pci_dev *pdev = cptvf->pdev; in cptvf_send_vf_to_grp_msg()
132 mbx.data = cptvf->vfgrp; in cptvf_send_vf_to_grp_msg()
133 if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { in cptvf_send_vf_to_grp_msg()
144 int cptvf_send_vf_priority_msg(struct cpt_vf *cptvf) in cptvf_send_vf_priority_msg() argument
146 struct pci_dev *pdev = cptvf->pdev; in cptvf_send_vf_priority_msg()
151 mbx.data = cptvf->priority; in cptvf_send_vf_priority_msg()
152 if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { in cptvf_send_vf_priority_msg()
162 int cptvf_send_vf_up(struct cpt_vf *cptvf) in cptvf_send_vf_up() argument
164 struct pci_dev *pdev = cptvf->pdev; in cptvf_send_vf_up()
168 if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { in cptvf_send_vf_up()
179 int cptvf_send_vf_down(struct cpt_vf *cptvf) in cptvf_send_vf_down() argument
181 struct pci_dev *pdev = cptvf->pdev; in cptvf_send_vf_down()
185 if (cptvf_send_msg_to_pf_timeout(cptvf, &mbx)) { in cptvf_send_vf_down()