arch/mips/cavium-octeon/octeon-irq.c
2650
static unsigned int octeon_irq_ciu3_mbox_intsn_for_core(int core, unsigned int mbox)
arch/mips/cavium-octeon/octeon-irq.c
2652
return octeon_irq_ciu3_base_mbox_intsn(core) + mbox;
arch/mips/cavium-octeon/octeon-irq.c
2655
static unsigned int octeon_irq_ciu3_mbox_intsn_for_cpu(int cpu, unsigned int mbox)
arch/mips/cavium-octeon/octeon-irq.c
2659
return octeon_irq_ciu3_mbox_intsn_for_core(local_core, mbox);
arch/mips/cavium-octeon/octeon-irq.c
2676
int mbox = intsn - octeon_irq_ciu3_base_mbox_intsn(core);
arch/mips/cavium-octeon/octeon-irq.c
2678
if (likely(mbox >= 0 && mbox < CIU3_MBOX_PER_CORE)) {
arch/mips/cavium-octeon/octeon-irq.c
2679
do_IRQ(mbox + OCTEON_IRQ_MBOX0);
arch/mips/cavium-octeon/octeon-irq.c
2695
void octeon_ciu3_mbox_send(int cpu, unsigned int mbox)
arch/mips/cavium-octeon/octeon-irq.c
2702
if (WARN_ON_ONCE(mbox >= CIU3_MBOX_PER_CORE))
arch/mips/cavium-octeon/octeon-irq.c
2705
intsn = octeon_irq_ciu3_mbox_intsn_for_cpu(cpu, mbox);
arch/mips/cavium-octeon/octeon-irq.c
2722
unsigned int mbox = data->irq - OCTEON_IRQ_MBOX0;
arch/mips/cavium-octeon/octeon-irq.c
2724
intsn = octeon_irq_ciu3_mbox_intsn_for_cpu(cpu, mbox);
arch/mips/cavium-octeon/octeon-irq.c
2748
unsigned int mbox = data->irq - OCTEON_IRQ_MBOX0;
arch/mips/cavium-octeon/octeon-irq.c
2750
WARN_ON(mbox >= CIU3_MBOX_PER_CORE);
arch/mips/cavium-octeon/octeon-irq.c
2759
unsigned int mbox = data->irq - OCTEON_IRQ_MBOX0;
arch/mips/cavium-octeon/octeon-irq.c
2761
WARN_ON(mbox >= CIU3_MBOX_PER_CORE);
arch/mips/cavium-octeon/octeon-irq.c
2773
unsigned int mbox = data->irq - OCTEON_IRQ_MBOX0;
arch/mips/cavium-octeon/octeon-irq.c
2775
intsn = octeon_irq_ciu3_mbox_intsn_for_core(cvmx_get_local_core_num(), mbox);
arch/mips/include/asm/octeon/cvmx-sriox-defs.h
1354
uint64_t mbox:4;
arch/mips/include/asm/octeon/cvmx-sriox-defs.h
1364
uint64_t mbox:4;
arch/mips/include/asm/octeon/cvmx-sriox-defs.h
1458
uint64_t mbox:4;
arch/mips/include/asm/octeon/cvmx-sriox-defs.h
1468
uint64_t mbox:4;
arch/mips/include/asm/octeon/cvmx-sriox-defs.h
316
uint64_t mbox:4;
arch/mips/include/asm/octeon/cvmx-sriox-defs.h
318
uint64_t mbox:4;
arch/mips/include/asm/octeon/cvmx-sriox-defs.h
735
uint64_t mbox:2;
arch/mips/include/asm/octeon/cvmx-sriox-defs.h
745
uint64_t mbox:2;
arch/mips/include/asm/octeon/octeon.h
309
void octeon_ciu3_mbox_send(int cpu, unsigned int mbox);
arch/powerpc/sysdev/fsl_rio.h
135
int mbox, void *buffer, size_t len);
arch/powerpc/sysdev/fsl_rio.h
137
void *dev_id, int mbox, int entries);
arch/powerpc/sysdev/fsl_rio.h
138
extern void fsl_close_outb_mbox(struct rio_mport *mport, int mbox);
arch/powerpc/sysdev/fsl_rio.h
140
void *dev_id, int mbox, int entries);
arch/powerpc/sysdev/fsl_rio.h
141
extern void fsl_close_inb_mbox(struct rio_mport *mport, int mbox);
arch/powerpc/sysdev/fsl_rio.h
142
extern int fsl_add_inb_buffer(struct rio_mport *mport, int mbox, void *buf);
arch/powerpc/sysdev/fsl_rio.h
143
extern void *fsl_get_inb_message(struct rio_mport *mport, int mbox);
arch/powerpc/sysdev/fsl_rmu.c
660
fsl_add_outb_message(struct rio_mport *mport, struct rio_dev *rdev, int mbox,
arch/powerpc/sysdev/fsl_rmu.c
670
"%p len %8.8zx\n", rdev->destid, mbox, buffer, len);
arch/powerpc/sysdev/fsl_rmu.c
684
desc->dport = (rdev->destid << 16) | (mbox & 0x3);
arch/powerpc/sysdev/fsl_rmu.c
720
fsl_open_outb_mbox(struct rio_mport *mport, void *dev_id, int mbox, int entries)
arch/powerpc/sysdev/fsl_rmu.c
823
void fsl_close_outb_mbox(struct rio_mport *mport, int mbox)
arch/powerpc/sysdev/fsl_rmu.c
852
fsl_open_inb_mbox(struct rio_mport *mport, void *dev_id, int mbox, int entries)
arch/powerpc/sysdev/fsl_rmu.c
924
void fsl_close_inb_mbox(struct rio_mport *mport, int mbox)
arch/powerpc/sysdev/fsl_rmu.c
949
int fsl_add_inb_buffer(struct rio_mport *mport, int mbox, void *buf)
arch/powerpc/sysdev/fsl_rmu.c
981
void *fsl_get_inb_message(struct rio_mport *mport, int mbox)
drivers/accel/amdxdna/aie2_message.c
296
hwctx->priv->mbox_chann = xdna_mailbox_alloc_channel(ndev->mbox);
drivers/accel/amdxdna/aie2_pci.c
334
drmm_kfree(&xdna->ddev, ndev->mbox);
drivers/accel/amdxdna/aie2_pci.c
335
ndev->mbox = NULL;
drivers/accel/amdxdna/aie2_pci.c
369
ndev->mbox = xdnam_mailbox_create(&xdna->ddev, &mbox_res);
drivers/accel/amdxdna/aie2_pci.c
370
if (!ndev->mbox) {
drivers/accel/amdxdna/aie2_pci.c
376
ndev->mgmt_chann = xdna_mailbox_alloc_channel(ndev->mbox);
drivers/accel/amdxdna/aie2_pci.h
210
struct mailbox *mbox;
drivers/acpi/acpi_pcc.c
77
if (!pcc_chan->mchan->mbox->txdone_irq) {
drivers/acpi/cppc_acpi.c
357
if (pcc_ss_data->pcc_channel->mchan->mbox->txdone_irq)
drivers/clk/hisilicon/clk-hi3660-stub.c
138
stub_clk_chan.mbox = mbox_request_channel(&stub_clk_chan.cl, 0);
drivers/clk/hisilicon/clk-hi3660-stub.c
139
if (IS_ERR(stub_clk_chan.mbox))
drivers/clk/hisilicon/clk-hi3660-stub.c
140
return PTR_ERR(stub_clk_chan.mbox);
drivers/clk/hisilicon/clk-hi3660-stub.c
43
struct mbox_chan *mbox;
drivers/clk/hisilicon/clk-hi3660-stub.c
91
mbox_send_message(stub_clk_chan.mbox, stub_clk->msg);
drivers/clk/hisilicon/clk-hi3660-stub.c
92
mbox_client_txdone(stub_clk_chan.mbox, 0);
drivers/clk/hisilicon/clk-hi6220-stub.c
227
stub_clk->mbox = mbox_request_channel(&stub_clk->cl, 0);
drivers/clk/hisilicon/clk-hi6220-stub.c
228
if (IS_ERR(stub_clk->mbox)) {
drivers/clk/hisilicon/clk-hi6220-stub.c
230
return PTR_ERR(stub_clk->mbox);
drivers/clk/hisilicon/clk-hi6220-stub.c
51
struct mbox_chan *mbox;
drivers/clk/hisilicon/clk-hi6220-stub.c
89
mbox_send_message(stub_clk->mbox, &data);
drivers/crypto/bcm/cipher.c
249
err = mbox_send_message(iproc_priv.mbox[chan_idx], mssg);
drivers/crypto/bcm/cipher.c
258
err = mbox_send_message(iproc_priv.mbox[chan_idx],
drivers/crypto/bcm/cipher.c
276
mbox_client_txdone(iproc_priv.mbox[chan_idx], err);
drivers/crypto/bcm/cipher.c
4295
iproc_priv.mbox = devm_kcalloc(dev, iproc_priv.spu.num_chan,
drivers/crypto/bcm/cipher.c
4297
if (!iproc_priv.mbox)
drivers/crypto/bcm/cipher.c
4308
iproc_priv.mbox[i] = mbox_request_channel(mcl, i);
drivers/crypto/bcm/cipher.c
4309
if (IS_ERR(iproc_priv.mbox[i])) {
drivers/crypto/bcm/cipher.c
4310
err = PTR_ERR(iproc_priv.mbox[i]);
drivers/crypto/bcm/cipher.c
4314
iproc_priv.mbox[i] = NULL;
drivers/crypto/bcm/cipher.c
4322
if (iproc_priv.mbox[i])
drivers/crypto/bcm/cipher.c
4323
mbox_free_channel(iproc_priv.mbox[i]);
drivers/crypto/bcm/cipher.c
4334
mbox_free_channel(iproc_priv.mbox[i]);
drivers/crypto/bcm/cipher.h
464
struct mbox_chan **mbox;
drivers/crypto/cavium/cpt/cpt_hw_types.h
378
u64 mbox:1;
drivers/crypto/cavium/cpt/cpt_hw_types.h
380
u64 mbox:1;
drivers/crypto/cavium/cpt/cpt_hw_types.h
476
u64 mbox:1;
drivers/crypto/cavium/cpt/cpt_hw_types.h
478
u64 mbox:1;
drivers/crypto/cavium/cpt/cptvf_main.c
433
vqx_misc_ena.s.mbox = 1;
drivers/crypto/cavium/cpt/cptvf_main.c
493
vqx_misc_int.s.mbox = 1;
drivers/crypto/cavium/nitrox/nitrox_csr.h
853
u64 mbox : 1;
drivers/crypto/cavium/nitrox/nitrox_csr.h
885
u64 mbox : 1;
drivers/crypto/cavium/nitrox/nitrox_isr.c
253
if (core_int.s.mbox)
drivers/crypto/ccp/dbc.c
203
dbc_dev->mbox = (void *)devm_get_free_pages(dev, GFP_KERNEL | __GFP_ZERO, 0);
drivers/crypto/ccp/dbc.c
204
if (!dbc_dev->mbox) {
drivers/crypto/ccp/dbc.c
215
dbc_dev->payload_size = &dbc_dev->mbox->ext_req.header.payload_size;
drivers/crypto/ccp/dbc.c
216
dbc_dev->result = &dbc_dev->mbox->ext_req.header.status;
drivers/crypto/ccp/dbc.c
217
dbc_dev->payload = &dbc_dev->mbox->ext_req.buf;
drivers/crypto/ccp/dbc.c
220
dbc_dev->payload_size = &dbc_dev->mbox->pa_req.header.payload_size;
drivers/crypto/ccp/dbc.c
221
dbc_dev->result = &dbc_dev->mbox->pa_req.header.status;
drivers/crypto/ccp/dbc.c
222
dbc_dev->payload = &dbc_dev->mbox->pa_req.buf;
drivers/crypto/ccp/dbc.c
252
devm_free_pages(dev, (unsigned long)dbc_dev->mbox);
drivers/crypto/ccp/dbc.c
45
dbc_dev->mbox->ext_req.header.sub_cmd_id = msg;
drivers/crypto/ccp/dbc.c
49
(struct psp_ext_request *)dbc_dev->mbox);
drivers/crypto/ccp/dbc.c
55
(struct psp_request *)dbc_dev->mbox);
drivers/crypto/ccp/dbc.h
25
union dbc_buffer *mbox;
drivers/crypto/marvell/octeontx/otx_cpt_hw_types.h
516
u64 mbox:1;
drivers/crypto/marvell/octeontx/otx_cpt_hw_types.h
518
u64 mbox:1;
drivers/crypto/marvell/octeontx/otx_cpt_hw_types.h
614
u64 mbox:1;
drivers/crypto/marvell/octeontx/otx_cpt_hw_types.h
616
u64 mbox:1;
drivers/crypto/marvell/octeontx/otx_cptvf_main.c
424
vqx_misc_ena.s.mbox = 1;
drivers/crypto/marvell/octeontx/otx_cptvf_main.c
474
vqx_misc_int.s.mbox = 1;
drivers/crypto/marvell/octeontx2/otx2_cpt_common.h
194
int otx2_cpt_send_ready_msg(struct otx2_mbox *mbox, struct pci_dev *pdev);
drivers/crypto/marvell/octeontx2/otx2_cpt_common.h
195
int otx2_cpt_send_mbox_msg(struct otx2_mbox *mbox, struct pci_dev *pdev);
drivers/crypto/marvell/octeontx2/otx2_cpt_common.h
197
int otx2_cpt_send_af_reg_requests(struct otx2_mbox *mbox,
drivers/crypto/marvell/octeontx2/otx2_cpt_common.h
199
int otx2_cpt_add_write_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev,
drivers/crypto/marvell/octeontx2/otx2_cpt_common.h
201
int otx2_cpt_read_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev,
drivers/crypto/marvell/octeontx2/otx2_cpt_common.h
203
int otx2_cpt_write_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev,
drivers/crypto/marvell/octeontx2/otx2_cpt_common.h
209
int otx2_cpt_sync_mbox_msg(struct otx2_mbox *mbox);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
100
int otx2_cpt_read_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev,
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
105
ret = otx2_cpt_add_read_af_reg(mbox, pdev, reg, val, blkaddr);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
109
return otx2_cpt_send_mbox_msg(mbox, pdev);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
11
otx2_mbox_msg_send(mbox, 0);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
113
int otx2_cpt_write_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev,
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
118
ret = otx2_cpt_add_write_af_reg(mbox, pdev, reg, val, blkaddr);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
12
ret = otx2_mbox_wait_for_rsp(mbox, 0);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
122
return otx2_cpt_send_mbox_msg(mbox, pdev);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
128
struct otx2_mbox *mbox = lfs->mbox;
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
133
otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req),
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
146
ret = otx2_cpt_send_mbox_msg(mbox, lfs->pdev);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
158
struct otx2_mbox *mbox = lfs->mbox;
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
163
otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req),
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
174
ret = otx2_cpt_send_mbox_msg(mbox, lfs->pdev);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
187
struct otx2_mbox *mbox = lfs->mbox;
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
192
req = otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req),
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
202
ret = otx2_cpt_send_mbox_msg(mbox, pdev);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
218
int otx2_cpt_sync_mbox_msg(struct otx2_mbox *mbox)
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
222
if (!otx2_mbox_nonempty(mbox, 0))
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
224
otx2_mbox_msg_send(mbox, 0);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
225
err = otx2_mbox_wait_for_rsp(mbox, 0);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
229
return otx2_mbox_check_rsp_msgs(mbox, 0);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
235
struct otx2_mbox *mbox = lfs->mbox;
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
24
int otx2_cpt_send_ready_msg(struct otx2_mbox *mbox, struct pci_dev *pdev)
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
240
req = (struct cpt_lf_rst_req *)otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req),
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
251
ret = otx2_cpt_send_mbox_msg(mbox, pdev);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
261
struct otx2_mbox *mbox = lfs->mbox;
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
266
otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req),
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
28
req = otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req),
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
280
return otx2_cpt_send_mbox_msg(mbox, pdev);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
38
return otx2_cpt_send_mbox_msg(mbox, pdev);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
42
int otx2_cpt_send_af_reg_requests(struct otx2_mbox *mbox, struct pci_dev *pdev)
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
44
return otx2_cpt_send_mbox_msg(mbox, pdev);
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
48
static int otx2_cpt_add_read_af_reg(struct otx2_mbox *mbox,
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
55
otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*reg_msg),
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
7
int otx2_cpt_send_mbox_msg(struct otx2_mbox *mbox, struct pci_dev *pdev)
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
74
int otx2_cpt_add_write_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev,
drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
80
otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*reg_msg),
drivers/crypto/marvell/octeontx2/otx2_cptlf.c
118
ret = otx2_cpt_read_af_reg(lfs->mbox, lfs->pdev,
drivers/crypto/marvell/octeontx2/otx2_cptlf.c
126
ret = otx2_cpt_write_af_reg(lfs->mbox, lfs->pdev,
drivers/crypto/marvell/octeontx2/otx2_cptlf.c
57
ret = otx2_cpt_read_af_reg(lfs->mbox, lfs->pdev,
drivers/crypto/marvell/octeontx2/otx2_cptlf.c
65
ret = otx2_cpt_write_af_reg(lfs->mbox, lfs->pdev,
drivers/crypto/marvell/octeontx2/otx2_cptlf.c
78
ret = otx2_cpt_read_af_reg(lfs->mbox, lfs->pdev,
drivers/crypto/marvell/octeontx2/otx2_cptlf.c
86
ret = otx2_cpt_write_af_reg(lfs->mbox, lfs->pdev,
drivers/crypto/marvell/octeontx2/otx2_cptlf.h
123
struct otx2_mbox *mbox;
drivers/crypto/marvell/octeontx2/otx2_cptlf.h
429
struct otx2_mbox *mbox,
drivers/crypto/marvell/octeontx2/otx2_cptlf.h
434
lfs->mbox = mbox;
drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c
139
struct otx2_mbox *mbox;
drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c
144
mbox = &pf->afpf_mbox;
drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c
149
req = otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req),
drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c
161
otx2_cpt_send_mbox_msg(mbox, pf->pdev);
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
379
struct otx2_mbox *mbox;
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
384
mbox = &cptpf->vfpf_mbox;
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
387
mdev = &mbox->dev[vf->vf_id];
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
389
req_hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
390
offset = mbox->rx_start + ALIGN(sizeof(*req_hdr), MBOX_MSG_ALIGN);
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
414
otx2_mbox_msg_send(mbox, vf->vf_id);
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
421
struct otx2_mbox *mbox;
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
429
mbox = &cptpf->afpf_mbox;
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
430
mdev = &mbox->dev[0];
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
431
hdr = mdev->mbase + mbox->rx_start;
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
436
mbox = &cptpf->afpf_mbox_up;
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
437
mdev = &mbox->dev[0];
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
438
hdr = mdev->mbase + mbox->rx_start;
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
641
struct otx2_mbox *mbox;
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
645
mbox = &cptpf->afpf_mbox_up;
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
646
mdev = &mbox->dev[0];
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
650
rsp_hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
651
offset = mbox->rx_start + ALIGN(sizeof(*rsp_hdr), MBOX_MSG_ALIGN);
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
658
offset = mbox->rx_start + msg->next_msgoff;
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
660
otx2_mbox_msg_send(mbox, 0);
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
184
struct otx2_mbox *mbox = &cptvf->pfvf_mbox;
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
189
otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req),
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
200
return otx2_cpt_send_mbox_msg(mbox, pdev);
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
205
struct otx2_mbox *mbox = &cptvf->pfvf_mbox;
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
210
otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req),
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
220
return otx2_cpt_send_mbox_msg(mbox, pdev);
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
225
struct otx2_mbox *mbox = &cptvf->pfvf_mbox;
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
230
otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req),
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
240
return otx2_cpt_send_mbox_msg(mbox, pdev);
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
28
static void otx2_cpt_sync_mbox_bbuf(struct otx2_mbox *mbox, int devid)
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
31
void *hw_mbase = mbox->hwbase + (devid * MBOX_SIZE);
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
32
struct otx2_mbox_dev *mdev = &mbox->dev[devid];
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
39
hdr = hw_mbase + mbox->rx_start;
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
42
if (msg_size > mbox->rx_size - msgs_offset)
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
43
msg_size = mbox->rx_size - msgs_offset;
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
46
memcpy(mdev->mbase + mbox->rx_start,
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
47
hw_mbase + mbox->rx_start, msg_size + msgs_offset);
drivers/cxl/core/mbox.c
399
static void cxl_mbox_cmd_dtor(struct cxl_mbox_cmd *mbox)
drivers/cxl/core/mbox.c
401
kvfree(mbox->payload_in);
drivers/cxl/core/mbox.c
402
kvfree(mbox->payload_out);
drivers/cxl/core/regs.c
152
rmap = &map->mbox;
drivers/cxl/core/regs.c
247
{ &map->device_map.mbox, ®s->mbox, },
drivers/cxl/core/regs.c
452
if (!dev_map->status.valid || !dev_map->mbox.valid ||
drivers/cxl/core/regs.c
456
!dev_map->mbox.valid ? "mbox " : "",
drivers/cxl/cxl.h
225
void __iomem *status, *mbox, *memdev;
drivers/cxl/cxl.h
263
struct cxl_reg_map mbox;
drivers/cxl/pci.c
118
reg = readq(cxlds->regs.mbox + CXLDEV_MBOX_BG_CMD_STATUS_OFFSET);
drivers/cxl/pci.c
134
reg = readq(cxlds->regs.mbox + CXLDEV_MBOX_BG_CMD_STATUS_OFFSET);
drivers/cxl/pci.c
203
void __iomem *payload = cxlds->regs.mbox + CXLDEV_MBOX_PAYLOAD_OFFSET;
drivers/cxl/pci.c
260
writeq(cmd_reg, cxlds->regs.mbox + CXLDEV_MBOX_CMD_OFFSET);
drivers/cxl/pci.c
265
cxlds->regs.mbox + CXLDEV_MBOX_CTRL_OFFSET);
drivers/cxl/pci.c
277
status_reg = readq(cxlds->regs.mbox + CXLDEV_MBOX_STATUS_OFFSET);
drivers/cxl/pci.c
335
bg_status_reg = readq(cxlds->regs.mbox +
drivers/cxl/pci.c
353
cmd_reg = readq(cxlds->regs.mbox + CXLDEV_MBOX_CMD_OFFSET);
drivers/cxl/pci.c
38
(readl((cxlds)->regs.mbox + CXLDEV_MBOX_CTRL_OFFSET) & \
drivers/cxl/pci.c
393
const int cap = readl(cxlds->regs.mbox + CXLDEV_MBOX_CAPS_OFFSET);
drivers/cxl/pci.c
461
ctrl = readl(cxlds->regs.mbox + CXLDEV_MBOX_CTRL_OFFSET);
drivers/cxl/pci.c
463
writel(ctrl, cxlds->regs.mbox + CXLDEV_MBOX_CTRL_OFFSET);
drivers/cxl/pci.c
767
if (!cxlds->reg_map.device_map.mbox.valid)
drivers/firmware/raspberrypi.c
100
buf = dma_alloc_coherent(fw->chan->mbox->dev, PAGE_ALIGN(size),
drivers/firmware/raspberrypi.c
131
dma_free_coherent(fw->chan->mbox->dev, PAGE_ALIGN(size), buf, bus_addr);
drivers/firmware/tegra/bpmp-tegra186.c
101
if (WARN_ON(priv->mbox.channel == NULL))
drivers/firmware/tegra/bpmp-tegra186.c
33
} mbox;
drivers/firmware/tegra/bpmp-tegra186.c
340
priv->mbox.client.dev = bpmp->dev;
drivers/firmware/tegra/bpmp-tegra186.c
341
priv->mbox.client.rx_callback = mbox_handle_rx;
drivers/firmware/tegra/bpmp-tegra186.c
342
priv->mbox.client.tx_block = false;
drivers/firmware/tegra/bpmp-tegra186.c
343
priv->mbox.client.knows_txdone = false;
drivers/firmware/tegra/bpmp-tegra186.c
345
priv->mbox.channel = mbox_request_channel(&priv->mbox.client, 0);
drivers/firmware/tegra/bpmp-tegra186.c
346
if (IS_ERR(priv->mbox.channel)) {
drivers/firmware/tegra/bpmp-tegra186.c
347
err = PTR_ERR(priv->mbox.channel);
drivers/firmware/tegra/bpmp-tegra186.c
362
mbox_free_channel(priv->mbox.channel);
drivers/firmware/tegra/bpmp-tegra186.c
41
priv = container_of(client, struct tegra186_bpmp, mbox.client);
drivers/firmware/tegra/bpmp-tegra186.c
87
err = mbox_send_message(priv->mbox.channel, NULL);
drivers/firmware/tegra/bpmp-tegra186.c
91
mbox_client_txdone(priv->mbox.channel, 0);
drivers/firmware/turris-mox-rwtm.c
181
ret = mbox_send_message(rwtm->mbox, msg);
drivers/firmware/turris-mox-rwtm.c
415
static void rwtm_devm_mbox_release(void *mbox)
drivers/firmware/turris-mox-rwtm.c
417
mbox_free_channel(mbox);
drivers/firmware/turris-mox-rwtm.c
451
rwtm->mbox = mbox_request_channel(&rwtm->mbox_client, 0);
drivers/firmware/turris-mox-rwtm.c
452
if (IS_ERR(rwtm->mbox))
drivers/firmware/turris-mox-rwtm.c
453
return dev_err_probe(dev, PTR_ERR(rwtm->mbox),
drivers/firmware/turris-mox-rwtm.c
456
ret = devm_add_action_or_reset(dev, rwtm_devm_mbox_release, rwtm->mbox);
drivers/firmware/turris-mox-rwtm.c
89
struct mbox_chan *mbox;
drivers/gpu/drm/i915/intel_pcode.c
103
err = __snb_pcode_rw(uncore, mbox, val, val1, 500, 20, true);
drivers/gpu/drm/i915/intel_pcode.c
109
mbox, __builtin_return_address(0), err);
drivers/gpu/drm/i915/intel_pcode.c
115
int snb_pcode_write_timeout(struct intel_uncore *uncore, u32 mbox, u32 val,
drivers/gpu/drm/i915/intel_pcode.c
121
err = __snb_pcode_rw(uncore, mbox, &val, NULL, 250, timeout_ms, false);
drivers/gpu/drm/i915/intel_pcode.c
127
val, mbox, __builtin_return_address(0), err);
drivers/gpu/drm/i915/intel_pcode.c
13
static int gen6_check_mailbox_status(u32 mbox)
drivers/gpu/drm/i915/intel_pcode.c
133
static bool skl_pcode_try_request(struct intel_uncore *uncore, u32 mbox,
drivers/gpu/drm/i915/intel_pcode.c
137
*status = __snb_pcode_rw(uncore, mbox, &request, NULL, 500, 0, true);
drivers/gpu/drm/i915/intel_pcode.c
15
switch (mbox & GEN6_PCODE_ERROR_MASK) {
drivers/gpu/drm/i915/intel_pcode.c
161
int skl_pcode_request(struct intel_uncore *uncore, u32 mbox, u32 request,
drivers/gpu/drm/i915/intel_pcode.c
170
skl_pcode_try_request(uncore, mbox, request, reply_mask, reply, &status)
drivers/gpu/drm/i915/intel_pcode.c
250
u32 mbox;
drivers/gpu/drm/i915/intel_pcode.c
253
mbox = REG_FIELD_PREP(GEN6_PCODE_MB_COMMAND, mbcmd)
drivers/gpu/drm/i915/intel_pcode.c
258
err = snb_pcode_read(uncore, mbox, val, NULL);
drivers/gpu/drm/i915/intel_pcode.c
266
u32 mbox;
drivers/gpu/drm/i915/intel_pcode.c
269
mbox = REG_FIELD_PREP(GEN6_PCODE_MB_COMMAND, mbcmd)
drivers/gpu/drm/i915/intel_pcode.c
274
err = snb_pcode_write(uncore, mbox, val);
drivers/gpu/drm/i915/intel_pcode.c
28
MISSING_CASE(mbox & GEN6_PCODE_ERROR_MASK);
drivers/gpu/drm/i915/intel_pcode.c
280
int intel_pcode_read(struct drm_device *drm, u32 mbox, u32 *val, u32 *val1)
drivers/gpu/drm/i915/intel_pcode.c
284
return snb_pcode_read(&i915->uncore, mbox, val, val1);
drivers/gpu/drm/i915/intel_pcode.c
287
int intel_pcode_write_timeout(struct drm_device *drm, u32 mbox, u32 val, int timeout_ms)
drivers/gpu/drm/i915/intel_pcode.c
291
return snb_pcode_write_timeout(&i915->uncore, mbox, val, timeout_ms);
drivers/gpu/drm/i915/intel_pcode.c
294
int intel_pcode_request(struct drm_device *drm, u32 mbox, u32 request,
drivers/gpu/drm/i915/intel_pcode.c
299
return skl_pcode_request(&i915->uncore, mbox, request, reply_mask, reply,
drivers/gpu/drm/i915/intel_pcode.c
33
static int gen7_check_mailbox_status(u32 mbox)
drivers/gpu/drm/i915/intel_pcode.c
35
switch (mbox & GEN6_PCODE_ERROR_MASK) {
drivers/gpu/drm/i915/intel_pcode.c
53
MISSING_CASE(mbox & GEN6_PCODE_ERROR_MASK);
drivers/gpu/drm/i915/intel_pcode.c
58
static int __snb_pcode_rw(struct intel_uncore *uncore, u32 mbox,
drivers/gpu/drm/i915/intel_pcode.c
77
GEN6_PCODE_MAILBOX, GEN6_PCODE_READY | mbox);
drivers/gpu/drm/i915/intel_pcode.c
84
&mbox))
drivers/gpu/drm/i915/intel_pcode.c
93
return gen7_check_mailbox_status(mbox);
drivers/gpu/drm/i915/intel_pcode.c
95
return gen6_check_mailbox_status(mbox);
drivers/gpu/drm/i915/intel_pcode.c
98
int snb_pcode_read(struct intel_uncore *uncore, u32 mbox, u32 *val, u32 *val1)
drivers/gpu/drm/i915/intel_pcode.h
14
int snb_pcode_read(struct intel_uncore *uncore, u32 mbox, u32 *val, u32 *val1);
drivers/gpu/drm/i915/intel_pcode.h
15
int snb_pcode_write_timeout(struct intel_uncore *uncore, u32 mbox, u32 val, int timeout_ms);
drivers/gpu/drm/i915/intel_pcode.h
16
#define snb_pcode_write(uncore, mbox, val) \
drivers/gpu/drm/i915/intel_pcode.h
17
snb_pcode_write_timeout((uncore), (mbox), (val), 1)
drivers/gpu/drm/i915/intel_pcode.h
19
int skl_pcode_request(struct intel_uncore *uncore, u32 mbox, u32 request,
drivers/gpu/drm/i915/intel_pcode.h
31
int intel_pcode_read(struct drm_device *drm, u32 mbox, u32 *val, u32 *val1);
drivers/gpu/drm/i915/intel_pcode.h
32
int intel_pcode_write_timeout(struct drm_device *drm, u32 mbox, u32 val, int timeout_ms);
drivers/gpu/drm/i915/intel_pcode.h
33
#define intel_pcode_write(drm, mbox, val) \
drivers/gpu/drm/i915/intel_pcode.h
34
intel_pcode_write_timeout((drm), (mbox), (val), 1)
drivers/gpu/drm/i915/intel_pcode.h
36
int intel_pcode_request(struct drm_device *drm, u32 mbox, u32 request,
drivers/gpu/drm/mediatek/mtk_crtc.c
289
pm_runtime_mark_last_busy(cmdq_cl->chan->mbox->dev);
drivers/gpu/drm/mediatek/mtk_crtc.c
290
pm_runtime_put_autosuspend(cmdq_cl->chan->mbox->dev);
drivers/gpu/drm/mediatek/mtk_crtc.c
611
dma_sync_single_for_device(mtk_crtc->cmdq_client.chan->mbox->dev,
drivers/gpu/drm/mediatek/mtk_crtc.c
628
if (pm_runtime_resume_and_get(mtk_crtc->cmdq_client.chan->mbox->dev) < 0)
drivers/gpu/drm/xe/xe_pcode.c
101
static int pcode_mailbox_rw(struct xe_tile *tile, u32 mbox, u32 *data0, u32 *data1,
drivers/gpu/drm/xe/xe_pcode.c
110
return __pcode_mailbox_rw(tile, mbox, data0, data1, timeout_ms, return_data, atomic);
drivers/gpu/drm/xe/xe_pcode.c
113
int xe_pcode_write_timeout(struct xe_tile *tile, u32 mbox, u32 data, int timeout)
drivers/gpu/drm/xe/xe_pcode.c
118
err = pcode_mailbox_rw(tile, mbox, &data, NULL, timeout, false, false);
drivers/gpu/drm/xe/xe_pcode.c
124
int xe_pcode_write64_timeout(struct xe_tile *tile, u32 mbox, u32 data0, u32 data1, int timeout)
drivers/gpu/drm/xe/xe_pcode.c
129
err = pcode_mailbox_rw(tile, mbox, &data0, &data1, timeout, false, false);
drivers/gpu/drm/xe/xe_pcode.c
135
int xe_pcode_read(struct xe_tile *tile, u32 mbox, u32 *val, u32 *val1)
drivers/gpu/drm/xe/xe_pcode.c
140
err = pcode_mailbox_rw(tile, mbox, val, val1, 1, true, false);
drivers/gpu/drm/xe/xe_pcode.c
146
static int pcode_try_request(struct xe_tile *tile, u32 mbox,
drivers/gpu/drm/xe/xe_pcode.c
156
*status = pcode_mailbox_rw(tile, mbox, &request, NULL, 1, true,
drivers/gpu/drm/xe/xe_pcode.c
159
*status = __pcode_mailbox_rw(tile, mbox, &request, NULL, 1, true,
drivers/gpu/drm/xe/xe_pcode.c
193
int xe_pcode_request(struct xe_tile *tile, u32 mbox, u32 request,
drivers/gpu/drm/xe/xe_pcode.c
203
ret = pcode_try_request(tile, mbox, request, reply_mask, reply, &status,
drivers/gpu/drm/xe/xe_pcode.c
221
ret = pcode_try_request(tile, mbox, request, reply_mask, reply, &status,
drivers/gpu/drm/xe/xe_pcode.c
355
int intel_pcode_read(struct drm_device *drm, u32 mbox, u32 *val, u32 *val1)
drivers/gpu/drm/xe/xe_pcode.c
360
return xe_pcode_read(tile, mbox, val, val1);
drivers/gpu/drm/xe/xe_pcode.c
363
int intel_pcode_write_timeout(struct drm_device *drm, u32 mbox, u32 val, int timeout_ms)
drivers/gpu/drm/xe/xe_pcode.c
368
return xe_pcode_write_timeout(tile, mbox, val, timeout_ms);
drivers/gpu/drm/xe/xe_pcode.c
371
int intel_pcode_request(struct drm_device *drm, u32 mbox, u32 request,
drivers/gpu/drm/xe/xe_pcode.c
377
return xe_pcode_request(tile, mbox, request, reply_mask, reply, timeout_base_ms);
drivers/gpu/drm/xe/xe_pcode.c
70
static int __pcode_mailbox_rw(struct xe_tile *tile, u32 mbox, u32 *data0, u32 *data1,
drivers/gpu/drm/xe/xe_pcode.c
85
xe_mmio_write32(mmio, PCODE_MAILBOX, PCODE_READY | mbox);
drivers/gpu/drm/xe/xe_pcode.h
20
int xe_pcode_read(struct xe_tile *tile, u32 mbox, u32 *val, u32 *val1);
drivers/gpu/drm/xe/xe_pcode.h
21
int xe_pcode_write_timeout(struct xe_tile *tile, u32 mbox, u32 val,
drivers/gpu/drm/xe/xe_pcode.h
23
int xe_pcode_write64_timeout(struct xe_tile *tile, u32 mbox, u32 data0,
drivers/gpu/drm/xe/xe_pcode.h
26
#define xe_pcode_write(tile, mbox, val) \
drivers/gpu/drm/xe/xe_pcode.h
27
xe_pcode_write_timeout(tile, mbox, val, 1)
drivers/gpu/drm/xe/xe_pcode.h
29
int xe_pcode_request(struct xe_tile *tile, u32 mbox, u32 request,
drivers/gpu/drm/xe/xe_pcode.h
38
int intel_pcode_read(struct drm_device *drm, u32 mbox, u32 *val, u32 *val1);
drivers/gpu/drm/xe/xe_pcode.h
39
int intel_pcode_write_timeout(struct drm_device *drm, u32 mbox, u32 val, int timeout_ms);
drivers/gpu/drm/xe/xe_pcode.h
40
#define intel_pcode_write(drm, mbox, val) \
drivers/gpu/drm/xe/xe_pcode.h
41
intel_pcode_write_timeout((drm), (mbox), (val), 1)
drivers/gpu/drm/xe/xe_pcode.h
42
int intel_pcode_request(struct drm_device *drm, u32 mbox, u32 request,
drivers/gpu/drm/xe/xe_vram_freq.c
36
u32 val = 0, mbox;
drivers/gpu/drm/xe/xe_vram_freq.c
39
mbox = REG_FIELD_PREP(PCODE_MB_COMMAND, PCODE_FREQUENCY_CONFIG)
drivers/gpu/drm/xe/xe_vram_freq.c
43
err = xe_pcode_read(tile, mbox, &val, NULL);
drivers/gpu/drm/xe/xe_vram_freq.c
58
u32 val = 0, mbox;
drivers/gpu/drm/xe/xe_vram_freq.c
61
mbox = REG_FIELD_PREP(PCODE_MB_COMMAND, PCODE_FREQUENCY_CONFIG)
drivers/gpu/drm/xe/xe_vram_freq.c
65
err = xe_pcode_read(tile, mbox, &val, NULL);
drivers/hwmon/xgene-hwmon.c
679
if (!ctx->mbox_chan->mbox->txdone_irq) {
drivers/i2c/busses/i2c-xgene-slimpro.c
486
if (!ctx->mbox_chan->mbox->txdone_irq) {
drivers/infiniband/hw/bng_re/bng_fw.c
483
struct bng_re_cmdq_mbox *mbox;
drivers/infiniband/hw/bng_re/bng_fw.c
488
mbox = &rcfw->cmdq.cmdq_mbox;
drivers/infiniband/hw/bng_re/bng_fw.c
490
mbox->reg.bar_id = BNG_FW_COMM_PCI_BAR_REGION;
drivers/infiniband/hw/bng_re/bng_fw.c
491
mbox->reg.len = BNG_FW_COMM_SIZE;
drivers/infiniband/hw/bng_re/bng_fw.c
492
mbox->reg.bar_base = pci_resource_start(pdev, mbox->reg.bar_id);
drivers/infiniband/hw/bng_re/bng_fw.c
493
if (!mbox->reg.bar_base) {
drivers/infiniband/hw/bng_re/bng_fw.c
496
mbox->reg.bar_id);
drivers/infiniband/hw/bng_re/bng_fw.c
500
bar_reg = mbox->reg.bar_base + BNG_FW_COMM_BASE_OFFSET;
drivers/infiniband/hw/bng_re/bng_fw.c
501
mbox->reg.len = BNG_FW_COMM_SIZE;
drivers/infiniband/hw/bng_re/bng_fw.c
502
mbox->reg.bar_reg = ioremap(bar_reg, mbox->reg.len);
drivers/infiniband/hw/bng_re/bng_fw.c
503
if (!mbox->reg.bar_reg) {
drivers/infiniband/hw/bng_re/bng_fw.c
506
mbox->reg.bar_id);
drivers/infiniband/hw/bng_re/bng_fw.c
510
mbox->prod = (void __iomem *)(mbox->reg.bar_reg +
drivers/infiniband/hw/bng_re/bng_fw.c
512
mbox->db = (void __iomem *)(mbox->reg.bar_reg + BNG_FW_COMM_TRIG_OFFSET);
drivers/infiniband/hw/bng_re/bng_fw.c
650
struct bng_re_cmdq_mbox *mbox;
drivers/infiniband/hw/bng_re/bng_fw.c
655
mbox = &cmdq->cmdq_mbox;
drivers/infiniband/hw/bng_re/bng_fw.c
667
__iowrite32_copy(mbox->reg.bar_reg, &init, sizeof(init) / 4);
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1069
struct bnxt_qplib_cmdq_mbox *mbox;
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1074
mbox = &rcfw->cmdq.cmdq_mbox;
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1076
mbox->reg.bar_id = RCFW_COMM_PCI_BAR_REGION;
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1077
mbox->reg.len = RCFW_COMM_SIZE;
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1078
mbox->reg.bar_base = pci_resource_start(pdev, mbox->reg.bar_id);
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1079
if (!mbox->reg.bar_base) {
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1082
mbox->reg.bar_id);
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1086
bar_reg = mbox->reg.bar_base + RCFW_COMM_BASE_OFFSET;
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1087
mbox->reg.len = RCFW_COMM_SIZE;
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1088
mbox->reg.bar_reg = ioremap(bar_reg, mbox->reg.len);
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1089
if (!mbox->reg.bar_reg) {
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1092
mbox->reg.bar_id);
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1096
mbox->prod = (void __iomem *)(mbox->reg.bar_reg +
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1098
mbox->db = (void __iomem *)(mbox->reg.bar_reg + RCFW_COMM_TRIG_OFFSET);
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1139
struct bnxt_qplib_cmdq_mbox *mbox;
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1144
mbox = &cmdq->cmdq_mbox;
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
1156
__iowrite32_copy(mbox->reg.bar_reg, &init, sizeof(init) / 4);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1679
struct hns_roce_cmd_mailbox *mbox;
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1682
mbox = hns_roce_alloc_cmd_mailbox(hr_dev);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1683
if (IS_ERR(mbox))
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1684
return PTR_ERR(mbox);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1686
ret = hns_roce_cmd_mbox(hr_dev, base_addr, mbox->dma, cmd, tag);
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
1687
hns_roce_free_cmd_mailbox(hr_dev, mbox);
drivers/infiniband/hw/mlx5/qpc.c
355
static int mbox_alloc(struct mbox_info *mbox, int inlen, int outlen)
drivers/infiniband/hw/mlx5/qpc.c
357
mbox->inlen = inlen;
drivers/infiniband/hw/mlx5/qpc.c
358
mbox->outlen = outlen;
drivers/infiniband/hw/mlx5/qpc.c
359
mbox->in = kzalloc(mbox->inlen, GFP_KERNEL);
drivers/infiniband/hw/mlx5/qpc.c
360
mbox->out = kzalloc(mbox->outlen, GFP_KERNEL);
drivers/infiniband/hw/mlx5/qpc.c
361
if (!mbox->in || !mbox->out) {
drivers/infiniband/hw/mlx5/qpc.c
362
kfree(mbox->in);
drivers/infiniband/hw/mlx5/qpc.c
363
kfree(mbox->out);
drivers/infiniband/hw/mlx5/qpc.c
370
static void mbox_free(struct mbox_info *mbox)
drivers/infiniband/hw/mlx5/qpc.c
372
kfree(mbox->in);
drivers/infiniband/hw/mlx5/qpc.c
373
kfree(mbox->out);
drivers/infiniband/hw/mlx5/qpc.c
405
struct mbox_info *mbox, u16 uid, u32 ece)
drivers/infiniband/hw/mlx5/qpc.c
407
mbox->out = NULL;
drivers/infiniband/hw/mlx5/qpc.c
408
mbox->in = NULL;
drivers/infiniband/hw/mlx5/qpc.c
410
#define MBOX_ALLOC(mbox, typ) \
drivers/infiniband/hw/mlx5/qpc.c
411
mbox_alloc(mbox, MLX5_ST_SZ_BYTES(typ##_in), MLX5_ST_SZ_BYTES(typ##_out))
drivers/infiniband/hw/mlx5/qpc.c
431
if (MBOX_ALLOC(mbox, qp_2rst))
drivers/infiniband/hw/mlx5/qpc.c
433
MOD_QP_IN_SET(qp_2rst, mbox->in, opcode, qpn, uid);
drivers/infiniband/hw/mlx5/qpc.c
436
if (MBOX_ALLOC(mbox, qp_2err))
drivers/infiniband/hw/mlx5/qpc.c
438
MOD_QP_IN_SET(qp_2err, mbox->in, opcode, qpn, uid);
drivers/infiniband/hw/mlx5/qpc.c
443
if (MBOX_ALLOC(mbox, rst2init_qp))
drivers/infiniband/hw/mlx5/qpc.c
445
MOD_QP_IN_SET_QPC(rst2init_qp, mbox->in, opcode, qpn,
drivers/infiniband/hw/mlx5/qpc.c
447
MLX5_SET(rst2init_qp_in, mbox->in, ece, ece);
drivers/infiniband/hw/mlx5/qpc.c
450
if (MBOX_ALLOC(mbox, init2rtr_qp))
drivers/infiniband/hw/mlx5/qpc.c
452
MOD_QP_IN_SET_QPC(init2rtr_qp, mbox->in, opcode, qpn,
drivers/infiniband/hw/mlx5/qpc.c
454
MLX5_SET(init2rtr_qp_in, mbox->in, ece, ece);
drivers/infiniband/hw/mlx5/qpc.c
457
if (MBOX_ALLOC(mbox, rtr2rts_qp))
drivers/infiniband/hw/mlx5/qpc.c
459
MOD_QP_IN_SET_QPC(rtr2rts_qp, mbox->in, opcode, qpn,
drivers/infiniband/hw/mlx5/qpc.c
461
MLX5_SET(rtr2rts_qp_in, mbox->in, ece, ece);
drivers/infiniband/hw/mlx5/qpc.c
464
if (MBOX_ALLOC(mbox, rts2rts_qp))
drivers/infiniband/hw/mlx5/qpc.c
466
MOD_QP_IN_SET_QPC(rts2rts_qp, mbox->in, opcode, qpn,
drivers/infiniband/hw/mlx5/qpc.c
468
MLX5_SET(rts2rts_qp_in, mbox->in, ece, ece);
drivers/infiniband/hw/mlx5/qpc.c
471
if (MBOX_ALLOC(mbox, sqerr2rts_qp))
drivers/infiniband/hw/mlx5/qpc.c
473
MOD_QP_IN_SET_QPC(sqerr2rts_qp, mbox->in, opcode, qpn,
drivers/infiniband/hw/mlx5/qpc.c
477
if (MBOX_ALLOC(mbox, sqd2rts_qp))
drivers/infiniband/hw/mlx5/qpc.c
479
MOD_QP_IN_SET_QPC(sqd2rts_qp, mbox->in, opcode, qpn,
drivers/infiniband/hw/mlx5/qpc.c
483
if (MBOX_ALLOC(mbox, init2init_qp))
drivers/infiniband/hw/mlx5/qpc.c
485
MOD_QP_IN_SET_QPC(init2init_qp, mbox->in, opcode, qpn,
drivers/infiniband/hw/mlx5/qpc.c
487
MLX5_SET(init2init_qp_in, mbox->in, ece, ece);
drivers/infiniband/hw/mlx5/qpc.c
498
struct mbox_info mbox;
drivers/infiniband/hw/mlx5/qpc.c
502
qpc, &mbox, qp->uid, (ece) ? *ece : 0);
drivers/infiniband/hw/mlx5/qpc.c
506
err = mlx5_cmd_exec(dev->mdev, mbox.in, mbox.inlen, mbox.out,
drivers/infiniband/hw/mlx5/qpc.c
507
mbox.outlen);
drivers/infiniband/hw/mlx5/qpc.c
510
*ece = get_ece_from_mbox(mbox.out, opcode);
drivers/infiniband/hw/mlx5/qpc.c
512
mbox_free(&mbox);
drivers/mailbox/arm_mhu.c
136
mhu->mbox.dev = dev;
drivers/mailbox/arm_mhu.c
137
mhu->mbox.chans = &mhu->chan[0];
drivers/mailbox/arm_mhu.c
138
mhu->mbox.num_chans = MHU_CHANS;
drivers/mailbox/arm_mhu.c
139
mhu->mbox.ops = &mhu_ops;
drivers/mailbox/arm_mhu.c
140
mhu->mbox.txdone_irq = false;
drivers/mailbox/arm_mhu.c
141
mhu->mbox.txdone_poll = true;
drivers/mailbox/arm_mhu.c
142
mhu->mbox.txpoll_period = 1;
drivers/mailbox/arm_mhu.c
146
err = devm_mbox_controller_register(dev, &mhu->mbox);
drivers/mailbox/arm_mhu.c
38
struct mbox_controller mbox;
drivers/mailbox/arm_mhu.c
88
dev_err(chan->mbox->dev,
drivers/mailbox/arm_mhu_db.c
112
chan = mhu_db_mbox_to_channel(mbox, pchan, doorbell);
drivers/mailbox/arm_mhu_db.c
115
dev_err(mbox->dev,
drivers/mailbox/arm_mhu_db.c
168
struct mbox_controller *mbox = &chan_info->mhu->mbox;
drivers/mailbox/arm_mhu_db.c
171
for (i = 0; i < mbox->num_chans; i++)
drivers/mailbox/arm_mhu_db.c
172
if (chan == &mbox->chans[i])
drivers/mailbox/arm_mhu_db.c
175
if (mbox->num_chans == i) {
drivers/mailbox/arm_mhu_db.c
176
dev_warn(mbox->dev, "Request to free non-existent channel\n");
drivers/mailbox/arm_mhu_db.c
182
devm_kfree(mbox->dev, chan->con_priv);
drivers/mailbox/arm_mhu_db.c
186
static struct mbox_chan *mhu_db_mbox_xlate(struct mbox_controller *mbox,
drivers/mailbox/arm_mhu_db.c
189
struct arm_mhu *mhu = dev_get_drvdata(mbox->dev);
drivers/mailbox/arm_mhu_db.c
198
dev_err(mbox->dev,
drivers/mailbox/arm_mhu_db.c
205
chan = mhu_db_mbox_to_channel(mbox, pchan, doorbell);
drivers/mailbox/arm_mhu_db.c
207
dev_err(mbox->dev, "Channel in use: pchan: %d doorbell: %d\n",
drivers/mailbox/arm_mhu_db.c
213
for (i = 0; i < mbox->num_chans; i++)
drivers/mailbox/arm_mhu_db.c
214
if (!mbox->chans[i].con_priv)
drivers/mailbox/arm_mhu_db.c
217
if (mbox->num_chans == i) {
drivers/mailbox/arm_mhu_db.c
218
dev_err(mbox->dev, "No free channels left\n");
drivers/mailbox/arm_mhu_db.c
222
chan = &mbox->chans[i];
drivers/mailbox/arm_mhu_db.c
224
chan_info = devm_kzalloc(mbox->dev, sizeof(*chan_info), GFP_KERNEL);
drivers/mailbox/arm_mhu_db.c
234
dev_dbg(mbox->dev, "mbox: created channel phys: %d doorbell: %d\n",
drivers/mailbox/arm_mhu_db.c
288
mhu->mbox.dev = dev;
drivers/mailbox/arm_mhu_db.c
289
mhu->mbox.chans = chans;
drivers/mailbox/arm_mhu_db.c
290
mhu->mbox.num_chans = max_chans;
drivers/mailbox/arm_mhu_db.c
291
mhu->mbox.txdone_irq = false;
drivers/mailbox/arm_mhu_db.c
292
mhu->mbox.txdone_poll = true;
drivers/mailbox/arm_mhu_db.c
293
mhu->mbox.txpoll_period = 1;
drivers/mailbox/arm_mhu_db.c
295
mhu->mbox.of_xlate = mhu_db_mbox_xlate;
drivers/mailbox/arm_mhu_db.c
298
mhu->mbox.ops = &mhu_db_ops;
drivers/mailbox/arm_mhu_db.c
300
err = devm_mbox_controller_register(dev, &mhu->mbox);
drivers/mailbox/arm_mhu_db.c
322
mbox_controller_unregister(&mhu->mbox);
drivers/mailbox/arm_mhu_db.c
41
struct mbox_controller mbox;
drivers/mailbox/arm_mhu_db.c
59
mhu_db_mbox_to_channel(struct mbox_controller *mbox, unsigned int pchan,
drivers/mailbox/arm_mhu_db.c
65
for (i = 0; i < mbox->num_chans; i++) {
drivers/mailbox/arm_mhu_db.c
66
chan_info = mbox->chans[i].con_priv;
drivers/mailbox/arm_mhu_db.c
69
return &mbox->chans[i];
drivers/mailbox/arm_mhu_db.c
99
struct mbox_controller *mbox = &mhu->mbox;
drivers/mailbox/arm_mhuv2.c
1007
mhu->mbox.txdone_irq = false;
drivers/mailbox/arm_mhuv2.c
1008
mhu->mbox.txdone_poll = true;
drivers/mailbox/arm_mhuv2.c
1009
mhu->mbox.txpoll_period = 1;
drivers/mailbox/arm_mhuv2.c
1023
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv2.c
1027
mhu->mbox.ops = &mhuv2_receiver_ops;
drivers/mailbox/arm_mhuv2.c
1073
mhu->mbox.dev = dev;
drivers/mailbox/arm_mhuv2.c
1074
mhu->mbox.of_xlate = mhuv2_mbox_of_xlate;
drivers/mailbox/arm_mhuv2.c
1095
ret = devm_mbox_controller_register(dev, &mhu->mbox);
drivers/mailbox/arm_mhuv2.c
175
struct mbox_controller mbox;
drivers/mailbox/arm_mhuv2.c
190
#define mhu_from_mbox(_mbox) container_of(_mbox, struct mhuv2, mbox)
drivers/mailbox/arm_mhuv2.c
456
dev_err(mhu->mbox.dev, "Data aligned at first window can't be zero to guarantee interrupt generation at receiver");
drivers/mailbox/arm_mhuv2.c
502
struct mbox_chan *chans = mhu->mbox.chans;
drivers/mailbox/arm_mhuv2.c
541
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv2.c
647
struct mbox_chan *chans = mhu->mbox.chans;
drivers/mailbox/arm_mhuv2.c
652
while (i < mhu->mbox.num_chans) {
drivers/mailbox/arm_mhuv2.c
680
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv2.c
713
struct mhuv2 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv2.c
721
struct mhuv2 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv2.c
732
struct mhuv2 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv2.c
742
struct mhuv2 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv2.c
758
struct mhuv2 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv2.c
766
struct mhuv2 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv2.c
774
dev_err(chan->mbox->dev,
drivers/mailbox/arm_mhuv2.c
781
dev_err(chan->mbox->dev, "Trying to Tx poll on a receiver MHU frame\n");
drivers/mailbox/arm_mhuv2.c
792
static struct mbox_chan *mhuv2_mbox_of_xlate(struct mbox_controller *mbox,
drivers/mailbox/arm_mhuv2.c
795
struct mhuv2 *mhu = mhu_from_mbox(mbox);
drivers/mailbox/arm_mhuv2.c
796
struct mbox_chan *chans = mbox->chans;
drivers/mailbox/arm_mhuv2.c
831
dev_err(mbox->dev, "Couldn't xlate to a valid channel (%d: %d)\n",
drivers/mailbox/arm_mhuv2.c
838
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv2.c
868
mhu->mbox.num_chans = channels;
drivers/mailbox/arm_mhuv2.c
874
struct mbox_controller *mbox = &mhu->mbox;
drivers/mailbox/arm_mhuv2.c
876
struct device *dev = mbox->dev;
drivers/mailbox/arm_mhuv2.c
880
chans = devm_kcalloc(dev, mbox->num_chans, sizeof(*chans), GFP_KERNEL);
drivers/mailbox/arm_mhuv2.c
884
mbox->chans = chans;
drivers/mailbox/arm_mhuv2.c
926
BUG_ON(chans - mbox->chans != mbox->num_chans);
drivers/mailbox/arm_mhuv2.c
933
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv2.c
969
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv2.c
973
mhu->mbox.ops = &mhuv2_sender_ops;
drivers/mailbox/arm_mhuv2.c
993
mhu->mbox.txdone_irq = true;
drivers/mailbox/arm_mhuv2.c
994
mhu->mbox.txdone_poll = false;
drivers/mailbox/arm_mhuv3.c
1001
mhu->mbox.txdone_irq = false;
drivers/mailbox/arm_mhuv3.c
1002
mhu->mbox.txdone_poll = true;
drivers/mailbox/arm_mhuv3.c
1003
mhu->mbox.txpoll_period = 1;
drivers/mailbox/arm_mhuv3.c
1010
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv3.c
1013
mhu->mbox.ops = &mhuv3_receiver_ops;
drivers/mailbox/arm_mhuv3.c
1036
dev_dbg(mhu->mbox.dev, "Initializing %s block.\n",
drivers/mailbox/arm_mhuv3.c
1064
mhu->mbox.dev = dev;
drivers/mailbox/arm_mhuv3.c
1073
mhu->mbox.of_xlate = mhuv3_mbox_of_xlate;
drivers/mailbox/arm_mhuv3.c
1078
ret = devm_mbox_controller_register(dev, &mhu->mbox);
drivers/mailbox/arm_mhuv3.c
361
struct mbox_controller mbox;
drivers/mailbox/arm_mhuv3.c
364
#define mhu_from_mbox(_mbox) container_of(_mbox, struct mhuv3, mbox)
drivers/mailbox/arm_mhuv3.c
475
struct mhuv3 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv3.c
483
struct mhuv3 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv3.c
494
struct mhuv3 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv3.c
505
struct mhuv3 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv3.c
521
struct mhuv3 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv3.c
529
struct mhuv3 *mhu = mhu_from_mbox(chan->mbox);
drivers/mailbox/arm_mhuv3.c
536
dev_err(chan->mbox->dev,
drivers/mailbox/arm_mhuv3.c
543
dev_err(chan->mbox->dev, "Trying to Tx poll on a MBX MHUv3 frame\n");
drivers/mailbox/arm_mhuv3.c
559
struct mbox_controller *mbox = &mhu->mbox;
drivers/mailbox/arm_mhuv3.c
560
struct mbox_chan *chans = mbox->chans;
drivers/mailbox/arm_mhuv3.c
563
dev_err(mbox->dev, "Couldn't xlate to a valid channel (%d: %d)\n",
drivers/mailbox/arm_mhuv3.c
598
struct mbox_controller *mbox = &mhu->mbox;
drivers/mailbox/arm_mhuv3.c
602
chans = mbox->chans + mbox->num_chans;
drivers/mailbox/arm_mhuv3.c
603
e->base_ch_idx = mbox->num_chans;
drivers/mailbox/arm_mhuv3.c
609
priv = devm_kmalloc(mbox->dev, sizeof(*priv), GFP_KERNEL);
drivers/mailbox/arm_mhuv3.c
617
mbox->num_chans++;
drivers/mailbox/arm_mhuv3.c
630
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv3.c
676
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv3.c
700
return &mhu->mbox.chans[channel * MHUV3_FLAG_BITS + db];
drivers/mailbox/arm_mhuv3.c
708
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv3.c
740
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv3.c
753
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv3.c
772
struct mbox_controller *mbox = &mhu->mbox;
drivers/mailbox/arm_mhuv3.c
775
mbox->chans = devm_kcalloc(dev, mhu->num_chans,
drivers/mailbox/arm_mhuv3.c
776
sizeof(*mbox->chans), GFP_KERNEL);
drivers/mailbox/arm_mhuv3.c
777
if (!mbox->chans)
drivers/mailbox/arm_mhuv3.c
788
static struct mbox_chan *mhuv3_mbox_of_xlate(struct mbox_controller *mbox,
drivers/mailbox/arm_mhuv3.c
791
struct mhuv3 *mhu = mhu_from_mbox(mbox);
drivers/mailbox/arm_mhuv3.c
816
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv3.c
882
dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv3.c
920
dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv3.c
974
struct device *dev = mhu->mbox.dev;
drivers/mailbox/arm_mhuv3.c
976
mhu->mbox.ops = &mhuv3_sender_ops;
drivers/mailbox/arm_mhuv3.c
988
mhu->mbox.txdone_irq = true;
drivers/mailbox/arm_mhuv3.c
989
mhu->mbox.txdone_poll = false;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
105
struct a37xx_mbox *mbox = chan->con_priv;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
109
ret = devm_request_irq(mbox->dev, mbox->irq, a37xx_mbox_irq_handler, 0,
drivers/mailbox/armada-37xx-rwtm-mailbox.c
112
dev_err(mbox->dev, "Cannot request irq\n");
drivers/mailbox/armada-37xx-rwtm-mailbox.c
117
reg = readl(mbox->base + RWTM_HOST_INT_MASK);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
119
writel(reg, mbox->base + RWTM_HOST_INT_MASK);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
127
struct a37xx_mbox *mbox = chan->con_priv;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
130
reg = readl(mbox->base + RWTM_HOST_INT_MASK);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
132
writel(reg, mbox->base + RWTM_HOST_INT_MASK);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
134
devm_free_irq(mbox->dev, mbox->irq, chan);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
145
struct a37xx_mbox *mbox;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
149
mbox = devm_kzalloc(&pdev->dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
150
if (!mbox)
drivers/mailbox/armada-37xx-rwtm-mailbox.c
158
mbox->base = devm_platform_ioremap_resource(pdev, 0);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
159
if (IS_ERR(mbox->base))
drivers/mailbox/armada-37xx-rwtm-mailbox.c
160
return PTR_ERR(mbox->base);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
162
mbox->irq = platform_get_irq(pdev, 0);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
163
if (mbox->irq < 0)
drivers/mailbox/armada-37xx-rwtm-mailbox.c
164
return mbox->irq;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
166
mbox->dev = &pdev->dev;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
169
chans[0].con_priv = mbox;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
170
mbox->controller.dev = mbox->dev;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
171
mbox->controller.num_chans = 1;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
172
mbox->controller.chans = chans;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
173
mbox->controller.ops = &a37xx_mbox_ops;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
174
mbox->controller.txdone_irq = true;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
176
ret = devm_mbox_controller_register(mbox->dev, &mbox->controller);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
182
platform_set_drvdata(pdev, mbox);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
45
struct a37xx_mbox *mbox = chan->con_priv;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
49
rx_msg.retval = readl(mbox->base + RWTM_MBOX_RETURN_STATUS);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
51
rx_msg.status[i] = readl(mbox->base + RWTM_MBOX_STATUS(i));
drivers/mailbox/armada-37xx-rwtm-mailbox.c
59
struct a37xx_mbox *mbox = chan->con_priv;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
62
reg = readl(mbox->base + RWTM_HOST_INT_RESET);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
68
dev_err(mbox->dev, "Secure processor command queue full\n");
drivers/mailbox/armada-37xx-rwtm-mailbox.c
70
writel(reg, mbox->base + RWTM_HOST_INT_RESET);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
79
struct a37xx_mbox *mbox = chan->con_priv;
drivers/mailbox/armada-37xx-rwtm-mailbox.c
87
reg = readl(mbox->base + RWTM_MBOX_FIFO_STATUS);
drivers/mailbox/armada-37xx-rwtm-mailbox.c
89
dev_warn(mbox->dev, "Secure processor not ready\n");
drivers/mailbox/armada-37xx-rwtm-mailbox.c
92
dev_err(mbox->dev, "Secure processor command queue full\n");
drivers/mailbox/armada-37xx-rwtm-mailbox.c
97
writel(msg->args[i], mbox->base + RWTM_MBOX_PARAM(i));
drivers/mailbox/armada-37xx-rwtm-mailbox.c
98
writel(msg->command, mbox->base + RWTM_MBOX_COMMAND);
drivers/mailbox/ast2700-mailbox.c
108
dev_dbg(mb->mbox.dev, "%s: Ch-%d sent\n", __func__, idx);
drivers/mailbox/ast2700-mailbox.c
115
struct ast2700_mbox *mb = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/ast2700-mailbox.c
129
struct ast2700_mbox *mb = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/ast2700-mailbox.c
141
struct ast2700_mbox *mb = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/ast2700-mailbox.c
170
mb->mbox.chans = devm_kcalloc(&pdev->dev, dev_data->num_chans,
drivers/mailbox/ast2700-mailbox.c
171
sizeof(*mb->mbox.chans), GFP_KERNEL);
drivers/mailbox/ast2700-mailbox.c
172
if (!mb->mbox.chans)
drivers/mailbox/ast2700-mailbox.c
177
mb->mbox.chans[i].con_priv = devm_kcalloc(dev, dev_data->msg_size,
drivers/mailbox/ast2700-mailbox.c
179
if (!mb->mbox.chans[i].con_priv)
drivers/mailbox/ast2700-mailbox.c
194
mb->mbox.dev = dev;
drivers/mailbox/ast2700-mailbox.c
195
mb->mbox.num_chans = dev_data->num_chans;
drivers/mailbox/ast2700-mailbox.c
196
mb->mbox.ops = &ast2700_mbox_chan_ops;
drivers/mailbox/ast2700-mailbox.c
197
mb->mbox.txdone_irq = false;
drivers/mailbox/ast2700-mailbox.c
198
mb->mbox.txdone_poll = true;
drivers/mailbox/ast2700-mailbox.c
199
mb->mbox.txpoll_period = 5;
drivers/mailbox/ast2700-mailbox.c
210
return devm_mbox_controller_register(dev, &mb->mbox);
drivers/mailbox/ast2700-mailbox.c
30
struct mbox_controller mbox;
drivers/mailbox/ast2700-mailbox.c
39
return chan - chan->mbox->chans;
drivers/mailbox/ast2700-mailbox.c
63
for (n = 0; n < mb->mbox.num_chans; ++n) {
drivers/mailbox/ast2700-mailbox.c
64
struct mbox_chan *chan = &mb->mbox.chans[n];
drivers/mailbox/ast2700-mailbox.c
86
struct ast2700_mbox *mb = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/ast2700-mailbox.c
94
dev_warn(mb->mbox.dev, "%s: Ch-%d not enabled yet\n", __func__, idx);
drivers/mailbox/ast2700-mailbox.c
99
dev_warn(mb->mbox.dev, "%s: Ch-%d last data has not finished\n", __func__, idx);
drivers/mailbox/bcm-flexrm-mailbox.c
1000
ret = flexrm_dma_map(ring->mbox->dev, msg);
drivers/mailbox/bcm-flexrm-mailbox.c
1063
flexrm_dma_unmap(ring->mbox->dev, msg);
drivers/mailbox/bcm-flexrm-mailbox.c
1080
struct mbox_chan *chan = &ring->mbox->controller.chans[ring->num];
drivers/mailbox/bcm-flexrm-mailbox.c
1113
dev_warn(ring->mbox->dev,
drivers/mailbox/bcm-flexrm-mailbox.c
1124
dev_warn(ring->mbox->dev,
drivers/mailbox/bcm-flexrm-mailbox.c
1137
flexrm_dma_unmap(ring->mbox->dev, msg);
drivers/mailbox/bcm-flexrm-mailbox.c
1155
struct flexrm_mbox *mbox = dev_get_drvdata(file->private);
drivers/mailbox/bcm-flexrm-mailbox.c
1158
flexrm_write_config_in_seqfile(mbox, file);
drivers/mailbox/bcm-flexrm-mailbox.c
1165
struct flexrm_mbox *mbox = dev_get_drvdata(file->private);
drivers/mailbox/bcm-flexrm-mailbox.c
1168
flexrm_write_stats_in_seqfile(mbox, file);
drivers/mailbox/bcm-flexrm-mailbox.c
1223
ring->bd_base = dma_pool_alloc(ring->mbox->bd_pool,
drivers/mailbox/bcm-flexrm-mailbox.c
1226
dev_err(ring->mbox->dev,
drivers/mailbox/bcm-flexrm-mailbox.c
1248
ring->cmpl_base = dma_pool_zalloc(ring->mbox->cmpl_pool,
drivers/mailbox/bcm-flexrm-mailbox.c
1251
dev_err(ring->mbox->dev,
drivers/mailbox/bcm-flexrm-mailbox.c
1260
dev_err(ring->mbox->dev,
drivers/mailbox/bcm-flexrm-mailbox.c
1266
IRQF_ONESHOT, dev_name(ring->mbox->dev), ring);
drivers/mailbox/bcm-flexrm-mailbox.c
1268
dev_err(ring->mbox->dev,
drivers/mailbox/bcm-flexrm-mailbox.c
1276
val = ring->mbox->num_rings;
drivers/mailbox/bcm-flexrm-mailbox.c
1282
dev_err(ring->mbox->dev,
drivers/mailbox/bcm-flexrm-mailbox.c
1337
dma_pool_free(ring->mbox->cmpl_pool,
drivers/mailbox/bcm-flexrm-mailbox.c
1341
dma_pool_free(ring->mbox->bd_pool,
drivers/mailbox/bcm-flexrm-mailbox.c
1369
dev_err(ring->mbox->dev,
drivers/mailbox/bcm-flexrm-mailbox.c
1382
dev_err(ring->mbox->dev,
drivers/mailbox/bcm-flexrm-mailbox.c
1395
flexrm_dma_unmap(ring->mbox->dev, msg);
drivers/mailbox/bcm-flexrm-mailbox.c
1414
dma_pool_free(ring->mbox->cmpl_pool,
drivers/mailbox/bcm-flexrm-mailbox.c
1421
dma_pool_free(ring->mbox->bd_pool,
drivers/mailbox/bcm-flexrm-mailbox.c
1465
struct flexrm_mbox *mbox = dev_get_drvdata(dev);
drivers/mailbox/bcm-flexrm-mailbox.c
1466
struct flexrm_ring *ring = &mbox->rings[desc->msi_index];
drivers/mailbox/bcm-flexrm-mailbox.c
1481
struct flexrm_mbox *mbox;
drivers/mailbox/bcm-flexrm-mailbox.c
1485
mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/bcm-flexrm-mailbox.c
1486
if (!mbox) {
drivers/mailbox/bcm-flexrm-mailbox.c
1490
mbox->dev = dev;
drivers/mailbox/bcm-flexrm-mailbox.c
1491
platform_set_drvdata(pdev, mbox);
drivers/mailbox/bcm-flexrm-mailbox.c
1494
mbox->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &iomem);
drivers/mailbox/bcm-flexrm-mailbox.c
1498
} else if (IS_ERR(mbox->regs)) {
drivers/mailbox/bcm-flexrm-mailbox.c
1499
ret = PTR_ERR(mbox->regs);
drivers/mailbox/bcm-flexrm-mailbox.c
1502
regs_end = mbox->regs + resource_size(iomem);
drivers/mailbox/bcm-flexrm-mailbox.c
1505
mbox->num_rings = 0;
drivers/mailbox/bcm-flexrm-mailbox.c
1506
for (regs = mbox->regs; regs < regs_end; regs += RING_REGS_SIZE) {
drivers/mailbox/bcm-flexrm-mailbox.c
1508
mbox->num_rings++;
drivers/mailbox/bcm-flexrm-mailbox.c
1510
if (!mbox->num_rings) {
drivers/mailbox/bcm-flexrm-mailbox.c
1516
ring = devm_kcalloc(dev, mbox->num_rings, sizeof(*ring), GFP_KERNEL);
drivers/mailbox/bcm-flexrm-mailbox.c
1521
mbox->rings = ring;
drivers/mailbox/bcm-flexrm-mailbox.c
1524
regs = mbox->regs;
drivers/mailbox/bcm-flexrm-mailbox.c
1525
for (index = 0; index < mbox->num_rings; index++) {
drivers/mailbox/bcm-flexrm-mailbox.c
1526
ring = &mbox->rings[index];
drivers/mailbox/bcm-flexrm-mailbox.c
1528
ring->mbox = mbox;
drivers/mailbox/bcm-flexrm-mailbox.c
1563
mbox->bd_pool = dma_pool_create("bd", dev, RING_BD_SIZE,
drivers/mailbox/bcm-flexrm-mailbox.c
1565
if (!mbox->bd_pool) {
drivers/mailbox/bcm-flexrm-mailbox.c
1571
mbox->cmpl_pool = dma_pool_create("cmpl", dev, RING_CMPL_SIZE,
drivers/mailbox/bcm-flexrm-mailbox.c
1573
if (!mbox->cmpl_pool) {
drivers/mailbox/bcm-flexrm-mailbox.c
1579
ret = platform_device_msi_init_and_alloc_irqs(dev, mbox->num_rings,
drivers/mailbox/bcm-flexrm-mailbox.c
1585
for (index = 0; index < mbox->num_rings; index++)
drivers/mailbox/bcm-flexrm-mailbox.c
1586
mbox->rings[index].irq = msi_get_virq(dev, index);
drivers/mailbox/bcm-flexrm-mailbox.c
1593
mbox->root = debugfs_create_dir(dev_name(mbox->dev), NULL);
drivers/mailbox/bcm-flexrm-mailbox.c
1596
debugfs_create_devm_seqfile(mbox->dev, "config", mbox->root,
drivers/mailbox/bcm-flexrm-mailbox.c
1600
debugfs_create_devm_seqfile(mbox->dev, "stats", mbox->root,
drivers/mailbox/bcm-flexrm-mailbox.c
1606
mbox->controller.txdone_irq = false;
drivers/mailbox/bcm-flexrm-mailbox.c
1607
mbox->controller.txdone_poll = false;
drivers/mailbox/bcm-flexrm-mailbox.c
1608
mbox->controller.ops = &flexrm_mbox_chan_ops;
drivers/mailbox/bcm-flexrm-mailbox.c
1609
mbox->controller.dev = dev;
drivers/mailbox/bcm-flexrm-mailbox.c
1610
mbox->controller.num_chans = mbox->num_rings;
drivers/mailbox/bcm-flexrm-mailbox.c
1611
mbox->controller.of_xlate = flexrm_mbox_of_xlate;
drivers/mailbox/bcm-flexrm-mailbox.c
1612
mbox->controller.chans = devm_kcalloc(dev, mbox->num_rings,
drivers/mailbox/bcm-flexrm-mailbox.c
1613
sizeof(*mbox->controller.chans), GFP_KERNEL);
drivers/mailbox/bcm-flexrm-mailbox.c
1614
if (!mbox->controller.chans) {
drivers/mailbox/bcm-flexrm-mailbox.c
1618
for (index = 0; index < mbox->num_rings; index++)
drivers/mailbox/bcm-flexrm-mailbox.c
1619
mbox->controller.chans[index].con_priv = &mbox->rings[index];
drivers/mailbox/bcm-flexrm-mailbox.c
1622
ret = devm_mbox_controller_register(dev, &mbox->controller);
drivers/mailbox/bcm-flexrm-mailbox.c
1627
mbox->controller.num_chans);
drivers/mailbox/bcm-flexrm-mailbox.c
1632
debugfs_remove_recursive(mbox->root);
drivers/mailbox/bcm-flexrm-mailbox.c
1635
dma_pool_destroy(mbox->cmpl_pool);
drivers/mailbox/bcm-flexrm-mailbox.c
1637
dma_pool_destroy(mbox->bd_pool);
drivers/mailbox/bcm-flexrm-mailbox.c
1645
struct flexrm_mbox *mbox = platform_get_drvdata(pdev);
drivers/mailbox/bcm-flexrm-mailbox.c
1647
debugfs_remove_recursive(mbox->root);
drivers/mailbox/bcm-flexrm-mailbox.c
1651
dma_pool_destroy(mbox->cmpl_pool);
drivers/mailbox/bcm-flexrm-mailbox.c
1652
dma_pool_destroy(mbox->bd_pool);
drivers/mailbox/bcm-flexrm-mailbox.c
258
struct flexrm_mbox *mbox;
drivers/mailbox/bcm-flexrm-mailbox.c
918
static void flexrm_write_config_in_seqfile(struct flexrm_mbox *mbox,
drivers/mailbox/bcm-flexrm-mailbox.c
929
for (i = 0; i < mbox->num_rings; i++) {
drivers/mailbox/bcm-flexrm-mailbox.c
930
ring = &mbox->rings[i];
drivers/mailbox/bcm-flexrm-mailbox.c
946
static void flexrm_write_stats_in_seqfile(struct flexrm_mbox *mbox,
drivers/mailbox/bcm-flexrm-mailbox.c
957
for (i = 0; i < mbox->num_rings; i++) {
drivers/mailbox/bcm-flexrm-mailbox.c
958
ring = &mbox->rings[i];
drivers/mailbox/bcm2835-mailbox.c
104
struct bcm2835_mbox *mbox = bcm2835_link_mbox(link);
drivers/mailbox/bcm2835-mailbox.c
106
writel(0, mbox->regs + MAIL0_CNF);
drivers/mailbox/bcm2835-mailbox.c
111
struct bcm2835_mbox *mbox = bcm2835_link_mbox(link);
drivers/mailbox/bcm2835-mailbox.c
114
spin_lock(&mbox->lock);
drivers/mailbox/bcm2835-mailbox.c
115
ret = !(readl(mbox->regs + MAIL1_STA) & ARM_MS_FULL);
drivers/mailbox/bcm2835-mailbox.c
116
spin_unlock(&mbox->lock);
drivers/mailbox/bcm2835-mailbox.c
127
static struct mbox_chan *bcm2835_mbox_index_xlate(struct mbox_controller *mbox,
drivers/mailbox/bcm2835-mailbox.c
133
return &mbox->chans[0];
drivers/mailbox/bcm2835-mailbox.c
140
struct bcm2835_mbox *mbox;
drivers/mailbox/bcm2835-mailbox.c
142
mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/bcm2835-mailbox.c
143
if (mbox == NULL)
drivers/mailbox/bcm2835-mailbox.c
145
spin_lock_init(&mbox->lock);
drivers/mailbox/bcm2835-mailbox.c
149
mbox);
drivers/mailbox/bcm2835-mailbox.c
156
mbox->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/mailbox/bcm2835-mailbox.c
157
if (IS_ERR(mbox->regs)) {
drivers/mailbox/bcm2835-mailbox.c
158
ret = PTR_ERR(mbox->regs);
drivers/mailbox/bcm2835-mailbox.c
162
mbox->controller.txdone_poll = true;
drivers/mailbox/bcm2835-mailbox.c
163
mbox->controller.txpoll_period = 5;
drivers/mailbox/bcm2835-mailbox.c
164
mbox->controller.ops = &bcm2835_mbox_chan_ops;
drivers/mailbox/bcm2835-mailbox.c
165
mbox->controller.of_xlate = &bcm2835_mbox_index_xlate;
drivers/mailbox/bcm2835-mailbox.c
166
mbox->controller.dev = dev;
drivers/mailbox/bcm2835-mailbox.c
167
mbox->controller.num_chans = 1;
drivers/mailbox/bcm2835-mailbox.c
168
mbox->controller.chans = devm_kzalloc(dev,
drivers/mailbox/bcm2835-mailbox.c
169
sizeof(*mbox->controller.chans), GFP_KERNEL);
drivers/mailbox/bcm2835-mailbox.c
170
if (!mbox->controller.chans)
drivers/mailbox/bcm2835-mailbox.c
173
ret = devm_mbox_controller_register(dev, &mbox->controller);
drivers/mailbox/bcm2835-mailbox.c
177
platform_set_drvdata(pdev, mbox);
drivers/mailbox/bcm2835-mailbox.c
63
return container_of(link->mbox, struct bcm2835_mbox, controller);
drivers/mailbox/bcm2835-mailbox.c
68
struct bcm2835_mbox *mbox = dev_id;
drivers/mailbox/bcm2835-mailbox.c
69
struct device *dev = mbox->controller.dev;
drivers/mailbox/bcm2835-mailbox.c
70
struct mbox_chan *link = &mbox->controller.chans[0];
drivers/mailbox/bcm2835-mailbox.c
72
while (!(readl(mbox->regs + MAIL0_STA) & ARM_MS_EMPTY)) {
drivers/mailbox/bcm2835-mailbox.c
73
u32 msg = readl(mbox->regs + MAIL0_RD);
drivers/mailbox/bcm2835-mailbox.c
82
struct bcm2835_mbox *mbox = bcm2835_link_mbox(link);
drivers/mailbox/bcm2835-mailbox.c
85
spin_lock(&mbox->lock);
drivers/mailbox/bcm2835-mailbox.c
86
writel(msg, mbox->regs + MAIL1_WRT);
drivers/mailbox/bcm2835-mailbox.c
87
dev_dbg(mbox->controller.dev, "Request 0x%08X\n", msg);
drivers/mailbox/bcm2835-mailbox.c
88
spin_unlock(&mbox->lock);
drivers/mailbox/bcm2835-mailbox.c
94
struct bcm2835_mbox *mbox = bcm2835_link_mbox(link);
drivers/mailbox/bcm2835-mailbox.c
97
writel(ARM_MC_IHAVEDATAIRQEN, mbox->regs + MAIL0_CNF);
drivers/mailbox/bcm74110-mailbox.c
115
static void bcm74110_##name##_writel(struct bcm74110_mbox *mbox,\
drivers/mailbox/bcm74110-mailbox.c
118
writel_relaxed(val, mbox->base + offset_base + off); \
drivers/mailbox/bcm74110-mailbox.c
120
BCM74110_OFFSET_IO_WRITEL_MACRO(tx, BCM_MBOX_BASE(mbox->tx_chan));
drivers/mailbox/bcm74110-mailbox.c
121
BCM74110_OFFSET_IO_WRITEL_MACRO(irq, BCM_MBOX_IRQ_BASE(mbox->rx_chan));
drivers/mailbox/bcm74110-mailbox.c
124
static u32 bcm74110_##name##_readl(struct bcm74110_mbox *mbox, \
drivers/mailbox/bcm74110-mailbox.c
127
return readl_relaxed(mbox->base + offset_base + off); \
drivers/mailbox/bcm74110-mailbox.c
129
BCM74110_OFFSET_IO_READL_MACRO(tx, BCM_MBOX_BASE(mbox->tx_chan));
drivers/mailbox/bcm74110-mailbox.c
130
BCM74110_OFFSET_IO_READL_MACRO(rx, BCM_MBOX_BASE(mbox->rx_chan));
drivers/mailbox/bcm74110-mailbox.c
131
BCM74110_OFFSET_IO_READL_MACRO(irq, BCM_MBOX_IRQ_BASE(mbox->rx_chan));
drivers/mailbox/bcm74110-mailbox.c
139
static void bcm74110_rx_push_init_msg(struct bcm74110_mbox *mbox, u32 val)
drivers/mailbox/bcm74110-mailbox.c
150
spin_lock(&mbox->rx_svc_list_lock);
drivers/mailbox/bcm74110-mailbox.c
151
list_add_tail(&msg->list_entry, &mbox->rx_svc_init_list);
drivers/mailbox/bcm74110-mailbox.c
152
spin_unlock(&mbox->rx_svc_list_lock);
drivers/mailbox/bcm74110-mailbox.c
155
static void bcm74110_rx_process_msg(struct bcm74110_mbox *mbox)
drivers/mailbox/bcm74110-mailbox.c
157
struct device *dev = &mbox->pdev->dev;
drivers/mailbox/bcm74110-mailbox.c
164
msg = bcm74110_rx_readl(mbox, BCM_MBOX_RDATA);
drivers/mailbox/bcm74110-mailbox.c
165
status = bcm74110_rx_readl(mbox, BCM_MBOX_STATUS0);
drivers/mailbox/bcm74110-mailbox.c
175
bcm74110_rx_push_init_msg(mbox, msg);
drivers/mailbox/bcm74110-mailbox.c
180
chan = &mbox->controller.chans[type];
drivers/mailbox/bcm74110-mailbox.c
195
struct bcm74110_mbox *mbox = data;
drivers/mailbox/bcm74110-mailbox.c
198
status = bcm74110_irq_readl(mbox, BCM_MBOX_IRQ_STATUS);
drivers/mailbox/bcm74110-mailbox.c
200
bcm74110_irq_writel(mbox, 0xffffffff, BCM_MBOX_IRQ_CLEAR);
drivers/mailbox/bcm74110-mailbox.c
203
bcm74110_rx_process_msg(mbox);
drivers/mailbox/bcm74110-mailbox.c
205
dev_warn(&mbox->pdev->dev, "Spurious interrupt\n");
drivers/mailbox/bcm74110-mailbox.c
210
static void bcm74110_mbox_mask_and_clear(struct bcm74110_mbox *mbox)
drivers/mailbox/bcm74110-mailbox.c
212
bcm74110_irq_writel(mbox, 0xffffffff, BCM_MBOX_IRQ_MASK_SET);
drivers/mailbox/bcm74110-mailbox.c
213
bcm74110_irq_writel(mbox, 0xffffffff, BCM_MBOX_IRQ_CLEAR);
drivers/mailbox/bcm74110-mailbox.c
216
static int bcm74110_rx_pop_init_msg(struct bcm74110_mbox *mbox, u32 func_type,
drivers/mailbox/bcm74110-mailbox.c
223
spin_lock_irqsave(&mbox->rx_svc_list_lock, flags);
drivers/mailbox/bcm74110-mailbox.c
224
list_for_each_entry_safe(msg, msg_tmp, &mbox->rx_svc_init_list,
drivers/mailbox/bcm74110-mailbox.c
232
spin_unlock_irqrestore(&mbox->rx_svc_list_lock, flags);
drivers/mailbox/bcm74110-mailbox.c
243
static void bcm74110_rx_flush_msg(struct bcm74110_mbox *mbox)
drivers/mailbox/bcm74110-mailbox.c
249
spin_lock_irqsave(&mbox->rx_svc_list_lock, flags);
drivers/mailbox/bcm74110-mailbox.c
250
list_splice_init(&mbox->rx_svc_init_list, &list_temp);
drivers/mailbox/bcm74110-mailbox.c
251
spin_unlock_irqrestore(&mbox->rx_svc_list_lock, flags);
drivers/mailbox/bcm74110-mailbox.c
260
static int bcm74110_rx_pop_init_msg_block(struct bcm74110_mbox *mbox, u32 func_type,
drivers/mailbox/bcm74110-mailbox.c
266
ret = bcm74110_rx_pop_init_msg(mbox, func_type, val);
drivers/mailbox/bcm74110-mailbox.c
276
dev_warn(&mbox->pdev->dev, "Timeout waiting for service init response\n");
drivers/mailbox/bcm74110-mailbox.c
295
static int bcm74110_mbox_tx_msg(struct bcm74110_mbox *mbox, u32 msg)
drivers/mailbox/bcm74110-mailbox.c
300
val = bcm74110_tx_readl(mbox, BCM_MBOX_STATUS0);
drivers/mailbox/bcm74110-mailbox.c
302
dev_err(&mbox->pdev->dev, "Mailbox full\n");
drivers/mailbox/bcm74110-mailbox.c
306
dev_dbg(&mbox->pdev->dev, "tx: [{req=%lu|rply=%lu|srv=%lu|fn=%lu|length=%lu|slot=%lu]\n",
drivers/mailbox/bcm74110-mailbox.c
311
bcm74110_tx_writel(mbox, msg, BCM_MBOX_WDATA);
drivers/mailbox/bcm74110-mailbox.c
317
static int bcm74110_mbox_link_training(struct bcm74110_mbox *mbox)
drivers/mailbox/bcm74110-mailbox.c
326
dev_warn(&mbox->pdev->dev,
drivers/mailbox/bcm74110-mailbox.c
344
bcm74110_mbox_tx_msg(mbox, msg);
drivers/mailbox/bcm74110-mailbox.c
352
ret = bcm74110_rx_pop_init_msg_block(mbox,
drivers/mailbox/bcm74110-mailbox.c
381
static int bcm74110_mbox_tx_msg_and_wait_ack(struct bcm74110_mbox *mbox, u32 msg)
drivers/mailbox/bcm74110-mailbox.c
386
ret = bcm74110_mbox_tx_msg(mbox, msg);
drivers/mailbox/bcm74110-mailbox.c
390
ret = bcm74110_rx_pop_init_msg_block(mbox, BCM_MSG_GET_FIELD(msg, FUNC),
drivers/mailbox/bcm74110-mailbox.c
405
dev_err(&mbox->pdev->dev, "Found ack, but ack is invalid\n");
drivers/mailbox/bcm74110-mailbox.c
415
static int bcm74110_mbox_shmem_init(struct bcm74110_mbox *mbox)
drivers/mailbox/bcm74110-mailbox.c
423
ret = bcm74110_mbox_tx_msg_and_wait_ack(mbox, msg);
drivers/mailbox/bcm74110-mailbox.c
431
ret = bcm74110_mbox_tx_msg_and_wait_ack(mbox, msg);
drivers/mailbox/bcm74110-mailbox.c
439
ret = bcm74110_mbox_tx_msg_and_wait_ack(mbox, msg);
drivers/mailbox/bcm74110-mailbox.c
446
static int bcm74110_mbox_init(struct bcm74110_mbox *mbox)
drivers/mailbox/bcm74110-mailbox.c
451
bcm74110_tx_writel(mbox, 0x0, BCM_MBOX_CTRL);
drivers/mailbox/bcm74110-mailbox.c
454
bcm74110_tx_writel(mbox, BCM_MBOX_CTRL_EN | BCM_MBOX_CTRL_CLR,
drivers/mailbox/bcm74110-mailbox.c
458
bcm74110_irq_writel(mbox, BCM_MBOX_IRQ_NOT_EMPTY, BCM_MBOX_IRQ_MASK_CLEAR);
drivers/mailbox/bcm74110-mailbox.c
460
ret = bcm74110_mbox_link_training(mbox);
drivers/mailbox/bcm74110-mailbox.c
462
dev_err(&mbox->pdev->dev, "Training failed\n");
drivers/mailbox/bcm74110-mailbox.c
466
return bcm74110_mbox_shmem_init(mbox);
drivers/mailbox/bcm74110-mailbox.c
485
return bcm74110_mbox_tx_msg(chan_priv->mbox, msg);
drivers/mailbox/bcm74110-mailbox.c
512
struct bcm74110_mbox *mbox = dev_get_drvdata(&pdev->dev);
drivers/mailbox/bcm74110-mailbox.c
519
bcm74110_mbox_tx_msg_and_wait_ack(mbox, msg);
drivers/mailbox/bcm74110-mailbox.c
523
bcm74110_mbox_mask_and_clear(mbox);
drivers/mailbox/bcm74110-mailbox.c
526
bcm74110_tx_writel(mbox, 0x0, BCM_MBOX_CTRL);
drivers/mailbox/bcm74110-mailbox.c
529
bcm74110_rx_flush_msg(mbox);
drivers/mailbox/bcm74110-mailbox.c
535
struct bcm74110_mbox *mbox = bcm74110_mbox_from_cntrl(cntrl);
drivers/mailbox/bcm74110-mailbox.c
536
struct device *dev = &mbox->pdev->dev;
drivers/mailbox/bcm74110-mailbox.c
571
struct bcm74110_mbox *mbox;
drivers/mailbox/bcm74110-mailbox.c
574
mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/bcm74110-mailbox.c
575
if (!mbox)
drivers/mailbox/bcm74110-mailbox.c
578
mbox->pdev = pdev;
drivers/mailbox/bcm74110-mailbox.c
579
platform_set_drvdata(pdev, mbox);
drivers/mailbox/bcm74110-mailbox.c
581
mbox->base = devm_platform_ioremap_resource(pdev, 0);
drivers/mailbox/bcm74110-mailbox.c
582
if (IS_ERR(mbox->base))
drivers/mailbox/bcm74110-mailbox.c
583
return dev_err_probe(dev, PTR_ERR(mbox->base), "Failed to iomap\n");
drivers/mailbox/bcm74110-mailbox.c
585
ret = of_property_read_u32(dev->of_node, "brcm,tx", &mbox->tx_chan);
drivers/mailbox/bcm74110-mailbox.c
589
ret = of_property_read_u32(dev->of_node, "brcm,rx", &mbox->rx_chan);
drivers/mailbox/bcm74110-mailbox.c
593
mbox->rx_irq = platform_get_irq(pdev, 0);
drivers/mailbox/bcm74110-mailbox.c
594
if (mbox->rx_irq < 0)
drivers/mailbox/bcm74110-mailbox.c
595
return mbox->rx_irq;
drivers/mailbox/bcm74110-mailbox.c
597
INIT_LIST_HEAD(&mbox->rx_svc_init_list);
drivers/mailbox/bcm74110-mailbox.c
598
spin_lock_init(&mbox->rx_svc_list_lock);
drivers/mailbox/bcm74110-mailbox.c
599
bcm74110_mbox_mask_and_clear(mbox);
drivers/mailbox/bcm74110-mailbox.c
601
ret = devm_request_irq(dev, mbox->rx_irq, bcm74110_mbox_isr,
drivers/mailbox/bcm74110-mailbox.c
602
IRQF_NO_SUSPEND, pdev->name, mbox);
drivers/mailbox/bcm74110-mailbox.c
606
mbox->controller.ops = &bcm74110_mbox_chan_ops;
drivers/mailbox/bcm74110-mailbox.c
607
mbox->controller.dev = dev;
drivers/mailbox/bcm74110-mailbox.c
608
mbox->controller.num_chans = BCM_MSG_SVC_MAX;
drivers/mailbox/bcm74110-mailbox.c
609
mbox->controller.of_xlate = &bcm74110_mbox_of_xlate;
drivers/mailbox/bcm74110-mailbox.c
610
mbox->controller.chans = devm_kcalloc(dev, BCM_MSG_SVC_MAX,
drivers/mailbox/bcm74110-mailbox.c
611
sizeof(*mbox->controller.chans),
drivers/mailbox/bcm74110-mailbox.c
613
if (!mbox->controller.chans)
drivers/mailbox/bcm74110-mailbox.c
616
mbox->mbox_chan = devm_kcalloc(dev, BCM_MSG_SVC_MAX,
drivers/mailbox/bcm74110-mailbox.c
617
sizeof(*mbox->mbox_chan),
drivers/mailbox/bcm74110-mailbox.c
619
if (!mbox->mbox_chan)
drivers/mailbox/bcm74110-mailbox.c
623
mbox->mbox_chan[i].mbox = mbox;
drivers/mailbox/bcm74110-mailbox.c
624
mbox->controller.chans[i].con_priv = &mbox->mbox_chan[i];
drivers/mailbox/bcm74110-mailbox.c
627
ret = devm_mbox_controller_register(dev, &mbox->controller);
drivers/mailbox/bcm74110-mailbox.c
631
ret = bcm74110_mbox_init(mbox);
drivers/mailbox/bcm74110-mailbox.c
94
struct bcm74110_mbox *mbox;
drivers/mailbox/cix-mailbox.c
112
static struct cix_mbox_priv *to_cix_mbox_priv(struct mbox_controller *mbox)
drivers/mailbox/cix-mailbox.c
114
return container_of(mbox, struct cix_mbox_priv, mbox);
drivers/mailbox/cix-mailbox.c
135
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
154
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
164
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
183
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
205
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
225
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
255
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
279
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
310
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
357
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
377
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
403
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
478
struct cix_mbox_priv *priv = to_cix_mbox_priv(chan->mbox);
drivers/mailbox/cix-mailbox.c
608
priv->mbox.dev = dev;
drivers/mailbox/cix-mailbox.c
609
priv->mbox.ops = &cix_mbox_chan_ops;
drivers/mailbox/cix-mailbox.c
610
priv->mbox.chans = priv->mbox_chans;
drivers/mailbox/cix-mailbox.c
611
priv->mbox.txdone_irq = true;
drivers/mailbox/cix-mailbox.c
612
priv->mbox.num_chans = CIX_MBOX_CHANS;
drivers/mailbox/cix-mailbox.c
613
priv->mbox.of_xlate = NULL;
drivers/mailbox/cix-mailbox.c
616
ret = devm_mbox_controller_register(dev, &priv->mbox);
drivers/mailbox/cix-mailbox.c
98
struct mbox_controller mbox;
drivers/mailbox/cv1800-mailbox.c
105
struct cv1800_mbox *mbox = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/cv1800-mailbox.c
110
memcpy_toio(MBOX_CONTEXT_BASE_INDEX(mbox->mbox_base, idx),
drivers/mailbox/cv1800-mailbox.c
114
writeb(valid, mbox->mbox_base + MBOX_SET_CLR_REG(cpu));
drivers/mailbox/cv1800-mailbox.c
115
en = readb(mbox->mbox_base + MBOX_EN_REG(cpu));
drivers/mailbox/cv1800-mailbox.c
116
writeb(en | valid, mbox->mbox_base + MBOX_EN_REG(cpu));
drivers/mailbox/cv1800-mailbox.c
117
writeb(valid, mbox->mbox_base + MBOX_SET_REG);
drivers/mailbox/cv1800-mailbox.c
126
struct cv1800_mbox *mbox = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/cv1800-mailbox.c
129
en = readb(mbox->mbox_base + MBOX_EN_REG(priv->cpu));
drivers/mailbox/cv1800-mailbox.c
139
static struct mbox_chan *cv1800_mbox_xlate(struct mbox_controller *mbox,
drivers/mailbox/cv1800-mailbox.c
147
if (idx >= mbox->num_chans)
drivers/mailbox/cv1800-mailbox.c
150
priv = mbox->chans[idx].con_priv;
drivers/mailbox/cv1800-mailbox.c
153
return &mbox->chans[idx];
drivers/mailbox/cv1800-mailbox.c
177
mb->mbox.dev = dev;
drivers/mailbox/cv1800-mailbox.c
178
mb->mbox.chans = mb->chans;
drivers/mailbox/cv1800-mailbox.c
179
mb->mbox.txdone_poll = true;
drivers/mailbox/cv1800-mailbox.c
180
mb->mbox.ops = &cv1800_mbox_chan_ops;
drivers/mailbox/cv1800-mailbox.c
181
mb->mbox.num_chans = MAILBOX_MAX_CHAN;
drivers/mailbox/cv1800-mailbox.c
182
mb->mbox.of_xlate = cv1800_mbox_xlate;
drivers/mailbox/cv1800-mailbox.c
196
mb->mbox.chans[idx].con_priv = &mb->priv[idx];
drivers/mailbox/cv1800-mailbox.c
201
err = devm_mbox_controller_register(dev, &mb->mbox);
drivers/mailbox/cv1800-mailbox.c
47
struct mbox_controller mbox;
drivers/mailbox/cv1800-mailbox.c
57
struct cv1800_mbox *mbox = (struct cv1800_mbox *)dev_id;
drivers/mailbox/cv1800-mailbox.c
63
if (mbox->content[i] && mbox->chans[i].cl) {
drivers/mailbox/cv1800-mailbox.c
64
memcpy_fromio(&msg, mbox->content[i], MAILBOX_MSG_LEN);
drivers/mailbox/cv1800-mailbox.c
65
mbox->content[i] = NULL;
drivers/mailbox/cv1800-mailbox.c
66
mbox_chan_received_data(&mbox->chans[i], (void *)&msg);
drivers/mailbox/cv1800-mailbox.c
76
struct cv1800_mbox *mbox = (struct cv1800_mbox *)dev_id;
drivers/mailbox/cv1800-mailbox.c
81
set = readb(mbox->mbox_base + MBOX_SET_INT_REG(RECV_CPU));
drivers/mailbox/cv1800-mailbox.c
89
mbox->content[i] =
drivers/mailbox/cv1800-mailbox.c
90
MBOX_CONTEXT_BASE_INDEX(mbox->mbox_base, i);
drivers/mailbox/cv1800-mailbox.c
91
writeb(valid, mbox->mbox_base +
drivers/mailbox/cv1800-mailbox.c
93
writeb(~valid, mbox->mbox_base + MBOX_EN_REG(RECV_CPU));
drivers/mailbox/exynos-mailbox.c
108
mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/exynos-mailbox.c
109
if (!mbox)
drivers/mailbox/exynos-mailbox.c
126
mbox->num_chans = EXYNOS_MBOX_CHAN_COUNT;
drivers/mailbox/exynos-mailbox.c
127
mbox->chans = chans;
drivers/mailbox/exynos-mailbox.c
128
mbox->dev = dev;
drivers/mailbox/exynos-mailbox.c
129
mbox->ops = &exynos_mbox_chan_ops;
drivers/mailbox/exynos-mailbox.c
130
mbox->of_xlate = exynos_mbox_of_xlate;
drivers/mailbox/exynos-mailbox.c
133
chans[i].mbox = mbox;
drivers/mailbox/exynos-mailbox.c
135
exynos_mbox->mbox = mbox;
drivers/mailbox/exynos-mailbox.c
142
return devm_mbox_controller_register(dev, mbox);
drivers/mailbox/exynos-mailbox.c
41
struct mbox_controller *mbox;
drivers/mailbox/exynos-mailbox.c
46
struct device *dev = chan->mbox->dev;
drivers/mailbox/exynos-mailbox.c
50
if (msg->chan_id >= exynos_mbox->mbox->num_chans) {
drivers/mailbox/exynos-mailbox.c
69
static struct mbox_chan *exynos_mbox_of_xlate(struct mbox_controller *mbox,
drivers/mailbox/exynos-mailbox.c
83
for (i = 0; i < mbox->num_chans; i++)
drivers/mailbox/exynos-mailbox.c
84
if (mbox->chans[i].cl == NULL)
drivers/mailbox/exynos-mailbox.c
85
return &mbox->chans[i];
drivers/mailbox/exynos-mailbox.c
99
struct mbox_controller *mbox;
drivers/mailbox/hi3660-mailbox.c
102
dev_err(mbox->dev, "%s: timeout for receiving ack\n", __func__);
drivers/mailbox/hi3660-mailbox.c
114
struct hi3660_mbox *mbox = to_hi3660_mbox(chan->mbox);
drivers/mailbox/hi3660-mailbox.c
118
writel(MBOX_IPC_UNLOCK, mbox->base + MBOX_IPC_LOCK_REG);
drivers/mailbox/hi3660-mailbox.c
120
val = readl(mbox->base + MBOX_IPC_LOCK_REG);
drivers/mailbox/hi3660-mailbox.c
128
dev_err(mbox->dev, "%s: failed to unlock mailbox\n", __func__);
drivers/mailbox/hi3660-mailbox.c
136
struct hi3660_mbox *mbox = to_hi3660_mbox(chan->mbox);
drivers/mailbox/hi3660-mailbox.c
137
struct hi3660_chan_info *mchan = &mbox->mchan[ch];
drivers/mailbox/hi3660-mailbox.c
138
void __iomem *base = MBOX_BASE(mbox, ch);
drivers/mailbox/hi3660-mailbox.c
154
dev_err(mbox->dev, "%s: failed to acquire channel\n", __func__);
drivers/mailbox/hi3660-mailbox.c
177
struct hi3660_mbox *mbox = to_hi3660_mbox(chan->mbox);
drivers/mailbox/hi3660-mailbox.c
178
struct hi3660_chan_info *mchan = &mbox->mchan[ch];
drivers/mailbox/hi3660-mailbox.c
179
void __iomem *base = MBOX_BASE(mbox, ch);
drivers/mailbox/hi3660-mailbox.c
214
struct hi3660_mbox *mbox = to_hi3660_mbox(controller);
drivers/mailbox/hi3660-mailbox.c
219
dev_err(mbox->dev, "Invalid channel idx %d\n", ch);
drivers/mailbox/hi3660-mailbox.c
223
mchan = &mbox->mchan[ch];
drivers/mailbox/hi3660-mailbox.c
227
return &mbox->chan[ch];
drivers/mailbox/hi3660-mailbox.c
240
struct hi3660_mbox *mbox;
drivers/mailbox/hi3660-mailbox.c
245
mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/hi3660-mailbox.c
246
if (!mbox)
drivers/mailbox/hi3660-mailbox.c
249
mbox->base = devm_platform_ioremap_resource(pdev, 0);
drivers/mailbox/hi3660-mailbox.c
25
#define MBOX_BASE(mbox, ch) ((mbox)->base + ((ch) * 0x40))
drivers/mailbox/hi3660-mailbox.c
250
if (IS_ERR(mbox->base))
drivers/mailbox/hi3660-mailbox.c
251
return PTR_ERR(mbox->base);
drivers/mailbox/hi3660-mailbox.c
253
mbox->dev = dev;
drivers/mailbox/hi3660-mailbox.c
254
mbox->controller.dev = dev;
drivers/mailbox/hi3660-mailbox.c
255
mbox->controller.chans = mbox->chan;
drivers/mailbox/hi3660-mailbox.c
256
mbox->controller.num_chans = MBOX_CHAN_MAX;
drivers/mailbox/hi3660-mailbox.c
257
mbox->controller.ops = &hi3660_mbox_ops;
drivers/mailbox/hi3660-mailbox.c
258
mbox->controller.of_xlate = hi3660_mbox_xlate;
drivers/mailbox/hi3660-mailbox.c
261
chan = mbox->chan;
drivers/mailbox/hi3660-mailbox.c
265
err = devm_mbox_controller_register(dev, &mbox->controller);
drivers/mailbox/hi3660-mailbox.c
271
platform_set_drvdata(pdev, mbox);
drivers/mailbox/hi3660-mailbox.c
80
static struct hi3660_mbox *to_hi3660_mbox(struct mbox_controller *mbox)
drivers/mailbox/hi3660-mailbox.c
82
return container_of(mbox, struct hi3660_mbox, controller);
drivers/mailbox/hi3660-mailbox.c
88
struct hi3660_mbox *mbox = to_hi3660_mbox(chan->mbox);
drivers/mailbox/hi3660-mailbox.c
89
struct hi3660_chan_info *mchan = &mbox->mchan[ch];
drivers/mailbox/hi3660-mailbox.c
90
void __iomem *base = MBOX_BASE(mbox, ch);
drivers/mailbox/hi6220-mailbox.c
100
static void mbox_set_mode(struct hi6220_mbox *mbox,
drivers/mailbox/hi6220-mailbox.c
105
mode = readl(mbox->base + MBOX_MODE_REG(slot));
drivers/mailbox/hi6220-mailbox.c
107
writel(mode, mbox->base + MBOX_MODE_REG(slot));
drivers/mailbox/hi6220-mailbox.c
113
struct hi6220_mbox *mbox = mchan->parent;
drivers/mailbox/hi6220-mailbox.c
117
BUG_ON(mbox->tx_irq_mode);
drivers/mailbox/hi6220-mailbox.c
119
state = readl(mbox->base + MBOX_MODE_REG(mchan->slot));
drivers/mailbox/hi6220-mailbox.c
126
struct hi6220_mbox *mbox = mchan->parent;
drivers/mailbox/hi6220-mailbox.c
134
mbox_set_state(mbox, slot, MBOX_STATE_TX);
drivers/mailbox/hi6220-mailbox.c
136
if (mbox->tx_irq_mode)
drivers/mailbox/hi6220-mailbox.c
137
mbox_set_mode(mbox, slot, MBOX_ACK_IRQ);
drivers/mailbox/hi6220-mailbox.c
139
mbox_set_mode(mbox, slot, MBOX_ACK_AUTOMATIC);
drivers/mailbox/hi6220-mailbox.c
142
writel(buf[i], mbox->base + MBOX_DATA_REG(slot) + i * 4);
drivers/mailbox/hi6220-mailbox.c
145
writel(BIT(mchan->dst_irq), DST_INT_RAW_REG(mbox->ipc));
drivers/mailbox/hi6220-mailbox.c
151
struct hi6220_mbox *mbox = p;
drivers/mailbox/hi6220-mailbox.c
157
state = readl(ACK_INT_STAT_REG(mbox->ipc));
drivers/mailbox/hi6220-mailbox.c
159
dev_warn(mbox->dev, "%s: spurious interrupt\n",
drivers/mailbox/hi6220-mailbox.c
168
chan = mbox->irq_map_chan[intr_bit];
drivers/mailbox/hi6220-mailbox.c
170
dev_warn(mbox->dev, "%s: unexpected irq vector %d\n",
drivers/mailbox/hi6220-mailbox.c
180
msg[i] = readl(mbox->base +
drivers/mailbox/hi6220-mailbox.c
187
writel(BIT(mchan->ack_irq), ACK_INT_CLR_REG(mbox->ipc));
drivers/mailbox/hi6220-mailbox.c
188
mbox_set_state(mbox, mchan->slot, MBOX_STATE_IDLE);
drivers/mailbox/hi6220-mailbox.c
197
struct hi6220_mbox *mbox = mchan->parent;
drivers/mailbox/hi6220-mailbox.c
202
writel(BIT(mchan->ack_irq), ACK_INT_ENA_REG(mbox->ipc));
drivers/mailbox/hi6220-mailbox.c
209
struct hi6220_mbox *mbox = mchan->parent;
drivers/mailbox/hi6220-mailbox.c
212
writel(BIT(mchan->ack_irq), ACK_INT_DIS_REG(mbox->ipc));
drivers/mailbox/hi6220-mailbox.c
213
mbox->irq_map_chan[mchan->ack_irq] = NULL;
drivers/mailbox/hi6220-mailbox.c
226
struct hi6220_mbox *mbox = dev_get_drvdata(controller->dev);
drivers/mailbox/hi6220-mailbox.c
234
if (i >= mbox->chan_num || dst_irq >= mbox->chan_num ||
drivers/mailbox/hi6220-mailbox.c
235
ack_irq >= mbox->chan_num) {
drivers/mailbox/hi6220-mailbox.c
236
dev_err(mbox->dev,
drivers/mailbox/hi6220-mailbox.c
243
chan = &mbox->chan[i];
drivers/mailbox/hi6220-mailbox.c
244
if (mbox->irq_map_chan[ack_irq] == (void *)chan) {
drivers/mailbox/hi6220-mailbox.c
245
dev_err(mbox->dev, "Channel in use\n");
drivers/mailbox/hi6220-mailbox.c
253
mbox->irq_map_chan[ack_irq] = (void *)chan;
drivers/mailbox/hi6220-mailbox.c
267
struct hi6220_mbox *mbox;
drivers/mailbox/hi6220-mailbox.c
270
mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/hi6220-mailbox.c
271
if (!mbox)
drivers/mailbox/hi6220-mailbox.c
274
mbox->dev = dev;
drivers/mailbox/hi6220-mailbox.c
275
mbox->chan_num = MBOX_CHAN_MAX;
drivers/mailbox/hi6220-mailbox.c
276
mbox->mchan = devm_kcalloc(dev,
drivers/mailbox/hi6220-mailbox.c
277
mbox->chan_num, sizeof(*mbox->mchan), GFP_KERNEL);
drivers/mailbox/hi6220-mailbox.c
278
if (!mbox->mchan)
drivers/mailbox/hi6220-mailbox.c
281
mbox->chan = devm_kcalloc(dev,
drivers/mailbox/hi6220-mailbox.c
282
mbox->chan_num, sizeof(*mbox->chan), GFP_KERNEL);
drivers/mailbox/hi6220-mailbox.c
283
if (!mbox->chan)
drivers/mailbox/hi6220-mailbox.c
286
mbox->irq = platform_get_irq(pdev, 0);
drivers/mailbox/hi6220-mailbox.c
287
if (mbox->irq < 0)
drivers/mailbox/hi6220-mailbox.c
288
return mbox->irq;
drivers/mailbox/hi6220-mailbox.c
290
mbox->ipc = devm_platform_ioremap_resource(pdev, 0);
drivers/mailbox/hi6220-mailbox.c
291
if (IS_ERR(mbox->ipc)) {
drivers/mailbox/hi6220-mailbox.c
293
return PTR_ERR(mbox->ipc);
drivers/mailbox/hi6220-mailbox.c
296
mbox->base = devm_platform_ioremap_resource(pdev, 1);
drivers/mailbox/hi6220-mailbox.c
297
if (IS_ERR(mbox->base)) {
drivers/mailbox/hi6220-mailbox.c
299
return PTR_ERR(mbox->base);
drivers/mailbox/hi6220-mailbox.c
302
err = devm_request_irq(dev, mbox->irq, hi6220_mbox_interrupt, 0,
drivers/mailbox/hi6220-mailbox.c
303
dev_name(dev), mbox);
drivers/mailbox/hi6220-mailbox.c
310
mbox->controller.dev = dev;
drivers/mailbox/hi6220-mailbox.c
311
mbox->controller.chans = &mbox->chan[0];
drivers/mailbox/hi6220-mailbox.c
312
mbox->controller.num_chans = mbox->chan_num;
drivers/mailbox/hi6220-mailbox.c
313
mbox->controller.ops = &hi6220_mbox_ops;
drivers/mailbox/hi6220-mailbox.c
314
mbox->controller.of_xlate = hi6220_mbox_xlate;
drivers/mailbox/hi6220-mailbox.c
316
for (i = 0; i < mbox->chan_num; i++) {
drivers/mailbox/hi6220-mailbox.c
317
mbox->chan[i].con_priv = &mbox->mchan[i];
drivers/mailbox/hi6220-mailbox.c
318
mbox->irq_map_chan[i] = NULL;
drivers/mailbox/hi6220-mailbox.c
320
mbox->mchan[i].parent = mbox;
drivers/mailbox/hi6220-mailbox.c
321
mbox->mchan[i].slot = i;
drivers/mailbox/hi6220-mailbox.c
325
writel(0x0, ACK_INT_MSK_REG(mbox->ipc));
drivers/mailbox/hi6220-mailbox.c
326
writel(~0x0, ACK_INT_CLR_REG(mbox->ipc));
drivers/mailbox/hi6220-mailbox.c
329
mbox->tx_irq_mode = !of_property_read_bool(node, "hi6220,mbox-tx-noirq");
drivers/mailbox/hi6220-mailbox.c
331
if (mbox->tx_irq_mode)
drivers/mailbox/hi6220-mailbox.c
332
mbox->controller.txdone_irq = true;
drivers/mailbox/hi6220-mailbox.c
334
mbox->controller.txdone_poll = true;
drivers/mailbox/hi6220-mailbox.c
335
mbox->controller.txpoll_period = 5;
drivers/mailbox/hi6220-mailbox.c
338
err = devm_mbox_controller_register(dev, &mbox->controller);
drivers/mailbox/hi6220-mailbox.c
344
platform_set_drvdata(pdev, mbox);
drivers/mailbox/hi6220-mailbox.c
90
static void mbox_set_state(struct hi6220_mbox *mbox,
drivers/mailbox/hi6220-mailbox.c
95
status = readl(mbox->base + MBOX_MODE_REG(slot));
drivers/mailbox/hi6220-mailbox.c
97
writel(status, mbox->base + MBOX_MODE_REG(slot));
drivers/mailbox/imx-mailbox.c
145
static struct imx_mu_priv *to_imx_mu_priv(struct mbox_controller *mbox)
drivers/mailbox/imx-mailbox.c
147
return container_of(mbox, struct imx_mu_priv, mbox);
drivers/mailbox/imx-mailbox.c
516
struct imx_mu_priv *priv = to_imx_mu_priv(chan->mbox);
drivers/mailbox/imx-mailbox.c
573
struct imx_mu_priv *priv = to_imx_mu_priv(chan->mbox);
drivers/mailbox/imx-mailbox.c
581
struct imx_mu_priv *priv = to_imx_mu_priv(chan->mbox);
drivers/mailbox/imx-mailbox.c
625
struct imx_mu_priv *priv = to_imx_mu_priv(chan->mbox);
drivers/mailbox/imx-mailbox.c
672
static struct mbox_chan *imx_mu_specific_xlate(struct mbox_controller *mbox,
drivers/mailbox/imx-mailbox.c
678
dev_err(mbox->dev, "Invalid argument count %d\n", sp->args_count);
drivers/mailbox/imx-mailbox.c
689
dev_err(mbox->dev, "Invalid chan idx: %d\n", idx);
drivers/mailbox/imx-mailbox.c
696
dev_err(mbox->dev, "Invalid chan type: %d\n", type);
drivers/mailbox/imx-mailbox.c
700
if (chan >= mbox->num_chans) {
drivers/mailbox/imx-mailbox.c
701
dev_err(mbox->dev, "Not supported channel number: %d. (type: %d, idx: %d)\n", chan, type, idx);
drivers/mailbox/imx-mailbox.c
705
return &mbox->chans[chan];
drivers/mailbox/imx-mailbox.c
708
static struct mbox_chan * imx_mu_xlate(struct mbox_controller *mbox,
drivers/mailbox/imx-mailbox.c
715
dev_err(mbox->dev, "Invalid argument count %d\n", sp->args_count);
drivers/mailbox/imx-mailbox.c
724
dev_err(mbox->dev, "Invalid RST channel %d\n", idx);
drivers/mailbox/imx-mailbox.c
729
if (chan >= mbox->num_chans) {
drivers/mailbox/imx-mailbox.c
730
dev_err(mbox->dev, "Not supported channel number: %d. (type: %d, idx: %d)\n", chan, type, idx);
drivers/mailbox/imx-mailbox.c
734
p_chan = &mbox->chans[chan];
drivers/mailbox/imx-mailbox.c
742
static struct mbox_chan *imx_mu_seco_xlate(struct mbox_controller *mbox,
drivers/mailbox/imx-mailbox.c
748
dev_err(mbox->dev, "Invalid argument count %d\n", sp->args_count);
drivers/mailbox/imx-mailbox.c
756
dev_err(mbox->dev, "Invalid type: %d\n", type);
drivers/mailbox/imx-mailbox.c
760
return imx_mu_xlate(mbox, sp);
drivers/mailbox/imx-mailbox.c
798
priv->mbox.num_chans = IMX_MU_CHANS;
drivers/mailbox/imx-mailbox.c
799
priv->mbox.of_xlate = imx_mu_xlate;
drivers/mailbox/imx-mailbox.c
835
priv->mbox.num_chans = num_chans;
drivers/mailbox/imx-mailbox.c
836
priv->mbox.of_xlate = imx_mu_specific_xlate;
drivers/mailbox/imx-mailbox.c
852
priv->mbox.of_xlate = imx_mu_seco_xlate;
drivers/mailbox/imx-mailbox.c
93
struct mbox_controller mbox;
drivers/mailbox/imx-mailbox.c
931
priv->mbox.dev = dev;
drivers/mailbox/imx-mailbox.c
932
priv->mbox.ops = &imx_mu_ops;
drivers/mailbox/imx-mailbox.c
933
priv->mbox.chans = priv->mbox_chans;
drivers/mailbox/imx-mailbox.c
934
priv->mbox.txdone_irq = true;
drivers/mailbox/imx-mailbox.c
938
ret = devm_mbox_controller_register(dev, &priv->mbox);
drivers/mailbox/mailbox-altera.c
100
static bool altera_mbox_is_sender(struct altera_mbox *mbox)
drivers/mailbox/mailbox-altera.c
107
writel_relaxed(MBOX_MAGIC, mbox->mbox_base + MAILBOX_PTR_REG);
drivers/mailbox/mailbox-altera.c
108
reg = readl_relaxed(mbox->mbox_base + MAILBOX_PTR_REG);
drivers/mailbox/mailbox-altera.c
111
writel_relaxed(0, mbox->mbox_base + MAILBOX_PTR_REG);
drivers/mailbox/mailbox-altera.c
119
struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan);
drivers/mailbox/mailbox-altera.c
122
if (altera_mbox_pending(mbox)) {
drivers/mailbox/mailbox-altera.c
124
readl_relaxed(mbox->mbox_base + MAILBOX_PTR_REG);
drivers/mailbox/mailbox-altera.c
126
readl_relaxed(mbox->mbox_base + MAILBOX_CMD_REG);
drivers/mailbox/mailbox-altera.c
133
struct altera_mbox *mbox = timer_container_of(mbox, t, rxpoll_timer);
drivers/mailbox/mailbox-altera.c
135
altera_mbox_rx_data(mbox->chan);
drivers/mailbox/mailbox-altera.c
137
mod_timer(&mbox->rxpoll_timer,
drivers/mailbox/mailbox-altera.c
144
struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan);
drivers/mailbox/mailbox-altera.c
146
altera_mbox_tx_intmask(mbox, false);
drivers/mailbox/mailbox-altera.c
163
struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan);
drivers/mailbox/mailbox-altera.c
165
if (mbox->intr_mode) {
drivers/mailbox/mailbox-altera.c
166
ret = request_irq(mbox->irq, altera_mbox_tx_interrupt, 0,
drivers/mailbox/mailbox-altera.c
169
dev_err(mbox->dev,
drivers/mailbox/mailbox-altera.c
182
struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan);
drivers/mailbox/mailbox-altera.c
184
if (mbox->intr_mode) {
drivers/mailbox/mailbox-altera.c
185
ret = request_irq(mbox->irq, altera_mbox_rx_interrupt, 0,
drivers/mailbox/mailbox-altera.c
188
mbox->intr_mode = false;
drivers/mailbox/mailbox-altera.c
192
altera_mbox_rx_intmask(mbox, true);
drivers/mailbox/mailbox-altera.c
198
mbox->chan = chan;
drivers/mailbox/mailbox-altera.c
199
timer_setup(&mbox->rxpoll_timer, altera_mbox_poll_rx, 0);
drivers/mailbox/mailbox-altera.c
200
mod_timer(&mbox->rxpoll_timer,
drivers/mailbox/mailbox-altera.c
208
struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan);
drivers/mailbox/mailbox-altera.c
211
if (!mbox || !data)
drivers/mailbox/mailbox-altera.c
213
if (!mbox->is_sender) {
drivers/mailbox/mailbox-altera.c
214
dev_warn(mbox->dev,
drivers/mailbox/mailbox-altera.c
219
if (altera_mbox_full(mbox))
drivers/mailbox/mailbox-altera.c
223
if (mbox->intr_mode)
drivers/mailbox/mailbox-altera.c
224
altera_mbox_tx_intmask(mbox, true);
drivers/mailbox/mailbox-altera.c
227
writel_relaxed(udata[MBOX_PTR], mbox->mbox_base + MAILBOX_PTR_REG);
drivers/mailbox/mailbox-altera.c
228
writel_relaxed(udata[MBOX_CMD], mbox->mbox_base + MAILBOX_CMD_REG);
drivers/mailbox/mailbox-altera.c
235
struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan);
drivers/mailbox/mailbox-altera.c
238
return altera_mbox_full(mbox) ? false : true;
drivers/mailbox/mailbox-altera.c
243
struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan);
drivers/mailbox/mailbox-altera.c
245
return altera_mbox_pending(mbox) ? true : false;
drivers/mailbox/mailbox-altera.c
250
struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan);
drivers/mailbox/mailbox-altera.c
253
if (!mbox)
drivers/mailbox/mailbox-altera.c
256
if (mbox->is_sender)
drivers/mailbox/mailbox-altera.c
266
struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan);
drivers/mailbox/mailbox-altera.c
268
if (mbox->intr_mode) {
drivers/mailbox/mailbox-altera.c
270
writel_relaxed(~0, mbox->mbox_base + MAILBOX_INTMASK_REG);
drivers/mailbox/mailbox-altera.c
271
free_irq(mbox->irq, chan);
drivers/mailbox/mailbox-altera.c
272
} else if (!mbox->is_sender) {
drivers/mailbox/mailbox-altera.c
273
timer_delete_sync(&mbox->rxpoll_timer);
drivers/mailbox/mailbox-altera.c
287
struct altera_mbox *mbox;
drivers/mailbox/mailbox-altera.c
291
mbox = devm_kzalloc(&pdev->dev, sizeof(*mbox),
drivers/mailbox/mailbox-altera.c
293
if (!mbox)
drivers/mailbox/mailbox-altera.c
301
mbox->mbox_base = devm_platform_ioremap_resource(pdev, 0);
drivers/mailbox/mailbox-altera.c
302
if (IS_ERR(mbox->mbox_base))
drivers/mailbox/mailbox-altera.c
303
return PTR_ERR(mbox->mbox_base);
drivers/mailbox/mailbox-altera.c
306
mbox->is_sender = altera_mbox_is_sender(mbox);
drivers/mailbox/mailbox-altera.c
308
mbox->irq = platform_get_irq(pdev, 0);
drivers/mailbox/mailbox-altera.c
309
if (mbox->irq >= 0)
drivers/mailbox/mailbox-altera.c
310
mbox->intr_mode = true;
drivers/mailbox/mailbox-altera.c
312
mbox->dev = &pdev->dev;
drivers/mailbox/mailbox-altera.c
315
chans[0].con_priv = mbox;
drivers/mailbox/mailbox-altera.c
316
mbox->controller.dev = mbox->dev;
drivers/mailbox/mailbox-altera.c
317
mbox->controller.num_chans = 1;
drivers/mailbox/mailbox-altera.c
318
mbox->controller.chans = chans;
drivers/mailbox/mailbox-altera.c
319
mbox->controller.ops = &altera_mbox_ops;
drivers/mailbox/mailbox-altera.c
321
if (mbox->is_sender) {
drivers/mailbox/mailbox-altera.c
322
if (mbox->intr_mode) {
drivers/mailbox/mailbox-altera.c
323
mbox->controller.txdone_irq = true;
drivers/mailbox/mailbox-altera.c
325
mbox->controller.txdone_poll = true;
drivers/mailbox/mailbox-altera.c
326
mbox->controller.txpoll_period = MBOX_POLLING_MS;
drivers/mailbox/mailbox-altera.c
330
ret = devm_mbox_controller_register(&pdev->dev, &mbox->controller);
drivers/mailbox/mailbox-altera.c
336
platform_set_drvdata(pdev, mbox);
drivers/mailbox/mailbox-altera.c
60
static inline int altera_mbox_full(struct altera_mbox *mbox)
drivers/mailbox/mailbox-altera.c
64
status = readl_relaxed(mbox->mbox_base + MAILBOX_STS_REG);
drivers/mailbox/mailbox-altera.c
68
static inline int altera_mbox_pending(struct altera_mbox *mbox)
drivers/mailbox/mailbox-altera.c
72
status = readl_relaxed(mbox->mbox_base + MAILBOX_STS_REG);
drivers/mailbox/mailbox-altera.c
76
static void altera_mbox_rx_intmask(struct altera_mbox *mbox, bool enable)
drivers/mailbox/mailbox-altera.c
80
mask = readl_relaxed(mbox->mbox_base + MAILBOX_INTMASK_REG);
drivers/mailbox/mailbox-altera.c
85
writel_relaxed(mask, mbox->mbox_base + MAILBOX_INTMASK_REG);
drivers/mailbox/mailbox-altera.c
88
static void altera_mbox_tx_intmask(struct altera_mbox *mbox, bool enable)
drivers/mailbox/mailbox-altera.c
92
mask = readl_relaxed(mbox->mbox_base + MAILBOX_INTMASK_REG);
drivers/mailbox/mailbox-altera.c
97
writel_relaxed(mask, mbox->mbox_base + MAILBOX_INTMASK_REG);
drivers/mailbox/mailbox-mchp-ipc-sbi.c
143
static struct mchp_ipc_sbi_mbox *to_mchp_ipc_mbox(struct mbox_controller *mbox)
drivers/mailbox/mailbox-mchp-ipc-sbi.c
145
return container_of(mbox, struct mchp_ipc_sbi_mbox, controller);
drivers/mailbox/mailbox-mchp-ipc-sbi.c
267
struct mchp_ipc_sbi_mbox *ipc = to_mchp_ipc_mbox(chan->mbox);
drivers/mailbox/mailbox-mpfs.c
105
if (mbox->control_scb)
drivers/mailbox/mailbox-mpfs.c
106
regmap_read(mbox->control_scb, SERVICES_SR_OFFSET, &val);
drivers/mailbox/mailbox-mpfs.c
108
val = readl_relaxed(mbox->ctrl_base + SERVICES_SR_OFFSET);
drivers/mailbox/mailbox-mpfs.c
117
struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv;
drivers/mailbox/mailbox-mpfs.c
123
mbox->response = msg->response;
drivers/mailbox/mailbox-mpfs.c
124
mbox->resp_offset = msg->resp_offset;
drivers/mailbox/mailbox-mpfs.c
126
if (mpfs_mbox_busy(mbox))
drivers/mailbox/mailbox-mpfs.c
136
mbox->mbox_base + msg->mbox_offset + index * 0x4);
drivers/mailbox/mailbox-mpfs.c
142
val = readl_relaxed(mbox->mbox_base + msg->mbox_offset + index * 0x4);
drivers/mailbox/mailbox-mpfs.c
149
writel_relaxed(val, mbox->mbox_base + msg->mbox_offset + index * 0x4);
drivers/mailbox/mailbox-mpfs.c
158
if (mbox->control_scb)
drivers/mailbox/mailbox-mpfs.c
159
regmap_write(mbox->control_scb, SERVICES_CR_OFFSET, tx_trigger);
drivers/mailbox/mailbox-mpfs.c
161
writel_relaxed(tx_trigger, mbox->ctrl_base + SERVICES_CR_OFFSET);
drivers/mailbox/mailbox-mpfs.c
169
struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv;
drivers/mailbox/mailbox-mpfs.c
170
struct mpfs_mss_response *response = mbox->response;
drivers/mailbox/mailbox-mpfs.c
175
dev_err(mbox->dev, "failed to assign memory for response %d\n", -ENOMEM);
drivers/mailbox/mailbox-mpfs.c
184
if (mpfs_mbox_busy(mbox)) {
drivers/mailbox/mailbox-mpfs.c
185
dev_err(mbox->dev, "got an interrupt but system controller is busy\n");
drivers/mailbox/mailbox-mpfs.c
192
readl_relaxed(mbox->mbox_base
drivers/mailbox/mailbox-mpfs.c
193
+ mbox->resp_offset + i * 0x4);
drivers/mailbox/mailbox-mpfs.c
202
struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv;
drivers/mailbox/mailbox-mpfs.c
204
if (mbox->control_scb)
drivers/mailbox/mailbox-mpfs.c
205
regmap_write(mbox->sysreg_scb, MESSAGE_INT_OFFSET, 0);
drivers/mailbox/mailbox-mpfs.c
207
writel_relaxed(0, mbox->int_reg);
drivers/mailbox/mailbox-mpfs.c
216
struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv;
drivers/mailbox/mailbox-mpfs.c
219
if (!mbox)
drivers/mailbox/mailbox-mpfs.c
222
ret = devm_request_irq(mbox->dev, mbox->irq, mpfs_mbox_inbox_isr, 0, "mpfs-mailbox", chan);
drivers/mailbox/mailbox-mpfs.c
224
dev_err(mbox->dev, "failed to register mailbox interrupt:%d\n", ret);
drivers/mailbox/mailbox-mpfs.c
231
struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv;
drivers/mailbox/mailbox-mpfs.c
233
devm_free_irq(mbox->dev, mbox->irq, chan);
drivers/mailbox/mailbox-mpfs.c
243
static inline int mpfs_mbox_syscon_probe(struct mpfs_mbox *mbox, struct platform_device *pdev)
drivers/mailbox/mailbox-mpfs.c
245
mbox->control_scb = syscon_regmap_lookup_by_compatible("microchip,mpfs-control-scb");
drivers/mailbox/mailbox-mpfs.c
246
if (IS_ERR(mbox->control_scb))
drivers/mailbox/mailbox-mpfs.c
247
return PTR_ERR(mbox->control_scb);
drivers/mailbox/mailbox-mpfs.c
249
mbox->sysreg_scb = syscon_regmap_lookup_by_compatible("microchip,mpfs-sysreg-scb");
drivers/mailbox/mailbox-mpfs.c
250
if (IS_ERR(mbox->sysreg_scb))
drivers/mailbox/mailbox-mpfs.c
251
return PTR_ERR(mbox->sysreg_scb);
drivers/mailbox/mailbox-mpfs.c
253
mbox->mbox_base = devm_platform_ioremap_resource(pdev, 0);
drivers/mailbox/mailbox-mpfs.c
254
if (IS_ERR(mbox->mbox_base))
drivers/mailbox/mailbox-mpfs.c
255
return PTR_ERR(mbox->mbox_base);
drivers/mailbox/mailbox-mpfs.c
260
static inline int mpfs_mbox_old_format_probe(struct mpfs_mbox *mbox, struct platform_device *pdev)
drivers/mailbox/mailbox-mpfs.c
264
mbox->ctrl_base = devm_platform_ioremap_resource(pdev, 0);
drivers/mailbox/mailbox-mpfs.c
265
if (IS_ERR(mbox->ctrl_base))
drivers/mailbox/mailbox-mpfs.c
266
return PTR_ERR(mbox->ctrl_base);
drivers/mailbox/mailbox-mpfs.c
268
mbox->int_reg = devm_platform_ioremap_resource(pdev, 1);
drivers/mailbox/mailbox-mpfs.c
269
if (IS_ERR(mbox->int_reg))
drivers/mailbox/mailbox-mpfs.c
270
return PTR_ERR(mbox->int_reg);
drivers/mailbox/mailbox-mpfs.c
272
mbox->mbox_base = devm_platform_ioremap_resource(pdev, 2);
drivers/mailbox/mailbox-mpfs.c
273
if (IS_ERR(mbox->mbox_base)) // account for the old dt-binding w/ 2 regs
drivers/mailbox/mailbox-mpfs.c
274
mbox->mbox_base = mbox->ctrl_base + MAILBOX_REG_OFFSET;
drivers/mailbox/mailbox-mpfs.c
281
struct mpfs_mbox *mbox;
drivers/mailbox/mailbox-mpfs.c
284
mbox = devm_kzalloc(&pdev->dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/mailbox-mpfs.c
285
if (!mbox)
drivers/mailbox/mailbox-mpfs.c
288
ret = mpfs_mbox_syscon_probe(mbox, pdev);
drivers/mailbox/mailbox-mpfs.c
294
mbox->control_scb = NULL;
drivers/mailbox/mailbox-mpfs.c
295
ret = mpfs_mbox_old_format_probe(mbox, pdev);
drivers/mailbox/mailbox-mpfs.c
299
mbox->irq = platform_get_irq(pdev, 0);
drivers/mailbox/mailbox-mpfs.c
300
if (mbox->irq < 0)
drivers/mailbox/mailbox-mpfs.c
301
return mbox->irq;
drivers/mailbox/mailbox-mpfs.c
303
mbox->dev = &pdev->dev;
drivers/mailbox/mailbox-mpfs.c
305
mbox->chans[0].con_priv = mbox;
drivers/mailbox/mailbox-mpfs.c
306
mbox->controller.dev = mbox->dev;
drivers/mailbox/mailbox-mpfs.c
307
mbox->controller.num_chans = 1;
drivers/mailbox/mailbox-mpfs.c
308
mbox->controller.chans = mbox->chans;
drivers/mailbox/mailbox-mpfs.c
309
mbox->controller.ops = &mpfs_mbox_ops;
drivers/mailbox/mailbox-mpfs.c
310
mbox->controller.txdone_poll = true;
drivers/mailbox/mailbox-mpfs.c
311
mbox->controller.txpoll_period = 10u;
drivers/mailbox/mailbox-mpfs.c
313
ret = devm_mbox_controller_register(&pdev->dev, &mbox->controller);
drivers/mailbox/mailbox-mpfs.c
78
static bool mpfs_mbox_busy(struct mpfs_mbox *mbox)
drivers/mailbox/mailbox-mpfs.c
82
if (mbox->control_scb)
drivers/mailbox/mailbox-mpfs.c
83
regmap_read(mbox->control_scb, SERVICES_SR_OFFSET, &status);
drivers/mailbox/mailbox-mpfs.c
85
status = readl_relaxed(mbox->ctrl_base + SERVICES_SR_OFFSET);
drivers/mailbox/mailbox-mpfs.c
92
struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv;
drivers/mailbox/mailbox-mpfs.c
93
struct mpfs_mss_response *response = mbox->response;
drivers/mailbox/mailbox-mpfs.c
96
if (mpfs_mbox_busy(mbox))
drivers/mailbox/mailbox-sti.c
104
for (i = 0; i < mbox->num_chans; i++) {
drivers/mailbox/mailbox-sti.c
105
chan_info = mbox->chans[i].con_priv;
drivers/mailbox/mailbox-sti.c
109
return &mbox->chans[i];
drivers/mailbox/mailbox-sti.c
112
dev_err(mbox->dev,
drivers/mailbox/mailbox-sti.c
163
struct mbox_controller *mbox = mdev->mbox;
drivers/mailbox/mailbox-sti.c
179
chan = sti_mbox_to_channel(mbox, instance, channel);
drivers/mailbox/mailbox-sti.c
181
dev_dbg(mbox->dev,
drivers/mailbox/mailbox-sti.c
303
struct mbox_controller *mbox = chan_info->mdev->mbox;
drivers/mailbox/mailbox-sti.c
306
for (i = 0; i < mbox->num_chans; i++)
drivers/mailbox/mailbox-sti.c
307
if (chan == &mbox->chans[i])
drivers/mailbox/mailbox-sti.c
310
if (mbox->num_chans == i) {
drivers/mailbox/mailbox-sti.c
311
dev_warn(mbox->dev, "Request to free non-existent channel\n");
drivers/mailbox/mailbox-sti.c
321
static struct mbox_chan *sti_mbox_xlate(struct mbox_controller *mbox,
drivers/mailbox/mailbox-sti.c
324
struct sti_mbox_device *mdev = dev_get_drvdata(mbox->dev);
drivers/mailbox/mailbox-sti.c
334
dev_err(mbox->dev,
drivers/mailbox/mailbox-sti.c
340
for (i = 0; i < mbox->num_chans; i++) {
drivers/mailbox/mailbox-sti.c
341
chan_info = mbox->chans[i].con_priv;
drivers/mailbox/mailbox-sti.c
345
mbox->dev == chan_info->mdev->dev &&
drivers/mailbox/mailbox-sti.c
349
dev_err(mbox->dev, "Channel in use\n");
drivers/mailbox/mailbox-sti.c
358
chan = &mbox->chans[i];
drivers/mailbox/mailbox-sti.c
362
dev_err(mbox->dev, "No free channels left\n");
drivers/mailbox/mailbox-sti.c
366
chan_info = devm_kzalloc(mbox->dev, sizeof(*chan_info), GFP_KERNEL);
drivers/mailbox/mailbox-sti.c
376
dev_info(mbox->dev,
drivers/mailbox/mailbox-sti.c
406
struct mbox_controller *mbox;
drivers/mailbox/mailbox-sti.c
433
mbox = devm_kzalloc(&pdev->dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/mailbox-sti.c
434
if (!mbox)
drivers/mailbox/mailbox-sti.c
443
mdev->mbox = mbox;
drivers/mailbox/mailbox-sti.c
448
mbox->txdone_irq = false;
drivers/mailbox/mailbox-sti.c
449
mbox->txdone_poll = true;
drivers/mailbox/mailbox-sti.c
450
mbox->txpoll_period = 100;
drivers/mailbox/mailbox-sti.c
451
mbox->ops = &sti_mbox_ops;
drivers/mailbox/mailbox-sti.c
452
mbox->dev = mdev->dev;
drivers/mailbox/mailbox-sti.c
453
mbox->of_xlate = sti_mbox_xlate;
drivers/mailbox/mailbox-sti.c
454
mbox->chans = chans;
drivers/mailbox/mailbox-sti.c
455
mbox->num_chans = STI_MBOX_CHAN_MAX;
drivers/mailbox/mailbox-sti.c
457
ret = devm_mbox_controller_register(&pdev->dev, mbox);
drivers/mailbox/mailbox-sti.c
55
struct mbox_controller *mbox;
drivers/mailbox/mailbox-sti.c
97
struct mbox_chan *sti_mbox_to_channel(struct mbox_controller *mbox,
drivers/mailbox/mailbox-th1520.c
133
struct th1520_mbox_priv *priv = to_th1520_mbox_priv(cp->chan->mbox);
drivers/mailbox/mailbox-th1520.c
202
dev_err(cp->chan->mbox->dev, "convert to mapbit failed\n");
drivers/mailbox/mailbox-th1520.c
210
struct th1520_mbox_priv *priv = to_th1520_mbox_priv(chan->mbox);
drivers/mailbox/mailbox-th1520.c
273
struct th1520_mbox_priv *priv = to_th1520_mbox_priv(chan->mbox);
drivers/mailbox/mailbox-th1520.c
319
struct th1520_mbox_priv *priv = to_th1520_mbox_priv(chan->mbox);
drivers/mailbox/mailbox-th1520.c
349
static struct mbox_chan *th1520_mbox_xlate(struct mbox_controller *mbox,
drivers/mailbox/mailbox-th1520.c
355
dev_err(mbox->dev, "Invalid argument count %d\n",
drivers/mailbox/mailbox-th1520.c
362
if (chan >= mbox->num_chans) {
drivers/mailbox/mailbox-th1520.c
363
dev_err(mbox->dev, "Not supported channel number: %d\n", chan);
drivers/mailbox/mailbox-th1520.c
368
dev_err(mbox->dev, "Cannot communicate with yourself\n");
drivers/mailbox/mailbox-th1520.c
372
return &mbox->chans[chan];
drivers/mailbox/mailbox-th1520.c
500
priv->mbox.dev = dev;
drivers/mailbox/mailbox-th1520.c
501
priv->mbox.ops = &th1520_mbox_ops;
drivers/mailbox/mailbox-th1520.c
502
priv->mbox.chans = priv->mbox_chans;
drivers/mailbox/mailbox-th1520.c
503
priv->mbox.num_chans = TH_1520_MBOX_CHANS;
drivers/mailbox/mailbox-th1520.c
504
priv->mbox.of_xlate = th1520_mbox_xlate;
drivers/mailbox/mailbox-th1520.c
505
priv->mbox.txdone_irq = true;
drivers/mailbox/mailbox-th1520.c
515
return devm_mbox_controller_register(dev, &priv->mbox);
drivers/mailbox/mailbox-th1520.c
70
struct mbox_controller mbox;
drivers/mailbox/mailbox-th1520.c
81
to_th1520_mbox_priv(struct mbox_controller *mbox)
drivers/mailbox/mailbox-th1520.c
83
return container_of(mbox, struct th1520_mbox_priv, mbox);
drivers/mailbox/mailbox.c
109
struct mbox_controller *mbox =
drivers/mailbox/mailbox.c
114
for (i = 0; i < mbox->num_chans; i++) {
drivers/mailbox/mailbox.c
115
struct mbox_chan *chan = &mbox->chans[i];
drivers/mailbox/mailbox.c
118
txdone = chan->mbox->ops->last_tx_done(chan);
drivers/mailbox/mailbox.c
127
scoped_guard(spinlock_irqsave, &mbox->poll_hrt_lock) {
drivers/mailbox/mailbox.c
129
hrtimer_forward_now(hrtimer, ms_to_ktime(mbox->txpoll_period));
drivers/mailbox/mailbox.c
168
dev_err(chan->mbox->dev,
drivers/mailbox/mailbox.c
189
dev_err(chan->mbox->dev, "Client can't run the TX ticker\n");
drivers/mailbox/mailbox.c
214
if (chan->mbox->ops->peek_data)
drivers/mailbox/mailbox.c
215
return chan->mbox->ops->peek_data(chan);
drivers/mailbox/mailbox.c
254
dev_err(chan->mbox->dev, "Try increasing MBOX_TX_QUEUE_LEN\n");
drivers/mailbox/mailbox.c
298
if (!chan->mbox->ops->flush)
drivers/mailbox/mailbox.c
301
ret = chan->mbox->ops->flush(chan, timeout);
drivers/mailbox/mailbox.c
314
if (chan->cl || !try_module_get(chan->mbox->dev->driver->owner)) {
drivers/mailbox/mailbox.c
330
if (chan->mbox->ops->startup) {
drivers/mailbox/mailbox.c
331
ret = chan->mbox->ops->startup(chan);
drivers/mailbox/mailbox.c
389
struct mbox_controller *mbox;
drivers/mailbox/mailbox.c
422
list_for_each_entry(mbox, &mbox_cons, node) {
drivers/mailbox/mailbox.c
423
if (device_match_fwnode(mbox->dev, fwspec.fwnode)) {
drivers/mailbox/mailbox.c
424
if (mbox->fw_xlate) {
drivers/mailbox/mailbox.c
425
chan = mbox->fw_xlate(mbox, &fwspec);
drivers/mailbox/mailbox.c
428
} else if (mbox->of_xlate) {
drivers/mailbox/mailbox.c
429
chan = mbox->of_xlate(mbox, &spec);
drivers/mailbox/mailbox.c
474
if (chan->mbox->ops->shutdown)
drivers/mailbox/mailbox.c
475
chan->mbox->ops->shutdown(chan);
drivers/mailbox/mailbox.c
485
module_put(chan->mbox->dev->driver->owner);
drivers/mailbox/mailbox.c
489
static struct mbox_chan *fw_mbox_index_xlate(struct mbox_controller *mbox,
drivers/mailbox/mailbox.c
492
if (sp->nargs < 1 || sp->args[0] >= mbox->num_chans)
drivers/mailbox/mailbox.c
495
return &mbox->chans[sp->args[0]];
drivers/mailbox/mailbox.c
504
int mbox_controller_register(struct mbox_controller *mbox)
drivers/mailbox/mailbox.c
509
if (!mbox || !mbox->dev || !mbox->ops || !mbox->num_chans)
drivers/mailbox/mailbox.c
512
if (mbox->txdone_irq)
drivers/mailbox/mailbox.c
514
else if (mbox->txdone_poll)
drivers/mailbox/mailbox.c
521
if (!mbox->ops->last_tx_done) {
drivers/mailbox/mailbox.c
522
dev_err(mbox->dev, "last_tx_done method is absent\n");
drivers/mailbox/mailbox.c
526
hrtimer_setup(&mbox->poll_hrt, txdone_hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
drivers/mailbox/mailbox.c
527
spin_lock_init(&mbox->poll_hrt_lock);
drivers/mailbox/mailbox.c
530
for (i = 0; i < mbox->num_chans; i++) {
drivers/mailbox/mailbox.c
531
struct mbox_chan *chan = &mbox->chans[i];
drivers/mailbox/mailbox.c
534
chan->mbox = mbox;
drivers/mailbox/mailbox.c
539
if (!mbox->fw_xlate && !mbox->of_xlate)
drivers/mailbox/mailbox.c
540
mbox->fw_xlate = fw_mbox_index_xlate;
drivers/mailbox/mailbox.c
543
list_add_tail(&mbox->node, &mbox_cons);
drivers/mailbox/mailbox.c
553
void mbox_controller_unregister(struct mbox_controller *mbox)
drivers/mailbox/mailbox.c
557
if (!mbox)
drivers/mailbox/mailbox.c
561
list_del(&mbox->node);
drivers/mailbox/mailbox.c
563
for (i = 0; i < mbox->num_chans; i++)
drivers/mailbox/mailbox.c
564
mbox_free_channel(&mbox->chans[i]);
drivers/mailbox/mailbox.c
566
if (mbox->txdone_poll)
drivers/mailbox/mailbox.c
567
hrtimer_cancel(&mbox->poll_hrt);
drivers/mailbox/mailbox.c
574
struct mbox_controller **mbox = res;
drivers/mailbox/mailbox.c
576
mbox_controller_unregister(*mbox);
drivers/mailbox/mailbox.c
592
struct mbox_controller *mbox)
drivers/mailbox/mailbox.c
602
err = mbox_controller_register(mbox);
drivers/mailbox/mailbox.c
609
*ptr = mbox;
drivers/mailbox/mailbox.c
70
err = chan->mbox->ops->send_data(chan, data);
drivers/mailbox/mailbox.c
79
scoped_guard(spinlock_irqsave, &chan->mbox->poll_hrt_lock)
drivers/mailbox/mailbox.c
80
hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL);
drivers/mailbox/mtk-adsp-mailbox.c
111
struct mbox_controller *mbox;
drivers/mailbox/mtk-adsp-mailbox.c
118
mbox = &priv->mbox;
drivers/mailbox/mtk-adsp-mailbox.c
119
mbox->dev = dev;
drivers/mailbox/mtk-adsp-mailbox.c
120
mbox->ops = &mtk_adsp_mbox_chan_ops;
drivers/mailbox/mtk-adsp-mailbox.c
121
mbox->txdone_irq = false;
drivers/mailbox/mtk-adsp-mailbox.c
122
mbox->txdone_poll = true;
drivers/mailbox/mtk-adsp-mailbox.c
123
mbox->of_xlate = mtk_adsp_mbox_xlate;
drivers/mailbox/mtk-adsp-mailbox.c
124
mbox->num_chans = 1;
drivers/mailbox/mtk-adsp-mailbox.c
125
mbox->chans = devm_kzalloc(dev, sizeof(*mbox->chans), GFP_KERNEL);
drivers/mailbox/mtk-adsp-mailbox.c
126
if (!mbox->chans)
drivers/mailbox/mtk-adsp-mailbox.c
144
dev_name(dev), mbox->chans);
drivers/mailbox/mtk-adsp-mailbox.c
150
return devm_mbox_controller_register(dev, &priv->mbox);
drivers/mailbox/mtk-adsp-mailbox.c
19
struct mbox_controller mbox;
drivers/mailbox/mtk-adsp-mailbox.c
31
static inline struct mtk_adsp_mbox_priv *get_mtk_adsp_mbox_priv(struct mbox_controller *mbox)
drivers/mailbox/mtk-adsp-mailbox.c
33
return container_of(mbox, struct mtk_adsp_mbox_priv, mbox);
drivers/mailbox/mtk-adsp-mailbox.c
39
struct mtk_adsp_mbox_priv *priv = get_mtk_adsp_mbox_priv(chan->mbox);
drivers/mailbox/mtk-adsp-mailbox.c
56
static struct mbox_chan *mtk_adsp_mbox_xlate(struct mbox_controller *mbox,
drivers/mailbox/mtk-adsp-mailbox.c
59
return mbox->chans;
drivers/mailbox/mtk-adsp-mailbox.c
64
struct mtk_adsp_mbox_priv *priv = get_mtk_adsp_mbox_priv(chan->mbox);
drivers/mailbox/mtk-adsp-mailbox.c
75
struct mtk_adsp_mbox_priv *priv = get_mtk_adsp_mbox_priv(chan->mbox);
drivers/mailbox/mtk-adsp-mailbox.c
84
struct mtk_adsp_mbox_priv *priv = get_mtk_adsp_mbox_priv(chan->mbox);
drivers/mailbox/mtk-adsp-mailbox.c
94
struct mtk_adsp_mbox_priv *priv = get_mtk_adsp_mbox_priv(chan->mbox);
drivers/mailbox/mtk-cmdq-mailbox.c
119
struct cmdq *cmdq = container_of(chan->mbox, struct cmdq, mbox);
drivers/mailbox/mtk-cmdq-mailbox.c
128
struct cmdq *cmdq = container_of(chan->mbox, struct cmdq, mbox);
drivers/mailbox/mtk-cmdq-mailbox.c
198
dev_err(cmdq->mbox.dev, "suspend GCE thread 0x%x failed\n",
drivers/mailbox/mtk-cmdq-mailbox.c
234
dev_err(cmdq->mbox.dev, "reset GCE thread 0x%x failed\n",
drivers/mailbox/mtk-cmdq-mailbox.c
257
struct device *dev = task->cmdq->mbox.dev;
drivers/mailbox/mtk-cmdq-mailbox.c
296
dev_err(cmdq->mbox.dev, "task 0x%p error\n", task);
drivers/mailbox/mtk-cmdq-mailbox.c
377
pm_runtime_mark_last_busy(cmdq->mbox.dev);
drivers/mailbox/mtk-cmdq-mailbox.c
451
struct cmdq *cmdq = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/mtk-cmdq-mailbox.c
519
struct cmdq *cmdq = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/mtk-cmdq-mailbox.c
523
WARN_ON(pm_runtime_get_sync(cmdq->mbox.dev) < 0);
drivers/mailbox/mtk-cmdq-mailbox.c
553
pm_runtime_mark_last_busy(cmdq->mbox.dev);
drivers/mailbox/mtk-cmdq-mailbox.c
554
pm_runtime_put_autosuspend(cmdq->mbox.dev);
drivers/mailbox/mtk-cmdq-mailbox.c
561
struct cmdq *cmdq = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/mtk-cmdq-mailbox.c
567
ret = pm_runtime_get_sync(cmdq->mbox.dev);
drivers/mailbox/mtk-cmdq-mailbox.c
593
pm_runtime_mark_last_busy(cmdq->mbox.dev);
drivers/mailbox/mtk-cmdq-mailbox.c
594
pm_runtime_put_autosuspend(cmdq->mbox.dev);
drivers/mailbox/mtk-cmdq-mailbox.c
603
dev_err(cmdq->mbox.dev, "Fail to wait GCE thread 0x%x done\n",
drivers/mailbox/mtk-cmdq-mailbox.c
608
pm_runtime_mark_last_busy(cmdq->mbox.dev);
drivers/mailbox/mtk-cmdq-mailbox.c
609
pm_runtime_put_autosuspend(cmdq->mbox.dev);
drivers/mailbox/mtk-cmdq-mailbox.c
620
static struct mbox_chan *cmdq_xlate(struct mbox_controller *mbox,
drivers/mailbox/mtk-cmdq-mailbox.c
626
if (ind >= mbox->num_chans)
drivers/mailbox/mtk-cmdq-mailbox.c
629
thread = (struct cmdq_thread *)mbox->chans[ind].con_priv;
drivers/mailbox/mtk-cmdq-mailbox.c
631
thread->chan = &mbox->chans[ind];
drivers/mailbox/mtk-cmdq-mailbox.c
633
return &mbox->chans[ind];
drivers/mailbox/mtk-cmdq-mailbox.c
721
cmdq->mbox.dev = dev;
drivers/mailbox/mtk-cmdq-mailbox.c
722
cmdq->mbox.chans = devm_kcalloc(dev, cmdq->pdata->thread_nr,
drivers/mailbox/mtk-cmdq-mailbox.c
723
sizeof(*cmdq->mbox.chans), GFP_KERNEL);
drivers/mailbox/mtk-cmdq-mailbox.c
724
if (!cmdq->mbox.chans)
drivers/mailbox/mtk-cmdq-mailbox.c
727
cmdq->mbox.num_chans = cmdq->pdata->thread_nr;
drivers/mailbox/mtk-cmdq-mailbox.c
728
cmdq->mbox.ops = &cmdq_mbox_chan_ops;
drivers/mailbox/mtk-cmdq-mailbox.c
729
cmdq->mbox.of_xlate = cmdq_xlate;
drivers/mailbox/mtk-cmdq-mailbox.c
732
cmdq->mbox.txdone_irq = false;
drivers/mailbox/mtk-cmdq-mailbox.c
733
cmdq->mbox.txdone_poll = false;
drivers/mailbox/mtk-cmdq-mailbox.c
744
cmdq->mbox.chans[i].con_priv = (void *)&cmdq->thread[i];
drivers/mailbox/mtk-cmdq-mailbox.c
774
err = devm_mbox_controller_register(dev, &cmdq->mbox);
drivers/mailbox/mtk-cmdq-mailbox.c
85
struct mbox_controller mbox;
drivers/mailbox/mtk-gpueb-mailbox.c
119
mbox_chan_received_data(&ch->ebm->mbox.chans[ch->num], buf);
drivers/mailbox/mtk-gpueb-mailbox.c
248
ebm->mbox.chans = devm_kcalloc(ebm->dev, ebm->v->num_channels,
drivers/mailbox/mtk-gpueb-mailbox.c
250
if (!ebm->mbox.chans)
drivers/mailbox/mtk-gpueb-mailbox.c
268
spin_lock_init(&ebm->mbox.chans[i].lock);
drivers/mailbox/mtk-gpueb-mailbox.c
269
ebm->mbox.chans[i].con_priv = ch;
drivers/mailbox/mtk-gpueb-mailbox.c
273
ebm->mbox.dev = ebm->dev;
drivers/mailbox/mtk-gpueb-mailbox.c
274
ebm->mbox.num_chans = ebm->v->num_channels;
drivers/mailbox/mtk-gpueb-mailbox.c
275
ebm->mbox.txdone_poll = true;
drivers/mailbox/mtk-gpueb-mailbox.c
276
ebm->mbox.txpoll_period = 0; /* minimum hrtimer interval */
drivers/mailbox/mtk-gpueb-mailbox.c
277
ebm->mbox.ops = &mtk_gpueb_mbox_ops;
drivers/mailbox/mtk-gpueb-mailbox.c
281
return devm_mbox_controller_register(ebm->dev, &ebm->mbox);
drivers/mailbox/mtk-gpueb-mailbox.c
37
struct mbox_controller mbox;
drivers/mailbox/mtk-vcp-mailbox.c
102
struct mbox_controller *mbox;
drivers/mailbox/mtk-vcp-mailbox.c
111
mbox = &priv->mbox;
drivers/mailbox/mtk-vcp-mailbox.c
112
mbox->dev = dev;
drivers/mailbox/mtk-vcp-mailbox.c
113
mbox->ops = &mtk_vcp_mbox_chan_ops;
drivers/mailbox/mtk-vcp-mailbox.c
114
mbox->txdone_irq = false;
drivers/mailbox/mtk-vcp-mailbox.c
115
mbox->txdone_poll = true;
drivers/mailbox/mtk-vcp-mailbox.c
116
mbox->of_xlate = mtk_vcp_mbox_xlate;
drivers/mailbox/mtk-vcp-mailbox.c
117
mbox->num_chans = 1;
drivers/mailbox/mtk-vcp-mailbox.c
118
mbox->chans = &priv->chans;
drivers/mailbox/mtk-vcp-mailbox.c
145
return devm_mbox_controller_register(dev, &priv->mbox);
drivers/mailbox/mtk-vcp-mailbox.c
18
struct mbox_controller mbox;
drivers/mailbox/mtk-vcp-mailbox.c
49
static struct mbox_chan *mtk_vcp_mbox_xlate(struct mbox_controller *mbox,
drivers/mailbox/mtk-vcp-mailbox.c
55
return &mbox->chans[0];
drivers/mailbox/omap-mailbox.c
108
static u32 mbox_fifo_read(struct omap_mbox *mbox)
drivers/mailbox/omap-mailbox.c
110
struct omap_mbox_fifo *fifo = &mbox->rx_fifo;
drivers/mailbox/omap-mailbox.c
112
return mbox_read_reg(mbox->parent, fifo->msg);
drivers/mailbox/omap-mailbox.c
115
static void mbox_fifo_write(struct omap_mbox *mbox, u32 msg)
drivers/mailbox/omap-mailbox.c
117
struct omap_mbox_fifo *fifo = &mbox->tx_fifo;
drivers/mailbox/omap-mailbox.c
119
mbox_write_reg(mbox->parent, msg, fifo->msg);
drivers/mailbox/omap-mailbox.c
122
static int mbox_fifo_empty(struct omap_mbox *mbox)
drivers/mailbox/omap-mailbox.c
124
struct omap_mbox_fifo *fifo = &mbox->rx_fifo;
drivers/mailbox/omap-mailbox.c
126
return (mbox_read_reg(mbox->parent, fifo->msg_stat) == 0);
drivers/mailbox/omap-mailbox.c
129
static int mbox_fifo_full(struct omap_mbox *mbox)
drivers/mailbox/omap-mailbox.c
131
struct omap_mbox_fifo *fifo = &mbox->tx_fifo;
drivers/mailbox/omap-mailbox.c
133
return mbox_read_reg(mbox->parent, fifo->fifo_stat);
drivers/mailbox/omap-mailbox.c
137
static void ack_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
drivers/mailbox/omap-mailbox.c
140
&mbox->tx_fifo : &mbox->rx_fifo;
drivers/mailbox/omap-mailbox.c
144
mbox_write_reg(mbox->parent, bit, irqstatus);
drivers/mailbox/omap-mailbox.c
147
mbox_read_reg(mbox->parent, irqstatus);
drivers/mailbox/omap-mailbox.c
150
static int is_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
drivers/mailbox/omap-mailbox.c
153
&mbox->tx_fifo : &mbox->rx_fifo;
drivers/mailbox/omap-mailbox.c
158
u32 enable = mbox_read_reg(mbox->parent, irqenable);
drivers/mailbox/omap-mailbox.c
159
u32 status = mbox_read_reg(mbox->parent, irqstatus);
drivers/mailbox/omap-mailbox.c
164
static void omap_mbox_enable_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
drivers/mailbox/omap-mailbox.c
168
&mbox->tx_fifo : &mbox->rx_fifo;
drivers/mailbox/omap-mailbox.c
172
l = mbox_read_reg(mbox->parent, irqenable);
drivers/mailbox/omap-mailbox.c
174
mbox_write_reg(mbox->parent, l, irqenable);
drivers/mailbox/omap-mailbox.c
177
static void omap_mbox_disable_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
drivers/mailbox/omap-mailbox.c
180
&mbox->tx_fifo : &mbox->rx_fifo;
drivers/mailbox/omap-mailbox.c
188
if (!mbox->intr_type)
drivers/mailbox/omap-mailbox.c
189
bit = mbox_read_reg(mbox->parent, irqdisable) & ~bit;
drivers/mailbox/omap-mailbox.c
191
mbox_write_reg(mbox->parent, bit, irqdisable);
drivers/mailbox/omap-mailbox.c
197
static void __mbox_tx_interrupt(struct omap_mbox *mbox)
drivers/mailbox/omap-mailbox.c
199
omap_mbox_disable_irq(mbox, IRQ_TX);
drivers/mailbox/omap-mailbox.c
200
ack_mbox_irq(mbox, IRQ_TX);
drivers/mailbox/omap-mailbox.c
201
mbox_chan_txdone(mbox->chan, 0);
drivers/mailbox/omap-mailbox.c
204
static void __mbox_rx_interrupt(struct omap_mbox *mbox)
drivers/mailbox/omap-mailbox.c
208
while (!mbox_fifo_empty(mbox)) {
drivers/mailbox/omap-mailbox.c
209
msg = mbox_fifo_read(mbox);
drivers/mailbox/omap-mailbox.c
210
mbox_chan_received_data(mbox->chan, (void *)(uintptr_t)msg);
drivers/mailbox/omap-mailbox.c
214
ack_mbox_irq(mbox, IRQ_RX);
drivers/mailbox/omap-mailbox.c
219
struct omap_mbox *mbox = p;
drivers/mailbox/omap-mailbox.c
221
if (is_mbox_irq(mbox, IRQ_TX))
drivers/mailbox/omap-mailbox.c
222
__mbox_tx_interrupt(mbox);
drivers/mailbox/omap-mailbox.c
224
if (is_mbox_irq(mbox, IRQ_RX))
drivers/mailbox/omap-mailbox.c
225
__mbox_rx_interrupt(mbox);
drivers/mailbox/omap-mailbox.c
230
static int omap_mbox_startup(struct omap_mbox *mbox)
drivers/mailbox/omap-mailbox.c
234
ret = request_threaded_irq(mbox->irq, NULL, mbox_interrupt,
drivers/mailbox/omap-mailbox.c
235
IRQF_SHARED | IRQF_ONESHOT, mbox->name,
drivers/mailbox/omap-mailbox.c
236
mbox);
drivers/mailbox/omap-mailbox.c
242
if (mbox->send_no_irq)
drivers/mailbox/omap-mailbox.c
243
mbox->chan->txdone_method = TXDONE_BY_ACK;
drivers/mailbox/omap-mailbox.c
245
omap_mbox_enable_irq(mbox, IRQ_RX);
drivers/mailbox/omap-mailbox.c
250
static void omap_mbox_fini(struct omap_mbox *mbox)
drivers/mailbox/omap-mailbox.c
252
omap_mbox_disable_irq(mbox, IRQ_RX);
drivers/mailbox/omap-mailbox.c
253
free_irq(mbox->irq, mbox);
drivers/mailbox/omap-mailbox.c
258
struct omap_mbox *mbox = chan->con_priv;
drivers/mailbox/omap-mailbox.c
259
struct omap_mbox_device *mdev = mbox->parent;
drivers/mailbox/omap-mailbox.c
264
ret = omap_mbox_startup(mbox);
drivers/mailbox/omap-mailbox.c
273
struct omap_mbox *mbox = chan->con_priv;
drivers/mailbox/omap-mailbox.c
274
struct omap_mbox_device *mdev = mbox->parent;
drivers/mailbox/omap-mailbox.c
277
omap_mbox_fini(mbox);
drivers/mailbox/omap-mailbox.c
282
static int omap_mbox_chan_send_noirq(struct omap_mbox *mbox, u32 msg)
drivers/mailbox/omap-mailbox.c
284
if (mbox_fifo_full(mbox))
drivers/mailbox/omap-mailbox.c
287
omap_mbox_enable_irq(mbox, IRQ_RX);
drivers/mailbox/omap-mailbox.c
288
mbox_fifo_write(mbox, msg);
drivers/mailbox/omap-mailbox.c
289
omap_mbox_disable_irq(mbox, IRQ_RX);
drivers/mailbox/omap-mailbox.c
292
mbox_fifo_read(mbox);
drivers/mailbox/omap-mailbox.c
293
ack_mbox_irq(mbox, IRQ_RX);
drivers/mailbox/omap-mailbox.c
298
static int omap_mbox_chan_send(struct omap_mbox *mbox, u32 msg)
drivers/mailbox/omap-mailbox.c
300
if (mbox_fifo_full(mbox)) {
drivers/mailbox/omap-mailbox.c
302
omap_mbox_enable_irq(mbox, IRQ_TX);
drivers/mailbox/omap-mailbox.c
306
mbox_fifo_write(mbox, msg);
drivers/mailbox/omap-mailbox.c
309
omap_mbox_enable_irq(mbox, IRQ_TX);
drivers/mailbox/omap-mailbox.c
315
struct omap_mbox *mbox = chan->con_priv;
drivers/mailbox/omap-mailbox.c
319
if (!mbox)
drivers/mailbox/omap-mailbox.c
322
if (mbox->send_no_irq)
drivers/mailbox/omap-mailbox.c
323
ret = omap_mbox_chan_send_noirq(mbox, msg);
drivers/mailbox/omap-mailbox.c
325
ret = omap_mbox_chan_send(mbox, msg);
drivers/mailbox/omap-mailbox.c
421
struct omap_mbox *mbox;
drivers/mailbox/omap-mailbox.c
436
mbox = controller->chans[i].con_priv;
drivers/mailbox/omap-mailbox.c
437
if (!strcmp(mbox->name, node->name)) {
drivers/mailbox/omap-mailbox.c
451
struct omap_mbox *mbox;
drivers/mailbox/omap-mailbox.c
509
mbox = devm_kzalloc(&pdev->dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/omap-mailbox.c
510
if (!mbox)
drivers/mailbox/omap-mailbox.c
534
fifo = &mbox->tx_fifo;
drivers/mailbox/omap-mailbox.c
542
fifo = &mbox->rx_fifo;
drivers/mailbox/omap-mailbox.c
550
mbox->send_no_irq = of_property_read_bool(child, "ti,mbox-send-noirq");
drivers/mailbox/omap-mailbox.c
551
mbox->intr_type = intr_type;
drivers/mailbox/omap-mailbox.c
553
mbox->parent = mdev;
drivers/mailbox/omap-mailbox.c
554
mbox->name = child->name;
drivers/mailbox/omap-mailbox.c
555
mbox->irq = platform_get_irq(pdev, tx_irq);
drivers/mailbox/omap-mailbox.c
556
if (mbox->irq < 0)
drivers/mailbox/omap-mailbox.c
557
return mbox->irq;
drivers/mailbox/omap-mailbox.c
558
mbox->chan = &chnls[i];
drivers/mailbox/omap-mailbox.c
559
chnls[i].con_priv = mbox;
drivers/mailbox/pcc.c
479
rc = devm_request_irq(chan->mbox->dev, pchan->plat_irq, pcc_mbox_irq,
drivers/mailbox/pcc.c
482
dev_err(chan->mbox->dev, "failed to register PCC interrupt %d\n",
drivers/mailbox/pcc.c
501
devm_free_irq(chan->mbox->dev, pchan->plat_irq, chan);
drivers/mailbox/pl320-ipc.c
48
static void __ipc_send(int mbox, u32 *data)
drivers/mailbox/pl320-ipc.c
52
writel_relaxed(data[i], ipc_base + IPCMxDR(mbox, i));
drivers/mailbox/pl320-ipc.c
53
writel_relaxed(0x1, ipc_base + IPCMxSEND(mbox));
drivers/mailbox/pl320-ipc.c
56
static u32 __ipc_rcv(int mbox, u32 *data)
drivers/mailbox/pl320-ipc.c
60
data[i] = readl_relaxed(ipc_base + IPCMxDR(mbox, i));
drivers/mailbox/platform_mhu.c
145
mhu->mbox.dev = dev;
drivers/mailbox/platform_mhu.c
146
mhu->mbox.chans = &mhu->chan[0];
drivers/mailbox/platform_mhu.c
147
mhu->mbox.num_chans = MHU_CHANS;
drivers/mailbox/platform_mhu.c
148
mhu->mbox.ops = &platform_mhu_ops;
drivers/mailbox/platform_mhu.c
149
mhu->mbox.txdone_irq = false;
drivers/mailbox/platform_mhu.c
150
mhu->mbox.txdone_poll = true;
drivers/mailbox/platform_mhu.c
151
mhu->mbox.txpoll_period = 1;
drivers/mailbox/platform_mhu.c
155
err = devm_mbox_controller_register(dev, &mhu->mbox);
drivers/mailbox/platform_mhu.c
44
struct mbox_controller mbox;
drivers/mailbox/platform_mhu.c
94
dev_err(chan->mbox->dev,
drivers/mailbox/qcom-apcs-ipc-mailbox.c
106
apcs->mbox.dev = &pdev->dev;
drivers/mailbox/qcom-apcs-ipc-mailbox.c
107
apcs->mbox.ops = &qcom_apcs_ipc_ops;
drivers/mailbox/qcom-apcs-ipc-mailbox.c
108
apcs->mbox.chans = apcs->mbox_chans;
drivers/mailbox/qcom-apcs-ipc-mailbox.c
109
apcs->mbox.num_chans = ARRAY_SIZE(apcs->mbox_chans);
drivers/mailbox/qcom-apcs-ipc-mailbox.c
111
ret = devm_mbox_controller_register(&pdev->dev, &apcs->mbox);
drivers/mailbox/qcom-apcs-ipc-mailbox.c
19
struct mbox_controller mbox;
drivers/mailbox/qcom-apcs-ipc-mailbox.c
65
struct qcom_apcs_ipc *apcs = container_of(chan->mbox,
drivers/mailbox/qcom-apcs-ipc-mailbox.c
66
struct qcom_apcs_ipc, mbox);
drivers/mailbox/qcom-cpucp-mbox.c
117
struct mbox_controller *mbox;
drivers/mailbox/qcom-cpucp-mbox.c
147
mbox = &cpucp->mbox;
drivers/mailbox/qcom-cpucp-mbox.c
148
mbox->dev = dev;
drivers/mailbox/qcom-cpucp-mbox.c
149
mbox->num_chans = APSS_CPUCP_IPC_CHAN_SUPPORTED;
drivers/mailbox/qcom-cpucp-mbox.c
150
mbox->chans = cpucp->chans;
drivers/mailbox/qcom-cpucp-mbox.c
151
mbox->ops = &qcom_cpucp_mbox_chan_ops;
drivers/mailbox/qcom-cpucp-mbox.c
153
ret = devm_mbox_controller_register(dev, mbox);
drivers/mailbox/qcom-cpucp-mbox.c
38
struct mbox_controller mbox;
drivers/mailbox/qcom-cpucp-mbox.c
45
return chan - chan->mbox->chans;
drivers/mailbox/qcom-cpucp-mbox.c
74
struct qcom_cpucp_mbox *cpucp = container_of(chan->mbox, struct qcom_cpucp_mbox, mbox);
drivers/mailbox/qcom-cpucp-mbox.c
87
struct qcom_cpucp_mbox *cpucp = container_of(chan->mbox, struct qcom_cpucp_mbox, mbox);
drivers/mailbox/qcom-cpucp-mbox.c
98
struct qcom_cpucp_mbox *cpucp = container_of(chan->mbox, struct qcom_cpucp_mbox, mbox);
drivers/mailbox/qcom-ipcc.c
150
struct qcom_ipcc *ipcc = to_qcom_ipcc(chan->mbox);
drivers/mailbox/qcom-ipcc.c
165
static struct mbox_chan *qcom_ipcc_mbox_xlate(struct mbox_controller *mbox,
drivers/mailbox/qcom-ipcc.c
168
struct qcom_ipcc *ipcc = to_qcom_ipcc(mbox);
drivers/mailbox/qcom-ipcc.c
179
for (chan_id = 0; chan_id < mbox->num_chans; chan_id++) {
drivers/mailbox/qcom-ipcc.c
190
if (chan_id >= mbox->num_chans)
drivers/mailbox/qcom-ipcc.c
214
struct mbox_controller *mbox;
drivers/mailbox/qcom-ipcc.c
246
mbox = &ipcc->mbox;
drivers/mailbox/qcom-ipcc.c
247
mbox->dev = dev;
drivers/mailbox/qcom-ipcc.c
248
mbox->num_chans = ipcc->num_chans;
drivers/mailbox/qcom-ipcc.c
249
mbox->chans = ipcc->chans;
drivers/mailbox/qcom-ipcc.c
250
mbox->ops = &ipcc_mbox_chan_ops;
drivers/mailbox/qcom-ipcc.c
251
mbox->of_xlate = qcom_ipcc_mbox_xlate;
drivers/mailbox/qcom-ipcc.c
252
mbox->txdone_irq = false;
drivers/mailbox/qcom-ipcc.c
253
mbox->txdone_poll = false;
drivers/mailbox/qcom-ipcc.c
255
return devm_mbox_controller_register(dev, mbox);
drivers/mailbox/qcom-ipcc.c
337
mbox_controller_unregister(&ipcc->mbox);
drivers/mailbox/qcom-ipcc.c
58
struct mbox_controller mbox;
drivers/mailbox/qcom-ipcc.c
63
static inline struct qcom_ipcc *to_qcom_ipcc(struct mbox_controller *mbox)
drivers/mailbox/qcom-ipcc.c
65
return container_of(mbox, struct qcom_ipcc, mbox);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
376
struct mpxy_mbox *mbox;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
553
struct device *dev = mchan->mbox->dev;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
591
struct device *dev = mchan->mbox->dev;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
617
struct device *dev = mchan->mbox->dev;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
644
struct device *dev = mchan->mbox->dev;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
719
struct mpxy_mbox *mbox = dev_get_drvdata(dev);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
724
mchan = mbox->msi_index_to_channel[desc->msi_index];
drivers/mailbox/riscv-sbi-mpxy-mbox.c
747
struct mpxy_mbox *mbox = container_of(ctlr, struct mpxy_mbox, controller);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
754
for (i = 0; i < mbox->channel_count; i++) {
drivers/mailbox/riscv-sbi-mpxy-mbox.c
755
mchan = &mbox->channels[i];
drivers/mailbox/riscv-sbi-mpxy-mbox.c
758
return &mbox->controller.chans[i];
drivers/mailbox/riscv-sbi-mpxy-mbox.c
764
static int mpxy_mbox_populate_channels(struct mpxy_mbox *mbox)
drivers/mailbox/riscv-sbi-mpxy-mbox.c
771
rc = mpxy_get_channel_count(&mbox->channel_count);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
773
return dev_err_probe(mbox->dev, rc, "failed to get number of MPXY channels\n");
drivers/mailbox/riscv-sbi-mpxy-mbox.c
774
if (!mbox->channel_count)
drivers/mailbox/riscv-sbi-mpxy-mbox.c
775
return dev_err_probe(mbox->dev, -ENODEV, "no MPXY channels available\n");
drivers/mailbox/riscv-sbi-mpxy-mbox.c
778
channel_ids = kcalloc(mbox->channel_count, sizeof(*channel_ids), GFP_KERNEL);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
781
rc = mpxy_get_channel_ids(mbox->channel_count, channel_ids);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
783
return dev_err_probe(mbox->dev, rc, "failed to get MPXY channel IDs\n");
drivers/mailbox/riscv-sbi-mpxy-mbox.c
786
mbox->channels = devm_kcalloc(mbox->dev, mbox->channel_count,
drivers/mailbox/riscv-sbi-mpxy-mbox.c
787
sizeof(*mbox->channels), GFP_KERNEL);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
788
if (!mbox->channels)
drivers/mailbox/riscv-sbi-mpxy-mbox.c
790
for (i = 0; i < mbox->channel_count; i++) {
drivers/mailbox/riscv-sbi-mpxy-mbox.c
791
mchan = &mbox->channels[i];
drivers/mailbox/riscv-sbi-mpxy-mbox.c
792
mchan->mbox = mbox;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
799
return dev_err_probe(mbox->dev, rc,
drivers/mailbox/riscv-sbi-mpxy-mbox.c
807
return dev_err_probe(mbox->dev, rc,
drivers/mailbox/riscv-sbi-mpxy-mbox.c
813
mchan->notif = devm_kzalloc(mbox->dev, mpxy_shmem_size, GFP_KERNEL);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
825
mchan->msi_index = mbox->msi_count++;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
838
struct mpxy_mbox *mbox;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
877
mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
878
if (!mbox)
drivers/mailbox/riscv-sbi-mpxy-mbox.c
880
mbox->dev = dev;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
881
platform_set_drvdata(pdev, mbox);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
884
rc = mpxy_mbox_populate_channels(mbox);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
889
mbox->controller.txdone_irq = false;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
890
mbox->controller.txdone_poll = false;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
891
mbox->controller.ops = &mpxy_mbox_ops;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
892
mbox->controller.dev = dev;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
893
mbox->controller.num_chans = mbox->channel_count;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
894
mbox->controller.fw_xlate = mpxy_mbox_fw_xlate;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
895
mbox->controller.chans = devm_kcalloc(dev, mbox->channel_count,
drivers/mailbox/riscv-sbi-mpxy-mbox.c
896
sizeof(*mbox->controller.chans),
drivers/mailbox/riscv-sbi-mpxy-mbox.c
898
if (!mbox->controller.chans)
drivers/mailbox/riscv-sbi-mpxy-mbox.c
900
for (i = 0; i < mbox->channel_count; i++)
drivers/mailbox/riscv-sbi-mpxy-mbox.c
901
mbox->controller.chans[i].con_priv = &mbox->channels[i];
drivers/mailbox/riscv-sbi-mpxy-mbox.c
904
if (mbox->msi_count) {
drivers/mailbox/riscv-sbi-mpxy-mbox.c
934
mbox->msi_index_to_channel = devm_kcalloc(dev, mbox->msi_count,
drivers/mailbox/riscv-sbi-mpxy-mbox.c
935
sizeof(*mbox->msi_index_to_channel),
drivers/mailbox/riscv-sbi-mpxy-mbox.c
937
if (!mbox->msi_index_to_channel)
drivers/mailbox/riscv-sbi-mpxy-mbox.c
940
for (msi_idx = 0; msi_idx < mbox->msi_count; msi_idx++) {
drivers/mailbox/riscv-sbi-mpxy-mbox.c
941
for (i = 0; i < mbox->channel_count; i++) {
drivers/mailbox/riscv-sbi-mpxy-mbox.c
942
mchan = &mbox->channels[i];
drivers/mailbox/riscv-sbi-mpxy-mbox.c
944
mbox->msi_index_to_channel[msi_idx] = mchan;
drivers/mailbox/riscv-sbi-mpxy-mbox.c
950
rc = platform_device_msi_init_and_alloc_irqs(dev, mbox->msi_count,
drivers/mailbox/riscv-sbi-mpxy-mbox.c
954
mbox->msi_count);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
957
for (i = 0; i < mbox->channel_count; i++) {
drivers/mailbox/riscv-sbi-mpxy-mbox.c
958
mchan = &mbox->channels[i];
drivers/mailbox/riscv-sbi-mpxy-mbox.c
966
rc = devm_mbox_controller_register(dev, &mbox->controller);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
969
if (mbox->msi_count)
drivers/mailbox/riscv-sbi-mpxy-mbox.c
982
mbox->channel_count);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
988
struct mpxy_mbox *mbox = platform_get_drvdata(pdev);
drivers/mailbox/riscv-sbi-mpxy-mbox.c
990
if (mbox->msi_count)
drivers/mailbox/riscv-sbi-mpxy-mbox.c
991
platform_device_msi_free_irqs_all(mbox->dev);
drivers/mailbox/rockchip-mailbox.c
113
for (idx = 0; idx < mb->mbox.num_chans; idx++) {
drivers/mailbox/rockchip-mailbox.c
131
for (idx = 0; idx < mb->mbox.num_chans; idx++) {
drivers/mailbox/rockchip-mailbox.c
137
dev_err(mb->mbox.dev,
drivers/mailbox/rockchip-mailbox.c
142
mbox_chan_received_data(&mb->mbox.chans[idx], msg);
drivers/mailbox/rockchip-mailbox.c
145
dev_dbg(mb->mbox.dev, "Chan[%d]: B2A message, cmd 0x%08x\n",
drivers/mailbox/rockchip-mailbox.c
185
mb->mbox.chans = devm_kcalloc(&pdev->dev, drv_data->num_chans,
drivers/mailbox/rockchip-mailbox.c
186
sizeof(*mb->mbox.chans), GFP_KERNEL);
drivers/mailbox/rockchip-mailbox.c
187
if (!mb->mbox.chans)
drivers/mailbox/rockchip-mailbox.c
192
mb->mbox.dev = &pdev->dev;
drivers/mailbox/rockchip-mailbox.c
193
mb->mbox.num_chans = drv_data->num_chans;
drivers/mailbox/rockchip-mailbox.c
194
mb->mbox.ops = &rockchip_mbox_chan_ops;
drivers/mailbox/rockchip-mailbox.c
195
mb->mbox.txdone_irq = true;
drivers/mailbox/rockchip-mailbox.c
218
for (i = 0; i < mb->mbox.num_chans; i++) {
drivers/mailbox/rockchip-mailbox.c
236
ret = devm_mbox_controller_register(&pdev->dev, &mb->mbox);
drivers/mailbox/rockchip-mailbox.c
42
struct mbox_controller mbox;
drivers/mailbox/rockchip-mailbox.c
54
struct rockchip_mbox *mb = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/rockchip-mailbox.c
62
dev_err(mb->mbox.dev, "Transmit size over buf size(%d)\n",
drivers/mailbox/rockchip-mailbox.c
67
dev_dbg(mb->mbox.dev, "Chan[%d]: A2B message, cmd 0x%08x\n",
drivers/mailbox/rockchip-mailbox.c
81
struct rockchip_mbox *mb = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/rockchip-mailbox.c
84
writel_relaxed((1 << mb->mbox.num_chans) - 1,
drivers/mailbox/rockchip-mailbox.c
92
struct rockchip_mbox *mb = dev_get_drvdata(chan->mbox->dev);
drivers/mailbox/sprd-mailbox.c
236
struct sprd_mbox_priv *priv = to_sprd_mbox_priv(chan->mbox);
drivers/mailbox/sprd-mailbox.c
255
struct sprd_mbox_priv *priv = to_sprd_mbox_priv(chan->mbox);
drivers/mailbox/sprd-mailbox.c
277
struct sprd_mbox_priv *priv = to_sprd_mbox_priv(chan->mbox);
drivers/mailbox/sprd-mailbox.c
308
struct sprd_mbox_priv *priv = to_sprd_mbox_priv(chan->mbox);
drivers/mailbox/sprd-mailbox.c
417
priv->mbox.dev = dev;
drivers/mailbox/sprd-mailbox.c
418
priv->mbox.chans = &priv->chan[0];
drivers/mailbox/sprd-mailbox.c
419
priv->mbox.ops = &sprd_mbox_ops;
drivers/mailbox/sprd-mailbox.c
420
priv->mbox.txdone_irq = true;
drivers/mailbox/sprd-mailbox.c
423
priv->mbox.num_chans = SPRD_MBOX_R2_CHAN_MAX;
drivers/mailbox/sprd-mailbox.c
425
priv->mbox.num_chans = SPRD_MBOX_R1_CHAN_MAX;
drivers/mailbox/sprd-mailbox.c
427
for (id = 0; id < priv->mbox.num_chans; id++)
drivers/mailbox/sprd-mailbox.c
430
ret = devm_mbox_controller_register(dev, &priv->mbox);
drivers/mailbox/sprd-mailbox.c
80
struct mbox_controller mbox;
drivers/mailbox/sprd-mailbox.c
95
static struct sprd_mbox_priv *to_sprd_mbox_priv(struct mbox_controller *mbox)
drivers/mailbox/sprd-mailbox.c
97
return container_of(mbox, struct sprd_mbox_priv, mbox);
drivers/mailbox/stm32-ipcc.c
149
struct stm32_ipcc *ipcc = container_of(link->mbox, struct stm32_ipcc,
drivers/mailbox/stm32-ipcc.c
168
struct stm32_ipcc *ipcc = container_of(link->mbox, struct stm32_ipcc,
drivers/mailbox/stm32-ipcc.c
188
struct stm32_ipcc *ipcc = container_of(link->mbox, struct stm32_ipcc,
drivers/mailbox/sun6i-msgbox.c
101
struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan);
drivers/mailbox/sun6i-msgbox.c
106
if (WARN_ON_ONCE(!(readl(mbox->regs + CTRL_REG(n)) & CTRL_TX(n))))
drivers/mailbox/sun6i-msgbox.c
109
writel(msg, mbox->regs + MSG_DATA_REG(n));
drivers/mailbox/sun6i-msgbox.c
110
mbox_dbg(mbox, "Channel %d sent 0x%08x\n", n, msg);
drivers/mailbox/sun6i-msgbox.c
117
struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan);
drivers/mailbox/sun6i-msgbox.c
121
if (readl(mbox->regs + CTRL_REG(n)) & CTRL_RX(n)) {
drivers/mailbox/sun6i-msgbox.c
124
readl(mbox->regs + MSG_DATA_REG(n));
drivers/mailbox/sun6i-msgbox.c
125
writel(RX_IRQ(n), mbox->regs + LOCAL_IRQ_STAT_REG);
drivers/mailbox/sun6i-msgbox.c
128
spin_lock(&mbox->lock);
drivers/mailbox/sun6i-msgbox.c
129
writel(readl(mbox->regs + LOCAL_IRQ_EN_REG) | RX_IRQ(n),
drivers/mailbox/sun6i-msgbox.c
130
mbox->regs + LOCAL_IRQ_EN_REG);
drivers/mailbox/sun6i-msgbox.c
131
spin_unlock(&mbox->lock);
drivers/mailbox/sun6i-msgbox.c
134
mbox_dbg(mbox, "Channel %d startup complete\n", n);
drivers/mailbox/sun6i-msgbox.c
141
struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan);
drivers/mailbox/sun6i-msgbox.c
144
if (readl(mbox->regs + CTRL_REG(n)) & CTRL_RX(n)) {
drivers/mailbox/sun6i-msgbox.c
146
spin_lock(&mbox->lock);
drivers/mailbox/sun6i-msgbox.c
147
writel(readl(mbox->regs + LOCAL_IRQ_EN_REG) & ~RX_IRQ(n),
drivers/mailbox/sun6i-msgbox.c
148
mbox->regs + LOCAL_IRQ_EN_REG);
drivers/mailbox/sun6i-msgbox.c
149
spin_unlock(&mbox->lock);
drivers/mailbox/sun6i-msgbox.c
154
readl(mbox->regs + MSG_DATA_REG(n));
drivers/mailbox/sun6i-msgbox.c
155
writel(RX_IRQ(n), mbox->regs + LOCAL_IRQ_STAT_REG);
drivers/mailbox/sun6i-msgbox.c
156
} while (readl(mbox->regs + LOCAL_IRQ_STAT_REG) & RX_IRQ(n));
drivers/mailbox/sun6i-msgbox.c
159
mbox_dbg(mbox, "Channel %d shutdown complete\n", n);
drivers/mailbox/sun6i-msgbox.c
164
struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan);
drivers/mailbox/sun6i-msgbox.c
176
return !(readl(mbox->regs + REMOTE_IRQ_STAT_REG) & RX_IRQ(n));
drivers/mailbox/sun6i-msgbox.c
181
struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan);
drivers/mailbox/sun6i-msgbox.c
184
return readl(mbox->regs + MSG_STAT_REG(n)) & MSG_STAT_MASK;
drivers/mailbox/sun6i-msgbox.c
200
struct sun6i_msgbox *mbox;
drivers/mailbox/sun6i-msgbox.c
203
mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL);
drivers/mailbox/sun6i-msgbox.c
204
if (!mbox)
drivers/mailbox/sun6i-msgbox.c
212
chans[i].con_priv = mbox;
drivers/mailbox/sun6i-msgbox.c
214
mbox->clk = devm_clk_get(dev, NULL);
drivers/mailbox/sun6i-msgbox.c
215
if (IS_ERR(mbox->clk)) {
drivers/mailbox/sun6i-msgbox.c
216
ret = PTR_ERR(mbox->clk);
drivers/mailbox/sun6i-msgbox.c
221
ret = clk_prepare_enable(mbox->clk);
drivers/mailbox/sun6i-msgbox.c
248
mbox->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/mailbox/sun6i-msgbox.c
249
if (IS_ERR(mbox->regs)) {
drivers/mailbox/sun6i-msgbox.c
250
ret = PTR_ERR(mbox->regs);
drivers/mailbox/sun6i-msgbox.c
256
writel(0, mbox->regs + LOCAL_IRQ_EN_REG);
drivers/mailbox/sun6i-msgbox.c
259
sun6i_msgbox_irq, 0, dev_name(dev), mbox);
drivers/mailbox/sun6i-msgbox.c
265
mbox->controller.dev = dev;
drivers/mailbox/sun6i-msgbox.c
266
mbox->controller.ops = &sun6i_msgbox_chan_ops;
drivers/mailbox/sun6i-msgbox.c
267
mbox->controller.chans = chans;
drivers/mailbox/sun6i-msgbox.c
268
mbox->controller.num_chans = NUM_CHANS;
drivers/mailbox/sun6i-msgbox.c
269
mbox->controller.txdone_irq = false;
drivers/mailbox/sun6i-msgbox.c
270
mbox->controller.txdone_poll = true;
drivers/mailbox/sun6i-msgbox.c
271
mbox->controller.txpoll_period = 5;
drivers/mailbox/sun6i-msgbox.c
273
spin_lock_init(&mbox->lock);
drivers/mailbox/sun6i-msgbox.c
274
platform_set_drvdata(pdev, mbox);
drivers/mailbox/sun6i-msgbox.c
276
ret = mbox_controller_register(&mbox->controller);
drivers/mailbox/sun6i-msgbox.c
285
clk_disable_unprepare(mbox->clk);
drivers/mailbox/sun6i-msgbox.c
292
struct sun6i_msgbox *mbox = platform_get_drvdata(pdev);
drivers/mailbox/sun6i-msgbox.c
294
mbox_controller_unregister(&mbox->controller);
drivers/mailbox/sun6i-msgbox.c
296
clk_disable_unprepare(mbox->clk);
drivers/mailbox/sun6i-msgbox.c
44
#define mbox_dbg(mbox, ...) dev_dbg((mbox)->controller.dev, __VA_ARGS__)
drivers/mailbox/sun6i-msgbox.c
58
return chan - chan->mbox->chans;
drivers/mailbox/sun6i-msgbox.c
68
struct sun6i_msgbox *mbox = dev_id;
drivers/mailbox/sun6i-msgbox.c
73
status = readl(mbox->regs + LOCAL_IRQ_EN_REG) &
drivers/mailbox/sun6i-msgbox.c
74
readl(mbox->regs + LOCAL_IRQ_STAT_REG);
drivers/mailbox/sun6i-msgbox.c
80
struct mbox_chan *chan = &mbox->controller.chans[n];
drivers/mailbox/sun6i-msgbox.c
86
uint32_t msg = readl(mbox->regs + MSG_DATA_REG(n));
drivers/mailbox/sun6i-msgbox.c
88
mbox_dbg(mbox, "Channel %d received 0x%08x\n", n, msg);
drivers/mailbox/sun6i-msgbox.c
93
writel(RX_IRQ(n), mbox->regs + LOCAL_IRQ_STAT_REG);
drivers/mailbox/tegra-hsp.c
323
if (db->master >= chan->mbox->num_chans) {
drivers/mailbox/tegra-hsp.c
324
dev_err(chan->mbox->dev,
drivers/mailbox/tegra-hsp.c
590
static struct mbox_chan *tegra_hsp_db_xlate(struct mbox_controller *mbox,
drivers/mailbox/tegra-hsp.c
593
struct tegra_hsp *hsp = container_of(mbox, struct tegra_hsp, mbox_db);
drivers/mailbox/tegra-hsp.c
613
for (i = 0; i < mbox->num_chans; i++) {
drivers/mailbox/tegra-hsp.c
614
chan = &mbox->chans[i];
drivers/mailbox/tegra-hsp.c
629
static struct mbox_chan *tegra_hsp_sm_xlate(struct mbox_controller *mbox,
drivers/mailbox/tegra-hsp.c
632
struct tegra_hsp *hsp = container_of(mbox, struct tegra_hsp, mbox_sm);
drivers/mailbox/ti-msgmgr.c
143
struct mbox_controller mbox;
drivers/mailbox/ti-msgmgr.c
245
struct device *dev = chan->mbox->dev;
drivers/mailbox/ti-msgmgr.c
275
struct device *dev = chan->mbox->dev;
drivers/mailbox/ti-msgmgr.c
321
struct device *dev = chan->mbox->dev;
drivers/mailbox/ti-msgmgr.c
348
struct device *dev = chan->mbox->dev;
drivers/mailbox/ti-msgmgr.c
392
struct device *dev = chan->mbox->dev;
drivers/mailbox/ti-msgmgr.c
511
struct device *dev = chan->mbox->dev;
drivers/mailbox/ti-msgmgr.c
573
static struct mbox_chan *ti_msgmgr_of_xlate(struct mbox_controller *mbox,
drivers/mailbox/ti-msgmgr.c
582
inst = container_of(mbox, struct ti_msgmgr_inst, mbox);
drivers/mailbox/ti-msgmgr.c
817
struct mbox_controller *mbox;
drivers/mailbox/ti-msgmgr.c
900
mbox = &inst->mbox;
drivers/mailbox/ti-msgmgr.c
901
mbox->dev = dev;
drivers/mailbox/ti-msgmgr.c
902
mbox->ops = &ti_msgmgr_chan_ops;
drivers/mailbox/ti-msgmgr.c
903
mbox->chans = inst->chans;
drivers/mailbox/ti-msgmgr.c
904
mbox->num_chans = inst->num_valid_queues;
drivers/mailbox/ti-msgmgr.c
905
mbox->txdone_irq = false;
drivers/mailbox/ti-msgmgr.c
906
mbox->txdone_poll = desc->tx_polled;
drivers/mailbox/ti-msgmgr.c
908
mbox->txpoll_period = desc->tx_poll_timeout_ms;
drivers/mailbox/ti-msgmgr.c
909
mbox->of_xlate = ti_msgmgr_of_xlate;
drivers/mailbox/ti-msgmgr.c
912
ret = devm_mbox_controller_register(dev, mbox);
drivers/mailbox/zynqmp-ipi-mailbox.c
114
struct mbox_controller mbox;
drivers/mailbox/zynqmp-ipi-mailbox.c
192
chan = &ipi_mbox->mbox.chans[IPI_MB_CHNL_RX];
drivers/mailbox/zynqmp-ipi-mailbox.c
228
struct device *dev = chan->mbox->dev;
drivers/mailbox/zynqmp-ipi-mailbox.c
268
struct device *dev = chan->mbox->dev;
drivers/mailbox/zynqmp-ipi-mailbox.c
306
struct device *dev = chan->mbox->dev;
drivers/mailbox/zynqmp-ipi-mailbox.c
357
struct device *dev = chan->mbox->dev;
drivers/mailbox/zynqmp-ipi-mailbox.c
399
struct device *dev = chan->mbox->dev;
drivers/mailbox/zynqmp-ipi-mailbox.c
442
static struct mbox_chan *zynqmp_ipi_of_xlate(struct mbox_controller *mbox,
drivers/mailbox/zynqmp-ipi-mailbox.c
446
struct device *dev = mbox->dev;
drivers/mailbox/zynqmp-ipi-mailbox.c
456
chan = &mbox->chans[chan_type];
drivers/mailbox/zynqmp-ipi-mailbox.c
510
struct mbox_controller *mbox;
drivers/mailbox/zynqmp-ipi-mailbox.c
544
mbox = &ipi_mbox->mbox;
drivers/mailbox/zynqmp-ipi-mailbox.c
545
mbox->dev = mdev;
drivers/mailbox/zynqmp-ipi-mailbox.c
546
mbox->ops = &zynqmp_ipi_chan_ops;
drivers/mailbox/zynqmp-ipi-mailbox.c
547
mbox->num_chans = 2;
drivers/mailbox/zynqmp-ipi-mailbox.c
548
mbox->txdone_irq = false;
drivers/mailbox/zynqmp-ipi-mailbox.c
549
mbox->txdone_poll = true;
drivers/mailbox/zynqmp-ipi-mailbox.c
550
mbox->txpoll_period = tx_poll_period;
drivers/mailbox/zynqmp-ipi-mailbox.c
551
mbox->of_xlate = zynqmp_ipi_of_xlate;
drivers/mailbox/zynqmp-ipi-mailbox.c
555
mbox->chans = chans;
drivers/mailbox/zynqmp-ipi-mailbox.c
560
ret = devm_mbox_controller_register(mdev, mbox);
drivers/mailbox/zynqmp-ipi-mailbox.c
910
struct zynqmp_ipi_mbox *mbox;
drivers/mailbox/zynqmp-ipi-mailbox.c
942
mbox = pdata->ipi_mboxes;
drivers/mailbox/zynqmp-ipi-mailbox.c
944
mbox->pdata = pdata;
drivers/mailbox/zynqmp-ipi-mailbox.c
945
mbox->setup_ipi_fn = ipi_fn;
drivers/mailbox/zynqmp-ipi-mailbox.c
947
ret = zynqmp_ipi_mbox_probe(mbox, nc);
drivers/mailbox/zynqmp-ipi-mailbox.c
953
mbox++;
drivers/media/pci/ivtv/ivtv-driver.h
200
volatile struct ivtv_mailbox __iomem *mbox;
drivers/media/pci/ivtv/ivtv-firmware.c
206
itv->enc_mbox.mbox = ivtv_search_mailbox(itv->enc_mem, IVTV_ENCODER_SIZE);
drivers/media/pci/ivtv/ivtv-firmware.c
207
if (itv->enc_mbox.mbox == NULL)
drivers/media/pci/ivtv/ivtv-firmware.c
211
itv->enc_mbox.mbox = NULL;
drivers/media/pci/ivtv/ivtv-firmware.c
213
if (itv->enc_mbox.mbox == NULL)
drivers/media/pci/ivtv/ivtv-firmware.c
219
itv->dec_mbox.mbox = ivtv_search_mailbox(itv->dec_mem, IVTV_DECODER_SIZE);
drivers/media/pci/ivtv/ivtv-firmware.c
220
if (itv->dec_mbox.mbox == NULL) {
drivers/media/pci/ivtv/ivtv-firmware.c
224
itv->dec_mbox.mbox = NULL;
drivers/media/pci/ivtv/ivtv-firmware.c
229
return itv->dec_mbox.mbox ? 0 : -ENODEV;
drivers/media/pci/ivtv/ivtv-firmware.c
79
if (itv->has_cx23415 && itv->dec_mbox.mbox)
drivers/media/pci/ivtv/ivtv-firmware.c
81
if (itv->enc_mbox.mbox)
drivers/media/pci/ivtv/ivtv-firmware.c
85
itv->enc_mbox.mbox = itv->dec_mbox.mbox = NULL;
drivers/media/pci/ivtv/ivtv-mailbox.c
133
u32 flags = readl(&mbdata->mbox[mb].flags);
drivers/media/pci/ivtv/ivtv-mailbox.c
138
write_sync(IVTV_MBOX_DRIVER_BUSY, &mbdata->mbox[mb].flags);
drivers/media/pci/ivtv/ivtv-mailbox.c
175
static void write_mailbox(volatile struct ivtv_mailbox __iomem *mbox, int cmd, int args, u32 data[])
drivers/media/pci/ivtv/ivtv-mailbox.c
179
write_sync(cmd, &mbox->cmd);
drivers/media/pci/ivtv/ivtv-mailbox.c
180
write_sync(IVTV_API_STD_TIMEOUT, &mbox->timeout);
drivers/media/pci/ivtv/ivtv-mailbox.c
183
write_sync(data[i], &mbox->data[i]);
drivers/media/pci/ivtv/ivtv-mailbox.c
185
write_sync(IVTV_MBOX_DRIVER_DONE | IVTV_MBOX_DRIVER_BUSY, &mbox->flags);
drivers/media/pci/ivtv/ivtv-mailbox.c
194
i, readl(&mbdata->mbox[i].cmd), readl(&mbdata->mbox[i].flags));
drivers/media/pci/ivtv/ivtv-mailbox.c
195
write_sync(0, &mbdata->mbox[i].flags);
drivers/media/pci/ivtv/ivtv-mailbox.c
203
volatile struct ivtv_mailbox __iomem *mbox;
drivers/media/pci/ivtv/ivtv-mailbox.c
248
write_mailbox(&mbdata->mbox[mb], cmd, args, data);
drivers/media/pci/ivtv/ivtv-mailbox.c
253
api_info[cmd].name, mb, readl(&mbdata->mbox[mb].flags));
drivers/media/pci/ivtv/ivtv-mailbox.c
269
mbox = &mbdata->mbox[mb];
drivers/media/pci/ivtv/ivtv-mailbox.c
270
write_mailbox(mbox, cmd, args, data);
drivers/media/pci/ivtv/ivtv-mailbox.c
286
if (readl(&mbox->flags) & IVTV_MBOX_FIRMWARE_DONE)
drivers/media/pci/ivtv/ivtv-mailbox.c
290
while (!(readl(&mbox->flags) & IVTV_MBOX_FIRMWARE_DONE)) {
drivers/media/pci/ivtv/ivtv-mailbox.c
294
write_sync(0, &mbox->flags);
drivers/media/pci/ivtv/ivtv-mailbox.c
309
data[i] = readl(&mbox->data[i]);
drivers/media/pci/ivtv/ivtv-mailbox.c
310
write_sync(0, &mbox->flags);
drivers/media/pci/ivtv/ivtv-mailbox.c
361
volatile u32 __iomem *p = mbdata->mbox[mb].data;
drivers/media/pci/ivtv/ivtv-streams.c
735
writel(0, &itv->dec_mbox.mbox[IVTV_MBOX_DMA_END].data[0]);
drivers/media/pci/ivtv/ivtv-streams.c
736
writel(0, &itv->dec_mbox.mbox[IVTV_MBOX_DMA_END].data[1]);
drivers/media/pci/ivtv/ivtv-streams.c
737
writel(0, &itv->dec_mbox.mbox[IVTV_MBOX_DMA_END].data[2]);
drivers/media/pci/ivtv/ivtv-streams.c
738
writel(0, &itv->dec_mbox.mbox[IVTV_MBOX_DMA_END].data[3]);
drivers/media/pci/ivtv/ivtv-streams.c
739
writel(0, &itv->dec_mbox.mbox[IVTV_MBOX_DMA].data[0]);
drivers/media/pci/ivtv/ivtv-streams.c
740
writel(0, &itv->dec_mbox.mbox[IVTV_MBOX_DMA].data[1]);
drivers/media/pci/ivtv/ivtv-streams.c
741
writel(0, &itv->dec_mbox.mbox[IVTV_MBOX_DMA].data[2]);
drivers/media/pci/ivtv/ivtv-streams.c
742
writel(0, &itv->dec_mbox.mbox[IVTV_MBOX_DMA].data[3]);
drivers/media/platform/allegro-dvt/allegro-core.c
803
struct allegro_mbox *mbox;
drivers/media/platform/allegro-dvt/allegro-core.c
805
mbox = devm_kmalloc(&dev->plat_dev->dev, sizeof(*mbox), GFP_KERNEL);
drivers/media/platform/allegro-dvt/allegro-core.c
806
if (!mbox)
drivers/media/platform/allegro-dvt/allegro-core.c
809
mbox->dev = dev;
drivers/media/platform/allegro-dvt/allegro-core.c
811
mbox->head = base;
drivers/media/platform/allegro-dvt/allegro-core.c
812
mbox->tail = base + 0x4;
drivers/media/platform/allegro-dvt/allegro-core.c
813
mbox->data = base + 0x8;
drivers/media/platform/allegro-dvt/allegro-core.c
814
mbox->size = size;
drivers/media/platform/allegro-dvt/allegro-core.c
815
mutex_init(&mbox->lock);
drivers/media/platform/allegro-dvt/allegro-core.c
817
regmap_write(dev->sram, mbox->head, 0);
drivers/media/platform/allegro-dvt/allegro-core.c
818
regmap_write(dev->sram, mbox->tail, 0);
drivers/media/platform/allegro-dvt/allegro-core.c
820
return mbox;
drivers/media/platform/allegro-dvt/allegro-core.c
823
static int allegro_mbox_write(struct allegro_mbox *mbox,
drivers/media/platform/allegro-dvt/allegro-core.c
826
struct regmap *sram = mbox->dev->sram;
drivers/media/platform/allegro-dvt/allegro-core.c
835
if (size > mbox->size)
drivers/media/platform/allegro-dvt/allegro-core.c
838
mutex_lock(&mbox->lock);
drivers/media/platform/allegro-dvt/allegro-core.c
839
regmap_read(sram, mbox->tail, &tail);
drivers/media/platform/allegro-dvt/allegro-core.c
840
if (tail > mbox->size) {
drivers/media/platform/allegro-dvt/allegro-core.c
844
size_no_wrap = min(size, mbox->size - (size_t)tail);
drivers/media/platform/allegro-dvt/allegro-core.c
845
regmap_bulk_write(sram, mbox->data + tail,
drivers/media/platform/allegro-dvt/allegro-core.c
847
regmap_bulk_write(sram, mbox->data,
drivers/media/platform/allegro-dvt/allegro-core.c
850
regmap_write(sram, mbox->tail, (tail + size) % mbox->size);
drivers/media/platform/allegro-dvt/allegro-core.c
853
mutex_unlock(&mbox->lock);
drivers/media/platform/allegro-dvt/allegro-core.c
858
static unsigned int allegro_mbox_get_available(struct allegro_mbox *mbox)
drivers/media/platform/allegro-dvt/allegro-core.c
860
struct regmap *sram = mbox->dev->sram;
drivers/media/platform/allegro-dvt/allegro-core.c
863
regmap_read(sram, mbox->head, &head);
drivers/media/platform/allegro-dvt/allegro-core.c
864
regmap_read(sram, mbox->tail, &tail);
drivers/media/platform/allegro-dvt/allegro-core.c
869
return mbox->size - (head - tail);
drivers/media/platform/allegro-dvt/allegro-core.c
872
static ssize_t allegro_mbox_read(struct allegro_mbox *mbox,
drivers/media/platform/allegro-dvt/allegro-core.c
879
struct regmap *sram = mbox->dev->sram;
drivers/media/platform/allegro-dvt/allegro-core.c
885
available = allegro_mbox_get_available(mbox);
drivers/media/platform/allegro-dvt/allegro-core.c
889
regmap_read(sram, mbox->head, &head);
drivers/media/platform/allegro-dvt/allegro-core.c
890
if (head > mbox->size)
drivers/media/platform/allegro-dvt/allegro-core.c
894
regmap_bulk_read(sram, mbox->data + head,
drivers/media/platform/allegro-dvt/allegro-core.c
898
if (size > mbox->size || size & 0x3)
drivers/media/platform/allegro-dvt/allegro-core.c
915
(size_t)(mbox->size - (head + sizeof(*header))));
drivers/media/platform/allegro-dvt/allegro-core.c
916
regmap_bulk_read(sram, mbox->data + head + sizeof(*header),
drivers/media/platform/allegro-dvt/allegro-core.c
919
regmap_bulk_read(sram, mbox->data,
drivers/media/platform/allegro-dvt/allegro-core.c
923
regmap_write(sram, mbox->head, (head + size) % mbox->size);
drivers/media/platform/allegro-dvt/allegro-core.c
933
static int allegro_mbox_send(struct allegro_mbox *mbox, void *msg)
drivers/media/platform/allegro-dvt/allegro-core.c
935
struct allegro_dev *dev = mbox->dev;
drivers/media/platform/allegro-dvt/allegro-core.c
940
tmp = kzalloc(mbox->size, GFP_KERNEL);
drivers/media/platform/allegro-dvt/allegro-core.c
948
err = allegro_mbox_write(mbox, tmp, size);
drivers/media/platform/allegro-dvt/allegro-core.c
963
static int allegro_mbox_notify(struct allegro_mbox *mbox)
drivers/media/platform/allegro-dvt/allegro-core.c
965
struct allegro_dev *dev = mbox->dev;
drivers/media/platform/allegro-dvt/allegro-core.c
976
tmp = kmalloc(mbox->size, GFP_KERNEL);
drivers/media/platform/allegro-dvt/allegro-core.c
982
err = allegro_mbox_read(mbox, tmp, mbox->size);
drivers/media/platform/amphion/vpu_mbox.c
25
static int vpu_mbox_request_channel(struct device *dev, struct vpu_mbox *mbox)
drivers/media/platform/amphion/vpu_mbox.c
30
if (!dev || !mbox)
drivers/media/platform/amphion/vpu_mbox.c
32
if (mbox->ch)
drivers/media/platform/amphion/vpu_mbox.c
35
cl = &mbox->cl;
drivers/media/platform/amphion/vpu_mbox.c
37
if (mbox->block) {
drivers/media/platform/amphion/vpu_mbox.c
46
ch = mbox_request_channel_byname(cl, mbox->name);
drivers/media/platform/amphion/vpu_mbox.c
50
mbox->name);
drivers/media/platform/amphion/vpu_mbox.c
52
mbox->ch = ch;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c
701
dma_sync_single_for_device(mdp->cmdq_clt[i]->chan->mbox->dev,
drivers/media/usb/dvb-usb-v2/af9015.c
147
u8 mbox, addr_len;
drivers/media/usb/dvb-usb-v2/af9015.c
176
mbox = 0;
drivers/media/usb/dvb-usb-v2/af9015.c
180
mbox = 0;
drivers/media/usb/dvb-usb-v2/af9015.c
184
mbox = 0;
drivers/media/usb/dvb-usb-v2/af9015.c
188
mbox = msg[0].buf[2];
drivers/media/usb/dvb-usb-v2/af9015.c
204
req.mbox = mbox;
drivers/media/usb/dvb-usb-v2/af9015.c
222
req.mbox = mbox;
drivers/media/usb/dvb-usb-v2/af9015.c
240
req.mbox = mbox;
drivers/media/usb/dvb-usb-v2/af9015.c
33
state->buf[5] = req->mbox;
drivers/media/usb/dvb-usb-v2/af9015.h
63
u8 mbox; /* [5] */
drivers/media/usb/dvb-usb-v2/af9035.c
118
u8 mbox = (reg >> 16) & 0xff;
drivers/media/usb/dvb-usb-v2/af9035.c
119
struct usb_req req = { CMD_MEM_WR, mbox, 6 + len, wbuf, 0, NULL };
drivers/media/usb/dvb-usb-v2/af9035.c
141
u8 mbox = (reg >> 16) & 0xff;
drivers/media/usb/dvb-usb-v2/af9035.c
142
struct usb_req req = { CMD_MEM_RD, mbox, sizeof(wbuf), wbuf, len, val };
drivers/media/usb/dvb-usb-v2/af9035.c
354
req.mbox |= ((msg[0].addr & 0x80) >> 3);
drivers/media/usb/dvb-usb-v2/af9035.c
417
req.mbox |= ((msg[0].addr & 0x80) >> 3);
drivers/media/usb/dvb-usb-v2/af9035.c
449
req.mbox |= ((msg[0].addr & 0x80) >> 3);
drivers/media/usb/dvb-usb-v2/af9035.c
55
state->buf[1] = req->mbox;
drivers/media/usb/dvb-usb-v2/af9035.h
38
u8 mbox;
drivers/misc/mrvl_cn10k_dpi.c
180
struct dpi_mbox *mbox[DPI_MAX_VFS];
drivers/misc/mrvl_cn10k_dpi.c
275
schedule_work(&dpi->mbox[vf]->work);
drivers/misc/mrvl_cn10k_dpi.c
317
struct dpi_mbox *mbox = container_of(work, struct dpi_mbox, work);
drivers/misc/mrvl_cn10k_dpi.c
323
dpi = mbox->pf;
drivers/misc/mrvl_cn10k_dpi.c
326
mutex_lock(&mbox->lock);
drivers/misc/mrvl_cn10k_dpi.c
327
msg.word_l = readq(mbox->vf_pf_data_reg);
drivers/misc/mrvl_cn10k_dpi.c
336
msg.word_h = readq(mbox->pf_vf_data_reg);
drivers/misc/mrvl_cn10k_dpi.c
340
writeq(DPI_MBOX_TYPE_RSP_NACK, mbox->pf_vf_data_reg);
drivers/misc/mrvl_cn10k_dpi.c
342
writeq(DPI_MBOX_TYPE_RSP_ACK, mbox->pf_vf_data_reg);
drivers/misc/mrvl_cn10k_dpi.c
344
mutex_unlock(&mbox->lock);
drivers/misc/mrvl_cn10k_dpi.c
350
struct dpi_mbox *mbox = dpi->mbox[vf];
drivers/misc/mrvl_cn10k_dpi.c
352
mbox->pf_vf_data_reg = dpi->reg_base + DPI_MBOX_PF_VF_DATA0(vf);
drivers/misc/mrvl_cn10k_dpi.c
353
mbox->vf_pf_data_reg = dpi->reg_base + DPI_MBOX_PF_VF_DATA1(vf);
drivers/misc/mrvl_cn10k_dpi.c
361
dpi->mbox[vf] = devm_kzalloc(&dpi->pdev->dev, sizeof(*dpi->mbox[vf]), GFP_KERNEL);
drivers/misc/mrvl_cn10k_dpi.c
363
if (!dpi->mbox[vf])
drivers/misc/mrvl_cn10k_dpi.c
366
mutex_init(&dpi->mbox[vf]->lock);
drivers/misc/mrvl_cn10k_dpi.c
367
INIT_WORK(&dpi->mbox[vf]->work, dpi_pfvf_mbox_work);
drivers/misc/mrvl_cn10k_dpi.c
368
dpi->mbox[vf]->pf = dpi;
drivers/misc/mrvl_cn10k_dpi.c
380
if (work_pending(&dpi->mbox[vf]->work))
drivers/misc/mrvl_cn10k_dpi.c
381
cancel_work_sync(&dpi->mbox[vf]->work);
drivers/misc/mrvl_cn10k_dpi.c
383
dpi->mbox[vf] = NULL;
drivers/net/can/janz-ican3.c
311
unsigned int mbox, mbox_page;
drivers/net/can/janz-ican3.c
327
mbox = (xord & MSYNC_RBLW) ? MSYNC_RB0 : MSYNC_RB1;
drivers/net/can/janz-ican3.c
329
mbox = (xord & MSYNC_RB0) ? MSYNC_RB0 : MSYNC_RB1;
drivers/net/can/janz-ican3.c
332
mbox_page = (mbox == MSYNC_RB0) ? QUEUE_OLD_RB0 : QUEUE_OLD_RB1;
drivers/net/can/janz-ican3.c
340
locl ^= mbox;
drivers/net/can/janz-ican3.c
356
unsigned int mbox, mbox_page;
drivers/net/can/janz-ican3.c
371
mbox = (xord & MSYNC_WB0) ? MSYNC_WB1 : MSYNC_WB0;
drivers/net/can/janz-ican3.c
374
mbox_page = (mbox == MSYNC_WB0) ? QUEUE_OLD_WB0 : QUEUE_OLD_WB1;
drivers/net/can/janz-ican3.c
378
locl ^= mbox;
drivers/net/can/janz-ican3.c
379
if (mbox == MSYNC_WB1)
drivers/net/ethernet/aquantia/atlantic/aq_hw.h
186
struct hw_atl_utils_mbox mbox;
drivers/net/ethernet/aquantia/atlantic/aq_ptp.c
1156
struct hw_atl_utils_mbox mbox;
drivers/net/ethernet/aquantia/atlantic/aq_ptp.c
1176
hw_atl_utils_mpi_read_stats(aq_nic->aq_hw, &mbox);
drivers/net/ethernet/aquantia/atlantic/aq_ptp.c
1178
if (!(mbox.info.caps_ex & BIT(CAPS_EX_PHY_PTP_EN))) {
drivers/net/ethernet/aquantia/atlantic/aq_ptp.c
1183
aq_ptp_offset_init(&mbox.info.ptp_offset);
drivers/net/ethernet/aquantia/atlantic/aq_ptp.c
1198
aq_ptp_gpio_init(&aq_ptp->ptp_info, &mbox.info);
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
1049
struct hw_atl_utils_mbox_header mbox;
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
1051
hw_atl_utils_mpi_read_mbox(self, &mbox);
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
1053
return mbox.transaction_id;
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
664
struct hw_atl_utils_mbox_header mbox;
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
669
hw_atl_utils_mpi_read_mbox(self, &mbox);
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
671
transaction_id = mbox.transaction_id;
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
674
self, mbox.transaction_id,
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
676
mbox.transaction_id,
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
871
struct hw_atl_utils_mbox mbox;
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
874
hw_atl_utils_mpi_read_stats(self, &mbox);
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
879
((s64)(mbox.stats._N_ - self->last_stats._N_)) >= 0) \
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
880
curr_stats._N_ += mbox.stats._N_ - self->last_stats._N_; \
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
914
memcpy(&self->last_stats, &mbox.stats, sizeof(mbox.stats));
drivers/net/ethernet/broadcom/tg3.c
596
void __iomem *mbox = tp->regs + off;
drivers/net/ethernet/broadcom/tg3.c
597
writel(val, mbox);
drivers/net/ethernet/broadcom/tg3.c
599
writel(val, mbox);
drivers/net/ethernet/broadcom/tg3.c
602
readl(mbox);
drivers/net/ethernet/broadcom/tg3.c
9737
u32 mbox = MAILBOX_SNDNIC_PROD_IDX_0 + TG3_64BIT_REG_LOW;
drivers/net/ethernet/broadcom/tg3.c
9739
tw32_tx_mbox(mbox + i * 8, 0);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
512
struct octeon_mbox *mbox = (struct octeon_mbox *)wk->ctxptr;
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
513
struct octeon_device *oct = mbox->oct_dev;
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
519
mbox_int_val = readq(mbox->mbox_int_reg);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
520
writeq(mbox_int_val, mbox->mbox_int_reg);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
525
val64 = readq(oct->mbox[q_no]->mbox_write_reg);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
528
if (octeon_mbox_read(oct->mbox[q_no]))
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
530
oct->mbox[q_no]);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
536
octeon_mbox_process_message(mbox);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
542
struct octeon_mbox *mbox = NULL;
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
553
mbox = vzalloc(sizeof(*mbox));
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
554
if (!mbox)
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
557
spin_lock_init(&mbox->lock);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
559
mbox->oct_dev = oct;
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
561
mbox->q_no = q_no;
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
563
mbox->state = OCTEON_MBOX_STATE_IDLE;
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
566
mbox->mbox_int_reg = (u8 *)oct->mmio[0].hw_addr +
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
570
mbox->mbox_write_reg = (u8 *)oct->mmio[0].hw_addr +
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
574
mbox->mbox_read_reg = (u8 *)oct->mmio[0].hw_addr +
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
578
INIT_DELAYED_WORK(&mbox->mbox_poll_wk.work,
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
580
mbox->mbox_poll_wk.ctxptr = (void *)mbox;
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
582
oct->mbox[q_no] = mbox;
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
584
writeq(OCTEON_PFVFSIG, mbox->mbox_read_reg);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
588
schedule_delayed_work(&oct->mbox[0]->mbox_poll_wk.work,
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
596
vfree(oct->mbox[i]);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
612
&oct->mbox[q_no]->mbox_poll_wk.work);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
613
vfree(oct->mbox[q_no]);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
819
mbox_int_val = readq(oct->mbox[0]->mbox_int_reg);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
826
oct->mbox[0]->mbox_int_reg);
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
827
if (octeon_mbox_read(oct->mbox[q_no])) {
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
828
work = &oct->mbox[q_no]->mbox_poll_wk.work;
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
266
struct octeon_mbox *mbox = (struct octeon_mbox *)wk->ctxptr;
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
268
octeon_mbox_process_message(mbox);
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
273
cancel_delayed_work_sync(&oct->mbox[0]->mbox_poll_wk.work);
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
274
vfree(oct->mbox[0]);
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
280
struct octeon_mbox *mbox = NULL;
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
282
mbox = vzalloc(sizeof(*mbox));
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
283
if (!mbox)
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
286
spin_lock_init(&mbox->lock);
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
288
mbox->oct_dev = oct;
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
290
mbox->q_no = 0;
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
292
mbox->state = OCTEON_MBOX_STATE_IDLE;
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
295
mbox->mbox_int_reg =
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
298
mbox->mbox_read_reg =
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
301
mbox->mbox_write_reg =
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
304
INIT_DELAYED_WORK(&mbox->mbox_poll_wk.work,
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
307
mbox->mbox_poll_wk.ctxptr = mbox;
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
309
oct->mbox[0] = mbox;
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
311
writeq(OCTEON_PFVFSIG, mbox->mbox_read_reg);
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
479
mbox_int_val = readq(oct->mbox[0]->mbox_int_reg);
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
480
writeq(mbox_int_val, oct->mbox[0]->mbox_int_reg);
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
481
if (octeon_mbox_read(oct->mbox[0]))
drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
482
schedule_delayed_work(&oct->mbox[0]->mbox_poll_wk.work,
drivers/net/ethernet/cavium/liquidio/octeon_device.c
849
ioq_vector->mbox = oct->mbox[i];
drivers/net/ethernet/cavium/liquidio/octeon_device.h
412
struct octeon_mbox *mbox;
drivers/net/ethernet/cavium/liquidio/octeon_device.h
573
struct octeon_mbox *mbox[MAX_POSSIBLE_VFS];
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
100
if (mbox->mbox_resp.recv_len <
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
101
mbox->mbox_resp.msg.s.len) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
104
mbox->state &=
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
106
mbox->state |=
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
115
writeq(OCTEON_PFVFACK, mbox->mbox_read_reg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
117
spin_unlock(&mbox->lock);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
134
struct octeon_mbox *mbox = oct->mbox[mbox_cmd->q_no];
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
139
spin_lock_irqsave(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
142
!(mbox->state & OCTEON_MBOX_STATE_REQUEST_RECEIVED)) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
143
spin_unlock_irqrestore(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
148
!(mbox->state & OCTEON_MBOX_STATE_IDLE)) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
149
spin_unlock_irqrestore(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
154
memcpy(&mbox->mbox_resp, mbox_cmd,
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
156
mbox->state = OCTEON_MBOX_STATE_RESPONSE_PENDING;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
159
spin_unlock_irqrestore(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
163
while (readq(mbox->mbox_write_reg) != OCTEON_PFVFSIG) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
172
writeq(mbox_cmd->msg.u64, mbox->mbox_write_reg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
175
while (readq(mbox->mbox_write_reg) !=
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
184
writeq(mbox_cmd->data[i], mbox->mbox_write_reg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
190
spin_lock_irqsave(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
192
mbox->state = OCTEON_MBOX_STATE_IDLE;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
193
writeq(OCTEON_PFVFSIG, mbox->mbox_read_reg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
197
mbox->state &= ~OCTEON_MBOX_STATE_RESPONSE_PENDING;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
198
if (!(mbox->state &
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
201
mbox->state = OCTEON_MBOX_STATE_IDLE;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
204
spin_unlock_irqrestore(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
236
static int octeon_mbox_process_cmd(struct octeon_mbox *mbox,
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
239
struct octeon_device *oct = mbox->oct_dev;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
262
mbox->q_no);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
263
pcie_flr(oct->sriov_info.dpiring_to_vfpcidev_lut[mbox->q_no]);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
293
int octeon_mbox_process_message(struct octeon_mbox *mbox)
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
298
spin_lock_irqsave(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
300
if (mbox->state & OCTEON_MBOX_STATE_ERROR) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
301
if (mbox->state & (OCTEON_MBOX_STATE_RESPONSE_PENDING |
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
303
memcpy(&mbox_cmd, &mbox->mbox_resp,
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
305
mbox->state = OCTEON_MBOX_STATE_IDLE;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
306
writeq(OCTEON_PFVFSIG, mbox->mbox_read_reg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
307
spin_unlock_irqrestore(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
310
mbox_cmd.fn(mbox->oct_dev, &mbox_cmd,
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
315
mbox->state = OCTEON_MBOX_STATE_IDLE;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
316
writeq(OCTEON_PFVFSIG, mbox->mbox_read_reg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
317
spin_unlock_irqrestore(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
321
if (mbox->state & OCTEON_MBOX_STATE_RESPONSE_RECEIVED) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
322
memcpy(&mbox_cmd, &mbox->mbox_resp,
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
324
mbox->state = OCTEON_MBOX_STATE_IDLE;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
325
writeq(OCTEON_PFVFSIG, mbox->mbox_read_reg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
326
spin_unlock_irqrestore(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
329
mbox_cmd.fn(mbox->oct_dev, &mbox_cmd, mbox_cmd.fn_arg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
333
if (mbox->state & OCTEON_MBOX_STATE_REQUEST_RECEIVED) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
334
memcpy(&mbox_cmd, &mbox->mbox_req,
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
337
mbox->state &= ~OCTEON_MBOX_STATE_REQUEST_RECEIVED;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
338
if (!(mbox->state &
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
340
mbox->state = OCTEON_MBOX_STATE_IDLE;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
341
writeq(OCTEON_PFVFSIG, mbox->mbox_read_reg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
344
spin_unlock_irqrestore(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
345
octeon_mbox_process_cmd(mbox, &mbox_cmd);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
349
spin_unlock_irqrestore(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
357
struct octeon_mbox *mbox = oct->mbox[q_no];
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
36
int octeon_mbox_read(struct octeon_mbox *mbox)
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
361
spin_lock_irqsave(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
362
mbox_cmd = &mbox->mbox_resp;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
364
if (!(mbox->state & OCTEON_MBOX_STATE_RESPONSE_PENDING)) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
365
spin_unlock_irqrestore(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
369
mbox->state = OCTEON_MBOX_STATE_IDLE;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
371
writeq(OCTEON_PFVFSIG, mbox->mbox_read_reg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
372
spin_unlock_irqrestore(&mbox->lock, flags);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
41
spin_lock(&mbox->lock);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
43
msg.u64 = readq(mbox->mbox_read_reg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
46
spin_unlock(&mbox->lock);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
50
if (mbox->state & OCTEON_MBOX_STATE_REQUEST_RECEIVING) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
51
mbox->mbox_req.data[mbox->mbox_req.recv_len - 1] = msg.u64;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
52
mbox->mbox_req.recv_len++;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
54
if (mbox->state & OCTEON_MBOX_STATE_RESPONSE_RECEIVING) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
55
mbox->mbox_resp.data[mbox->mbox_resp.recv_len - 1] =
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
57
mbox->mbox_resp.recv_len++;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
59
if ((mbox->state & OCTEON_MBOX_STATE_IDLE) &&
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
61
mbox->state &= ~OCTEON_MBOX_STATE_IDLE;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
62
mbox->state |=
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
64
mbox->mbox_req.msg.u64 = msg.u64;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
65
mbox->mbox_req.q_no = mbox->q_no;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
66
mbox->mbox_req.recv_len = 1;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
68
if ((mbox->state &
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
71
mbox->state &=
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
73
mbox->state |=
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
76
mbox->mbox_resp.msg.u64 = msg.u64;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
77
mbox->mbox_resp.q_no = mbox->q_no;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
78
mbox->mbox_resp.recv_len = 1;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
81
mbox->mbox_read_reg);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
82
mbox->state |= OCTEON_MBOX_STATE_ERROR;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
83
spin_unlock(&mbox->lock);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
90
if (mbox->state & OCTEON_MBOX_STATE_REQUEST_RECEIVING) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
91
if (mbox->mbox_req.recv_len < mbox->mbox_req.msg.s.len) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
94
mbox->state &= ~OCTEON_MBOX_STATE_REQUEST_RECEIVING;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
95
mbox->state |= OCTEON_MBOX_STATE_REQUEST_RECEIVED;
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
99
if (mbox->state & OCTEON_MBOX_STATE_RESPONSE_RECEIVING) {
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.h
119
int octeon_mbox_read(struct octeon_mbox *mbox);
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.h
122
int octeon_mbox_process_message(struct octeon_mbox *mbox);
drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c
369
int mbox, key, stat, q;
drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c
377
for (mbox = 0; mbox < NIC_PF_VF_MAILBOX_SIZE; mbox++)
drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c
379
NIC_VF_PF_MAILBOX_0_1 | (mbox << 3));
drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
56
return t4_wr_mbox_meat(adap, adap->mbox, &c, sizeof(c), &c, false);
drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
71
return t4_wr_mbox_meat(adap, adap->mbox, &c, sizeof(c), &c, false);
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2158
rc = t4_query_params(padap, padap->mbox, padap->pf, 0, 2, para, val);
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2176
rc = t4_query_params(padap, padap->mbox, padap->pf, 0, 2,
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2357
rc = t4_sge_ctxt_rd(padap, padap->mbox, cid, ctype, data);
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2453
t4_sge_ctxt_flush(padap, padap->mbox, i);
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c
2631
rc = t4_wr_mbox(padap, padap->mbox, &ldst_cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1111
unsigned int mbox;
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1709
int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox, const void *cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1711
int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1714
static inline int t4_wr_mbox_timeout(struct adapter *adap, int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1718
return t4_wr_mbox_meat_timeout(adap, mbox, cmd, size, rpl, true,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1722
static inline int t4_wr_mbox(struct adapter *adap, int mbox, const void *cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1725
return t4_wr_mbox_meat(adap, mbox, cmd, size, rpl, true);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1728
static inline int t4_wr_mbox_ns(struct adapter *adap, int mbox, const void *cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1731
return t4_wr_mbox_meat(adap, mbox, cmd, size, rpl, false);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1797
int t4_link_l1cfg_core(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1801
static inline int t4_link_l1cfg(struct adapter *adapter, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1804
return t4_link_l1cfg_core(adapter, mbox, port, lc,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1808
static inline int t4_link_l1cfg_ns(struct adapter *adapter, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1811
return t4_link_l1cfg_core(adapter, mbox, port, lc,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1815
int t4_restart_aneg(struct adapter *adap, unsigned int mbox, unsigned int port);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1852
int t4_fw_upgrade(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1887
int t4_init_rss_mode(struct adapter *adap, int mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1888
int t4_init_portinfo(struct port_info *pi, int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1890
int t4_port_init(struct adapter *adap, int mbox, int pf, int vf);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1891
int t4_init_port_mirror(struct port_info *pi, u8 mbox, u8 port, u8 pf, u8 vf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1895
int t4_config_rss_range(struct adapter *adapter, int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1897
int t4_config_glbl_rss(struct adapter *adapter, int mbox, unsigned int mode,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1899
int t4_config_vi_rss(struct adapter *adapter, int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1961
int t4_fw_hello(struct adapter *adap, unsigned int mbox, unsigned int evt_mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1963
int t4_fw_bye(struct adapter *adap, unsigned int mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1964
int t4_early_init(struct adapter *adap, unsigned int mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1965
int t4_fw_reset(struct adapter *adap, unsigned int mbox, int reset);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1968
int t4_fw_initialize(struct adapter *adap, unsigned int mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1969
int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1972
int t4_query_params_ns(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1975
int t4_query_params_rw(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1978
int t4_set_params_timeout(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1982
int t4_set_params(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1985
int t4_cfg_pfvf(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1990
int t4_alloc_vi(struct adapter *adap, unsigned int mbox, unsigned int port,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1993
int t4_free_vi(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
1996
int t4_set_rxmode(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2011
int t4_alloc_mac_filt(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2014
int t4_free_mac_filt(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2017
int t4_change_mac(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2019
int t4_set_addr_hash(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2021
int t4_enable_vi_params(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2023
int t4_enable_pi_params(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2026
int t4_enable_vi(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2028
int t4_identify_port(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2030
int t4_mdio_rd(struct adapter *adap, unsigned int mbox, unsigned int phy_addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2032
int t4_mdio_wr(struct adapter *adap, unsigned int mbox, unsigned int phy_addr,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2034
int t4_iq_stop(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2037
int t4_iq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2040
int t4_eth_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2042
int t4_ctrl_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2044
int t4_ofld_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2046
int t4_sge_ctxt_flush(struct adapter *adap, unsigned int mbox, int ctxt_type);
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2060
int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2065
int t4_sge_ctxt_rd(struct adapter *adap, unsigned int mbox, unsigned int cid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2092
int t4_i2c_rd(struct adapter *adap, unsigned int mbox, int port,
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
2122
int t4_set_vlan_acl(struct adapter *adap, unsigned int mbox, unsigned int vf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
1128
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
1158
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
1196
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
1208
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
455
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
467
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
520
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
533
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
545
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
558
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
578
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
609
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
622
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
670
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
805
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
855
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
889
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
963
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c
977
err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1248
unsigned int mbox = (uintptr_t)seq->private & 7;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1249
struct adapter *adap = seq->private - mbox;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1250
void __iomem *addr = adap->regs + PF_REG(mbox, CIM_PF_MAILBOX_DATA_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1260
void __iomem *ctrl = adap->regs + PF_REG(mbox, ctrl_reg);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1285
unsigned int mbox;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1302
mbox = (uintptr_t)ino->i_private & 7;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1303
adap = ino->i_private - mbox;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1304
addr = adap->regs + PF_REG(mbox, CIM_PF_MAILBOX_DATA_A);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1790
ret = t4_wr_mbox(adap, adap->mbox, &ldst_cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
1955
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 2,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1042
ret = t4_set_params(adap, adap->mbox, adap->pf, 0, 1, ¶m, &val);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1100
ret = t4_set_params(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1353
ret = t4_fw_reset(adap, adap->mbox, PIORSTMODE_F | PIORST_F);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1375
unsigned int mbox = PCIE_FW_MASTER_M + 1;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1384
mbox = adap->mbox;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
1386
ret = t4_fw_upgrade(adap, mbox, data, size, 1);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2025
ret = t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2030
ret = t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2053
ret = t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2086
return t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2093
ret = t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
2104
return t4_i2c_rd(adapter, adapter->mbox, pi->tx_chan, I2C_DEV_ADDR_A2,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
755
ret = t4_link_l1cfg(pi->adapter, pi->adapter->mbox, pi->tx_chan, lc);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
853
ret = t4_link_l1cfg(pi->adapter, pi->adapter->mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c
888
return t4_link_l1cfg(p->adapter, p->adapter->mbox, p->tx_chan,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1259
err = t4_set_params(adap, adap->mbox, adap->pf, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1281
err = t4_set_rxmode(pi->adapter, pi->adapter->mbox, pi->viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1459
ret = t4_set_rxmode(adap, adap->mbox, pi->viid, pi->viid_mirror,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1490
ret = t4_enable_vi_params(adap, adap->mbox, pi->viid_mirror, true, true,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1509
t4_enable_vi_params(adap, adap->mbox, pi->viid_mirror, false, false,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1528
ret = t4_init_port_mirror(pi, adap->mbox, pi->port_id, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1553
t4_free_vi(adap, adap->mbox, adap->pf, 0, pi->viid_mirror);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
1579
t4_free_vi(adap, adap->mbox, adap->pf, 0, pi->viid_mirror);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
2198
return t4_sge_ctxt_flush(adap, adap->mbox, CTXT_EGRESS);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
258
err = t4_set_params_timeout(adap, adap->mbox, adap->pf, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3123
unsigned int mbox;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3146
mbox = pi->adapter->pf;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3148
ret = t4_mdio_rd(pi->adapter, mbox, prtad, devad,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3151
ret = t4_mdio_wr(pi->adapter, mbox, prtad, devad,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3171
ret = t4_set_rxmode(pi->adapter, pi->adapter->mbox, pi->viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3305
ret = t4_set_params(adap, adap->mbox, adap->pf, vf + 1, 1,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3365
ret = t4_set_params(adap, adap->mbox, adap->pf, vf + 1, 1, &fw_pfvf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3392
ret = t4_set_vlan_acl(adap, adap->mbox, vf + 1, vlan);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
3433
ret = t4_set_params(adap, adap->mbox, adap->pf, vf + 1, 1,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
360
return t4_set_addr_hash(adap, adap->mbox, pi->viid, ucast,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4042
ret = t4_query_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4151
ret = t4_wr_mbox(adapter, adapter->mbox, &hma_cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4190
ret = t4_wr_mbox(adap, adap->mbox, c, sizeof(*c), c);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4196
ret = t4_wr_mbox(adap, adap->mbox, c, sizeof(*c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4207
ret = t4_cfg_pfvf(adap, adap->mbox, adap->pf, 0, adap->sge.egr_sz, 64,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
437
return t4_set_rxmode(adapter, adapter->mbox, pi->viid, pi->viid_mirror,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4460
ret = t4_fw_reset(adapter, adapter->mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4515
ret = t4_query_params(adapter, adapter->mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4569
ret = t4_set_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4596
ret = t4_wr_mbox(adapter, adapter->mbox, &caps_cmd, sizeof(caps_cmd),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4612
ret = t4_wr_mbox(adapter, adapter->mbox, &caps_cmd,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4637
ret = t4_wr_mbox(adapter, adapter->mbox, &caps_cmd, sizeof(caps_cmd),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4668
ret = t4_fw_initialize(adapter, adapter->mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
468
ret = t4_change_mac(adapter, adapter->mbox, viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4770
ret = t4_fw_hello(adap, adap->mbox, adap->mbox,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4777
if (ret == adap->mbox)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4865
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4928
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 1, &v, &port_vec);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4948
ret = t4_query_params(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4973
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 6, params, val);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4986
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 2,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
4999
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 2,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5018
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 2, params, val);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
506
unsigned int mb = pi->adapter->mbox;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5062
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 2, params, val);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5070
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 1, params, val);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5084
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 2, params, val);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5101
(void)t4_set_params(adap, adap->mbox, adap->pf, 0, 1, params, val);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5113
ret = t4_query_params(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5120
ret = t4_query_params(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5129
ret = t4_query_params(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5139
ret = t4_query_params(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5151
ret = t4_wr_mbox(adap, adap->mbox, &caps_cmd, sizeof(caps_cmd),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5173
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 6,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5211
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 2,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5228
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 6,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5241
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 2,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5259
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 6, params,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5272
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 2, params,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5289
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 1, params,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5295
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 1, params,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5303
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 2,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5312
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 2,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5332
ret = t4_query_params(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5346
ret = t4_query_params(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5412
t4_fw_bye(adap, adap->mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5476
if (t4_fw_hello(adap, adap->mbox, adap->pf, MASTER_MUST, NULL) < 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
5486
ret = t4_alloc_vi(adap, adap->mbox, pi->tx_chan, adap->pf, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6092
err = t4_init_rss_mode(adap, adap->mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6187
t4_free_vi(adapter, adapter->mbox, adapter->pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6320
err = t4_wr_mbox(adap, adap->mbox, &port_cmd, sizeof(port_cmd),
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
6632
adapter->mbox = func;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
7195
t4_fw_bye(adapter, adapter->mbox);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
785
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 1, ¶m, &val);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
796
ret = t4_set_params(adap, adap->mbox, adap->pf, 0, 1, ¶m, &val);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
814
ret = t4_set_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
831
ret = t4_config_rss_range(adap, adap->mbox, viid, 0, rss_size, rss,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
841
return t4_config_vi_rss(adap, adap->mbox, viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c
67
ret = t4_free_mac_filt(adap, adap->mbox, viid,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c
84
ret = t4_alloc_mac_filt(adap, adap->mbox, viid, free,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
142
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
163
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
189
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
226
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
258
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
297
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
359
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
380
err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
23
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
53
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
195
ret = t4_set_params(adap, adap->mbox, adap->pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
226
t4_set_params(adap, adap->mbox, adap->pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
410
t4_ofld_eq_free(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
694
ret = t4_set_params(adap, adap->mbox, adap->pf,
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
712
ret = t4_set_params(adap, adap->mbox, adap->pf,
drivers/net/ethernet/chelsio/cxgb4/sched.c
98
err = t4_set_params(adap, adap->mbox, pf, vf, 1,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4453
ret = t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), &c);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4525
ret = t4_set_params(adap, adap->mbox, adap->pf, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4646
ret = t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), &c);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4710
ret = t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), &c);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4737
return t4_set_params(adap, adap->mbox, adap->pf, 0, 1, ¶m, &val);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4781
ret = t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), &c);
drivers/net/ethernet/chelsio/cxgb4/sge.c
4858
t4_iq_free(adap, adap->mbox, adap->pf, 0, FW_IQ_TYPE_FL_INT_CAP,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4881
t4_ofld_eq_free(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4905
t4_iq_stop(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4925
t4_eth_eq_free(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4941
t4_ctrl_eq_free(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/sge.c
4964
t4_eth_eq_free(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10253
return t4_wr_mbox(adapter, adapter->mbox, &cmd, sizeof(cmd), &cmd);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10322
int t4_sge_ctxt_rd(struct adapter *adap, unsigned int mbox, unsigned int cid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10340
ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10402
return t4_wr_mbox_meat(adapter, adapter->mbox, &cmd, sizeof(cmd),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10418
int t4_i2c_rd(struct adapter *adap, unsigned int mbox, int port,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10449
ret = t4_wr_mbox(adap, mbox, &ldst_cmd, sizeof(ldst_cmd),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10470
int t4_set_vlan_acl(struct adapter *adap, unsigned int mbox, unsigned int vf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10494
return t4_wr_mbox(adap, adap->mbox, &vlan_cmd, sizeof(vlan_cmd), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
282
int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox, const void *cmd,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2840
ret = t4_query_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
2874
v = t4_wr_mbox(adapter, adapter->mbox, &cmd, sizeof(cmd), &rpl);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
296
u32 data_reg = PF_REG(mbox, CIM_PF_MAILBOX_DATA_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
297
u32 ctl_reg = PF_REG(mbox, CIM_PF_MAILBOX_CTRL_A);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3208
ret = t4_query_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3245
ret = t4_query_params(adapter, adapter->mbox, adapter->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3504
ret = t4_fw_upgrade(adap, adap->mbox, fw_data,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3722
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3790
ret = t4_query_params_rw(adap, adap->mbox, adap->pf, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3817
ret = t4_set_params_timeout(adap, adap->mbox, adap->pf, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
3863
return t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4184
int t4_link_l1cfg_core(struct adapter *adapter, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4216
ret = t4_wr_mbox_meat_timeout(adapter, mbox, &cmd, sizeof(cmd), NULL,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4242
int t4_restart_aneg(struct adapter *adap, unsigned int mbox, unsigned int port)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
4260
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
433
*(const u8 *)cmd, mbox);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
442
int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
445
return t4_wr_mbox_meat_timeout(adap, mbox, cmd, size, rpl, sleep_ok,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5144
int t4_config_rss_range(struct adapter *adapter, int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5186
ret = t4_wr_mbox(adapter, mbox, &cmd, sizeof(cmd), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5202
int t4_config_glbl_rss(struct adapter *adapter, int mbox, unsigned int mode,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5220
return t4_wr_mbox(adapter, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5233
int t4_config_vi_rss(struct adapter *adapter, int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5245
return t4_wr_mbox(adapter, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
5315
ret = t4_wr_mbox_meat(adap, adap->mbox, &c, sizeof(c), &c,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6176
ret = t4_query_params_ns(adapter, adapter->mbox, adapter->pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6222
ret = t4_query_params_ns(adapter, adapter->mbox, adapter->pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6509
int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6525
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6539
int t4_mdio_rd(struct adapter *adap, unsigned int mbox, unsigned int phy_addr,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6556
ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6573
int t4_mdio_wr(struct adapter *adap, unsigned int mbox, unsigned int phy_addr,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6590
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6767
int t4_sge_ctxt_flush(struct adapter *adap, unsigned int mbox, int ctxt_type)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6783
ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6817
ret = t4_query_params(adap, adap->mbox, adap->pf, 0,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6839
int t4_fw_hello(struct adapter *adap, unsigned int mbox, unsigned int evt_mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6855
mbox : FW_HELLO_CMD_MBMASTER_M) |
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6867
ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6899
master_mbox != mbox) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6965
int t4_fw_bye(struct adapter *adap, unsigned int mbox)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6971
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6982
int t4_early_init(struct adapter *adap, unsigned int mbox)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6988
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
6999
int t4_fw_reset(struct adapter *adap, unsigned int mbox, int reset)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7006
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7025
static int t4_fw_halt(struct adapter *adap, unsigned int mbox, int force)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7033
if (mbox <= PCIE_FW_MASTER_M) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7040
ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7091
static int t4_fw_restart(struct adapter *adap, unsigned int mbox, int reset)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7108
if (mbox <= PCIE_FW_MASTER_M) {
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7111
if (t4_fw_reset(adap, mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7154
int t4_fw_upgrade(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7168
ret = t4_fw_halt(adap, mbox, force);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7196
ret = t4_fw_restart(adap, mbox, reset);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7420
int t4_fw_initialize(struct adapter *adap, unsigned int mbox)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7426
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7444
int t4_query_params_rw(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7469
ret = t4_wr_mbox_meat(adap, mbox, &c, sizeof(c), &c, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7476
int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7480
return t4_query_params_rw(adap, mbox, pf, vf, nparams, params, val, 0,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7484
int t4_query_params_ns(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7488
return t4_query_params_rw(adap, mbox, pf, vf, nparams, params, val, 0,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7506
int t4_set_params_timeout(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7529
return t4_wr_mbox_timeout(adap, mbox, &c, sizeof(c), NULL, timeout);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7545
int t4_set_params(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7549
return t4_set_params_timeout(adap, mbox, pf, vf, nparams, params, val,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
756
ret = t4_wr_mbox(adap, adap->mbox, &ldst_cmd, sizeof(ldst_cmd),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7574
int t4_cfg_pfvf(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7598
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7620
int t4_alloc_vi(struct adapter *adap, unsigned int mbox, unsigned int port,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7635
ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7677
int t4_free_vi(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7691
return t4_wr_mbox(adap, mbox, &c, sizeof(c), &c);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7709
int t4_set_rxmode(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7748
ret = t4_wr_mbox_meat(adap, mbox, &c, sizeof(c), NULL, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7753
ret = t4_wr_mbox_meat(adap, mbox, &c_mirror, sizeof(c_mirror),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7791
ret = t4_wr_mbox_meat(adap, adap->mbox, &c, sizeof(c), &c, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7842
return t4_wr_mbox_meat(adap, adap->mbox, &c, sizeof(c), &c, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7888
ret = t4_wr_mbox_meat(adap, adap->mbox, &c, sizeof(c), &c, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7940
ret = t4_wr_mbox_meat(adap, adap->mbox, &c, sizeof(c), &c, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
7972
int t4_alloc_mac_filt(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8016
ret = t4_wr_mbox_meat(adap, mbox, &c, sizeof(c), &c, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8057
int t4_free_mac_filt(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8098
ret = t4_wr_mbox_meat(adap, mbox, &c, sizeof(c), &c, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8138
int t4_change_mac(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8160
ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8197
int t4_set_addr_hash(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8210
return t4_wr_mbox_meat(adap, mbox, &c, sizeof(c), NULL, sleep_ok);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8225
int t4_enable_vi_params(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8238
return t4_wr_mbox_ns(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8251
int t4_enable_vi(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8254
return t4_enable_vi_params(adap, mbox, viid, rx_en, tx_en, 0);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8272
int t4_enable_pi_params(struct adapter *adap, unsigned int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8276
int ret = t4_enable_vi_params(adap, mbox, pi->viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8294
int t4_identify_port(struct adapter *adap, unsigned int mbox, unsigned int viid,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8305
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8323
int t4_iq_stop(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8338
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8354
int t4_iq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8369
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8382
int t4_eth_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8394
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8407
int t4_ctrl_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8419
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8432
int t4_ofld_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8444
return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8732
ret = t4_link_l1cfg_ns(adapter, adapter->mbox, pi->lport, lc);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8766
ret = t4_wr_mbox(pi->adapter, pi->adapter->mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
8805
ret = t4_wr_mbox(pi->adapter, pi->adapter->mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9357
ret = t4_wr_mbox(adap, adap->mbox, &devlog_cmd, sizeof(devlog_cmd),
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9431
ret = t4_query_params(adap, adap->mbox, adap->pf, 0, 1,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9563
int t4_init_rss_mode(struct adapter *adap, int mbox)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9578
ret = t4_wr_mbox(adap, mbox, &rvc, sizeof(rvc), &rvc);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9600
int t4_init_portinfo(struct port_info *pi, int mbox,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9625
ret = t4_set_params(adapter, mbox, pf, vf, 1, ¶m, &val);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9639
ret = t4_wr_mbox(pi->adapter, mbox, &cmd, sizeof(cmd), &cmd);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9665
ret = t4_alloc_vi(pi->adapter, mbox, port, pf, vf, 1, mac, &rss_size,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9696
int t4_port_init(struct adapter *adap, int mbox, int pf, int vf)
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9707
ret = t4_init_portinfo(pi, mbox, j, pf, vf, addr);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9717
int t4_init_port_mirror(struct port_info *pi, u8 mbox, u8 port, u8 pf, u8 vf,
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
9722
ret = t4_alloc_vi(pi->adapter, mbox, port, pf, vf, 1, NULL, NULL,
drivers/net/ethernet/emulex/benet/be_cmds.c
671
struct be_mcc_mailbox *mbox = mbox_mem->va;
drivers/net/ethernet/emulex/benet/be_cmds.c
672
struct be_mcc_compl *compl = &mbox->compl;
drivers/net/ethernet/emulex/benet/be_cmds.c
700
status = be_mcc_compl_process(adapter, &mbox->compl);
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
1127
mbox_info->mbox = kzalloc(MBOX_MAX_BUF_SZ, GFP_KERNEL);
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
1128
if (!mbox_info->mbox)
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
1142
kfree(mbox_info->mbox);
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
1150
kfree(mbox_info->mbox);
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
320
cb(func_to_func->hwdev, recv_mbox->cmd, recv_mbox->mbox,
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
358
recv_mbox->mbox, recv_mbox->mbox_len,
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
450
memcpy((u8 *)recv_mbox->mbox + pos, mbox_body,
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
481
rcv_mbox_temp->mbox = kmemdup(recv_mbox->mbox, MBOX_MAX_BUF_SZ,
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
483
if (!rcv_mbox_temp->mbox)
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
508
kfree(rcv_mbox_temp->mbox);
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
658
static void clear_mbox_status(struct hinic_send_mbox *mbox)
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
660
*mbox->wb_status = 0;
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
667
struct hinic_send_mbox *mbox, u64 *header)
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
673
__raw_writel(*(data + i), mbox->data + i * sizeof(u32));
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
677
struct hinic_send_mbox *mbox, void *seg,
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
696
mbox->data + MBOX_HEADER_SZ + i * sizeof(u32));
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
745
static u16 get_mbox_status(struct hinic_send_mbox *mbox)
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
748
u64 wb_val = be64_to_cpu(*mbox->wb_status);
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
954
kfree(recv_mbox->mbox);
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c
990
memcpy(buf_out, mbox_for_resp->mbox,
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.h
45
void *mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c
622
struct hinic3_mbox *mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c
637
mbox = hwdev->mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c
638
spin_lock(&mbox->mbox_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c
639
if (mbox->event_flag == MBOX_EVENT_START)
drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c
640
mbox->event_flag = MBOX_EVENT_TIMEOUT;
drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c
641
spin_unlock(&mbox->mbox_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.h
68
struct hinic3_mbox *mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
103
static void resp_mbox_handler(struct hinic3_mbox *mbox,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
106
spin_lock(&mbox->mbox_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
107
if (msg_desc->msg_info.msg_id == mbox->send_msg_id &&
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
108
mbox->event_flag == MBOX_EVENT_START)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
109
mbox->event_flag = MBOX_EVENT_SUCCESS;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
110
spin_unlock(&mbox->mbox_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
113
static bool mbox_segment_valid(struct hinic3_mbox *mbox,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
149
dev_err(mbox->hwdev->dev,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
153
dev_err(mbox->hwdev->dev,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
160
static void recv_mbox_handler(struct hinic3_mbox *mbox,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
168
if (!mbox_segment_valid(mbox, msg_desc, mbox_header)) {
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
187
resp_mbox_handler(mbox, msg_desc);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
196
struct hinic3_mbox *mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
199
mbox = hwdev->mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
202
msg_desc = get_mbox_msg_desc(mbox, dir, src_func_id);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
204
dev_err(mbox->hwdev->dev,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
209
recv_mbox_handler(mbox, header, msg_desc);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
238
static int hinic3_init_mbox_dma_queue(struct hinic3_mbox *mbox)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
243
err = init_mbox_dma_queue(mbox->hwdev, &mbox->sync_msg_queue);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
247
err = init_mbox_dma_queue(mbox->hwdev, &mbox->async_msg_queue);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
249
uninit_mbox_dma_queue(mbox->hwdev, &mbox->sync_msg_queue);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
253
val = hinic3_hwif_read_reg(mbox->hwdev->hwif, MBOX_MQ_CI_OFFSET);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
256
hinic3_hwif_write_reg(mbox->hwdev->hwif, MBOX_MQ_CI_OFFSET, val);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
261
static void hinic3_uninit_mbox_dma_queue(struct hinic3_mbox *mbox)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
263
uninit_mbox_dma_queue(mbox->hwdev, &mbox->sync_msg_queue);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
264
uninit_mbox_dma_queue(mbox->hwdev, &mbox->async_msg_queue);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
291
static int init_mgmt_msg_channel(struct hinic3_mbox *mbox)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
295
err = alloc_mbox_msg_channel(&mbox->mgmt_msg);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
297
dev_err(mbox->hwdev->dev, "Failed to alloc mgmt message channel\n");
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
301
err = hinic3_init_mbox_dma_queue(mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
303
dev_err(mbox->hwdev->dev, "Failed to init mbox dma queue\n");
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
304
free_mbox_msg_channel(&mbox->mgmt_msg);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
311
static void uninit_mgmt_msg_channel(struct hinic3_mbox *mbox)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
313
hinic3_uninit_mbox_dma_queue(mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
314
free_mbox_msg_channel(&mbox->mgmt_msg);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
319
struct hinic3_mbox *mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
322
mbox = hwdev->mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
323
mbox->func_msg = kzalloc_obj(*mbox->func_msg);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
324
if (!mbox->func_msg)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
327
err = alloc_mbox_msg_channel(mbox->func_msg);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
334
kfree(mbox->func_msg);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
335
mbox->func_msg = NULL;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
342
struct hinic3_mbox *mbox = hwdev->mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
344
free_mbox_msg_channel(mbox->func_msg);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
345
kfree(mbox->func_msg);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
346
mbox->func_msg = NULL;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
349
static void prepare_send_mbox(struct hinic3_mbox *mbox)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
351
struct hinic3_send_mbox *send_mbox = &mbox->send_mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
353
send_mbox->data = MBOX_AREA(mbox->hwdev->hwif);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
356
static int alloc_mbox_wb_status(struct hinic3_mbox *mbox)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
358
struct hinic3_send_mbox *send_mbox = &mbox->send_mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
359
struct hinic3_hwdev *hwdev = mbox->hwdev;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
379
static void free_mbox_wb_status(struct hinic3_mbox *mbox)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
381
struct hinic3_send_mbox *send_mbox = &mbox->send_mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
382
struct hinic3_hwdev *hwdev = mbox->hwdev;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
394
struct hinic3_mbox *mbox)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
396
mbox->hwdev = hwdev;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
397
mutex_init(&mbox->mbox_send_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
398
spin_lock_init(&mbox->mbox_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
400
mbox->workq = create_singlethread_workqueue(HINIC3_MBOX_WQ_NAME);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
401
if (!mbox->workq) {
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
405
hwdev->mbox = mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
412
struct hinic3_mbox *mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
415
mbox = kzalloc_obj(*mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
416
if (!mbox)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
419
err = hinic3_mbox_pre_init(hwdev, mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
423
err = init_mgmt_msg_channel(mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
434
err = alloc_mbox_wb_status(mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
440
prepare_send_mbox(mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
448
uninit_mgmt_msg_channel(mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
450
destroy_workqueue(mbox->workq);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
452
kfree(mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
459
struct hinic3_mbox *mbox = hwdev->mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
461
destroy_workqueue(mbox->workq);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
462
free_mbox_wb_status(mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
464
uninit_mgmt_msg_channel(mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
465
kfree(mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
490
static int mbox_prepare_dma_entry(struct hinic3_mbox *mbox,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
499
dev_err(mbox->hwdev->dev, "Mbox sync message queue is busy, pi: %u, ci: %u\n",
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
521
static int mbox_prepare_dma_msg(struct hinic3_mbox *mbox,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
529
val = hinic3_hwif_read_reg(mbox->hwdev->hwif, MBOX_MQ_CI_OFFSET);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
531
mq = &mbox->sync_msg_queue;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
534
mq = &mbox->async_msg_queue;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
538
return mbox_prepare_dma_entry(mbox, mq, dma_msg, msg, msg_len);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
541
static void clear_mbox_status(struct hinic3_send_mbox *mbox)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
543
__be64 *wb_status = mbox->wb_vaddr;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
565
struct hinic3_send_mbox *mbox, __le64 *header)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
567
mbox_dword_write(header, mbox->data, MBOX_HEADER_SZ / sizeof(__le32));
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
571
struct hinic3_send_mbox *mbox, void *seg,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
574
u32 __iomem *dst = (u32 __iomem *)(mbox->data + MBOX_HEADER_SZ);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
590
static void write_mbox_msg_attr(struct hinic3_mbox *mbox,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
593
struct hinic3_hwif *hwif = mbox->hwdev->hwif;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
600
if (HINIC3_IS_VF(mbox->hwdev) && dst_func != MBOX_MGMT_FUNC_ID)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
619
static u16 get_mbox_status(const struct hinic3_send_mbox *mbox)
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
621
__be64 *wb_status = mbox->wb_vaddr;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
633
struct hinic3_mbox *mbox = priv_data;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
636
wb_status = get_mbox_status(&mbox->send_mbox);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
642
static int send_mbox_seg(struct hinic3_mbox *mbox, __le64 header,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
645
struct hinic3_send_mbox *send_mbox = &mbox->send_mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
646
struct hinic3_hwdev *hwdev = mbox->hwdev;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
664
write_mbox_msg_attr(mbox, dst_func, dst_aeqn, seg_len);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
666
err = hinic3_wait_for_timeout(mbox, check_mbox_wb_status,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
687
static int send_mbox_msg(struct hinic3_mbox *mbox, u8 mod, u16 cmd,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
694
struct hinic3_hwdev *hwdev = mbox->hwdev;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
711
err = mbox_prepare_dma_msg(mbox, ack_type, &dma_msg,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
746
err = send_mbox_seg(mbox, header, dst_func, msg_seg,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
765
static void set_mbox_to_func_event(struct hinic3_mbox *mbox,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
768
spin_lock(&mbox->mbox_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
769
mbox->event_flag = event_flag;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
770
spin_unlock(&mbox->mbox_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
775
struct hinic3_mbox *mbox = priv_data;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
777
return (mbox->event_flag == MBOX_EVENT_SUCCESS) ?
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
781
static int wait_mbox_msg_completion(struct hinic3_mbox *mbox,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
788
err = hinic3_wait_for_timeout(mbox, check_mbox_msg_finish,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
791
set_mbox_to_func_event(mbox, MBOX_EVENT_TIMEOUT);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
794
set_mbox_to_func_event(mbox, MBOX_EVENT_END);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
802
struct hinic3_mbox *mbox = hwdev->mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
809
msg_desc = get_mbox_msg_desc(mbox, MBOX_MSG_RESP, MBOX_MGMT_FUNC_ID);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
81
static struct hinic3_msg_desc *get_mbox_msg_desc(struct hinic3_mbox *mbox,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
810
mutex_lock(&mbox->mbox_send_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
811
msg_info.msg_id = (mbox->send_msg_id + 1) & 0xF;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
812
mbox->send_msg_id = msg_info.msg_id;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
813
set_mbox_to_func_event(mbox, MBOX_EVENT_START);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
815
err = send_mbox_msg(mbox, mod, cmd, msg_params->buf_in,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
821
set_mbox_to_func_event(mbox, MBOX_EVENT_FAIL);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
825
if (wait_mbox_msg_completion(mbox, msg_params->timeout_ms)) {
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
85
struct hinic3_hwdev *hwdev = mbox->hwdev;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
860
mutex_unlock(&mbox->mbox_send_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
873
send_mbox_msg(hwdev->mbox, mod, cmd, buf_in, in_size,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
881
struct hinic3_mbox *mbox = hwdev->mbox;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
885
mutex_lock(&mbox->mbox_send_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
886
err = send_mbox_msg(mbox, mod, cmd, msg_params->buf_in,
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
89
msg_ch = &mbox->mgmt_msg;
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
892
mutex_unlock(&mbox->mbox_send_lock);
drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c
92
msg_ch = mbox->func_msg;
drivers/net/ethernet/marvell/octeon_ep/octep_cn9k_pf.c
364
struct octep_mbox *mbox = oct->mbox[q_no];
drivers/net/ethernet/marvell/octeon_ep/octep_cn9k_pf.c
367
mbox->pf_vf_data_reg = oct->mmio[0].hw_addr + CN93_SDP_MBOX_PF_VF_DATA(q_no);
drivers/net/ethernet/marvell/octeon_ep/octep_cn9k_pf.c
370
mbox->vf_pf_data_reg = oct->mmio[0].hw_addr + CN93_SDP_MBOX_VF_PF_DATA(q_no);
drivers/net/ethernet/marvell/octeon_ep/octep_cn9k_pf.c
395
if (!oct->mbox[vf_mbox_queue]) {
drivers/net/ethernet/marvell/octeon_ep/octep_cn9k_pf.c
399
schedule_work(&oct->mbox[vf_mbox_queue]->wk.work);
drivers/net/ethernet/marvell/octeon_ep/octep_cnxk_pf.c
423
struct octep_mbox *mbox = oct->mbox[q_no];
drivers/net/ethernet/marvell/octeon_ep/octep_cnxk_pf.c
426
mbox->pf_vf_data_reg = oct->mmio[0].hw_addr + CNXK_SDP_MBOX_PF_VF_DATA(q_no);
drivers/net/ethernet/marvell/octeon_ep/octep_cnxk_pf.c
429
mbox->vf_pf_data_reg = oct->mmio[0].hw_addr + CNXK_SDP_MBOX_VF_PF_DATA(q_no);
drivers/net/ethernet/marvell/octeon_ep/octep_cnxk_pf.c
446
if (!oct->mbox[vf_mbox_queue]) {
drivers/net/ethernet/marvell/octeon_ep/octep_cnxk_pf.c
450
schedule_work(&oct->mbox[vf_mbox_queue]->wk.work);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
100
mbox->max_fw_version = (fw_versions & 0xffffffff);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
101
mbox->barmem_sz = readl(OCTEP_CTRL_MBOX_INFO_BARMEM_SZ(mbox->barmem));
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
104
OCTEP_CTRL_MBOX_INFO_HOST_STATUS(mbox->barmem));
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
106
mutex_init(&mbox->h2fq_lock);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
107
mutex_init(&mbox->f2hq_lock);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
109
mbox->h2fq.sz = readl(OCTEP_CTRL_MBOX_H2FQ_SZ(mbox->barmem));
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
110
mbox->h2fq.hw_prod = OCTEP_CTRL_MBOX_H2FQ_PROD(mbox->barmem);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
111
mbox->h2fq.hw_cons = OCTEP_CTRL_MBOX_H2FQ_CONS(mbox->barmem);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
112
mbox->h2fq.hw_q = mbox->barmem + OCTEP_CTRL_MBOX_TOTAL_INFO_SZ;
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
114
mbox->f2hq.sz = readl(OCTEP_CTRL_MBOX_F2HQ_SZ(mbox->barmem));
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
115
mbox->f2hq.hw_prod = OCTEP_CTRL_MBOX_F2HQ_PROD(mbox->barmem);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
116
mbox->f2hq.hw_cons = OCTEP_CTRL_MBOX_F2HQ_CONS(mbox->barmem);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
117
mbox->f2hq.hw_q = mbox->barmem +
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
119
mbox->h2fq.sz;
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
121
writeq(mbox->version, OCTEP_CTRL_MBOX_INFO_HOST_VERSION(mbox->barmem));
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
125
OCTEP_CTRL_MBOX_INFO_HOST_STATUS(mbox->barmem));
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
160
int octep_ctrl_mbox_send(struct octep_ctrl_mbox *mbox, struct octep_ctrl_mbox_msg *msg)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
167
if (!mbox || !msg)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
170
if (readq(OCTEP_CTRL_MBOX_INFO_FW_STATUS(mbox->barmem)) != OCTEP_CTRL_MBOX_STATUS_READY)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
173
mutex_lock(&mbox->h2fq_lock);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
174
q = &mbox->h2fq;
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
179
mutex_unlock(&mbox->h2fq_lock);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
192
mutex_unlock(&mbox->h2fq_lock);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
225
int octep_ctrl_mbox_recv(struct octep_ctrl_mbox *mbox, struct octep_ctrl_mbox_msg *msg)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
232
if (readq(OCTEP_CTRL_MBOX_INFO_FW_STATUS(mbox->barmem)) != OCTEP_CTRL_MBOX_STATUS_READY)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
235
mutex_lock(&mbox->f2hq_lock);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
236
q = &mbox->f2hq;
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
242
mutex_unlock(&mbox->f2hq_lock);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
255
mutex_unlock(&mbox->f2hq_lock);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
260
int octep_ctrl_mbox_uninit(struct octep_ctrl_mbox *mbox)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
262
if (!mbox)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
264
if (!mbox->barmem)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
267
writeq(0, OCTEP_CTRL_MBOX_INFO_HOST_VERSION(mbox->barmem));
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
269
OCTEP_CTRL_MBOX_INFO_HOST_STATUS(mbox->barmem));
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
273
mutex_destroy(&mbox->h2fq_lock);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
274
mutex_destroy(&mbox->f2hq_lock);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
74
int octep_ctrl_mbox_init(struct octep_ctrl_mbox *mbox)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
78
if (!mbox)
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
81
if (!mbox->barmem) {
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
82
pr_info("octep_ctrl_mbox : Invalid barmem %p\n", mbox->barmem);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
86
magic_num = readq(OCTEP_CTRL_MBOX_INFO_MAGIC_NUM(mbox->barmem));
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
92
status = readq(OCTEP_CTRL_MBOX_INFO_FW_STATUS(mbox->barmem));
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
98
fw_versions = readq(OCTEP_CTRL_MBOX_INFO_FW_VERSION(mbox->barmem));
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c
99
mbox->min_fw_version = ((fw_versions & 0xffffffff00000000ull) >> 32);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.h
152
int octep_ctrl_mbox_init(struct octep_ctrl_mbox *mbox);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.h
162
int octep_ctrl_mbox_send(struct octep_ctrl_mbox *mbox, struct octep_ctrl_mbox_msg *msg);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.h
172
int octep_ctrl_mbox_recv(struct octep_ctrl_mbox *mbox, struct octep_ctrl_mbox_msg *msg);
drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.h
180
int octep_ctrl_mbox_uninit(struct octep_ctrl_mbox *mbox);
drivers/net/ethernet/marvell/octeon_ep/octep_main.c
1398
vfree(oct->mbox[i]);
drivers/net/ethernet/marvell/octeon_ep/octep_main.c
1399
oct->mbox[i] = NULL;
drivers/net/ethernet/marvell/octeon_ep/octep_main.h
297
struct octep_mbox *mbox[OCTEP_MAX_VF];
drivers/net/ethernet/marvell/octeon_ep/octep_main.h
81
void (*setup_mbox_regs)(struct octep_device *oct, int mbox);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
104
struct octep_mbox *mbox;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
115
if (!oct->mbox[vf_mbox_queue]) {
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
119
mbox = oct->mbox[vf_mbox_queue];
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
121
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
122
writeq(cmd.u64, mbox->pf_vf_data_reg);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
123
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
272
oct->mbox[ring] = vzalloc(sizeof(*oct->mbox[ring]));
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
274
if (!oct->mbox[ring])
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
277
memset(oct->mbox[ring], 0, sizeof(struct octep_mbox));
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
279
mutex_init(&oct->mbox[ring]->lock);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
280
INIT_WORK(&oct->mbox[ring]->wk.work, octep_pfvf_mbox_work);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
281
oct->mbox[ring]->wk.ctxptr = oct->mbox[ring];
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
282
oct->mbox[ring]->oct = oct;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
283
oct->mbox[ring]->vf_id = i;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
292
cancel_work_sync(&oct->mbox[ring]->wk.work);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
293
mutex_destroy(&oct->mbox[ring]->lock);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
294
vfree(oct->mbox[ring]);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
295
oct->mbox[ring] = NULL;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
308
if (!oct->mbox[ring])
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
311
if (work_pending(&oct->mbox[ring]->wk.work))
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
312
cancel_work_sync(&oct->mbox[ring]->wk.work);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
314
mutex_destroy(&oct->mbox[ring]->lock);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
315
vfree(oct->mbox[ring]);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
316
oct->mbox[ring] = NULL;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
321
struct octep_mbox *mbox, int vf_id,
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
335
mbox->config_data_index = 0;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
336
memset(mbox->config_data, 0, MAX_VF_PF_MBOX_DATA_SIZE);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
346
mbox->message_len = sizeof(link_info);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
347
*((int32_t *)rsp->s_data.data) = mbox->message_len;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
348
memcpy(mbox->config_data, (u8 *)&link_info, sizeof(link_info));
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
359
mbox->message_len = sizeof(rx_stats) + sizeof(tx_stats);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
360
*((int32_t *)rsp->s_data.data) = mbox->message_len;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
361
memcpy(mbox->config_data, (u8 *)&rx_stats, sizeof(rx_stats));
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
362
memcpy(mbox->config_data + sizeof(rx_stats), (u8 *)&tx_stats,
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
371
*((int32_t *)rsp->s_data.data) = mbox->message_len;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
375
if (mbox->message_len > OCTEP_PFVF_MBOX_MAX_DATA_SIZE)
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
378
length = mbox->message_len;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
380
mbox->message_len -= length;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
384
mbox->config_data[mbox->config_data_index];
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
385
mbox->config_data_index++;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
415
struct octep_mbox *mbox = NULL;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
419
mbox = (struct octep_mbox *)wk->ctxptr;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
420
oct = (struct octep_device *)mbox->oct;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
421
vf_id = mbox->vf_id;
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
423
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
424
cmd.u64 = readq(mbox->vf_pf_data_reg);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
451
octep_pfvf_pf_get_data(oct, mbox, vf_id, cmd, &rsp);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
470
writeq(rsp.u64, mbox->vf_pf_data_reg);
drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c
471
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cn9k.c
248
struct octep_vf_mbox *mbox = oct->mbox;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cn9k.c
251
mbox->mbox_read_reg = oct->mmio.hw_addr + CN93_VF_SDP_R_MBOX_PF_VF_DATA(q_no);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cn9k.c
254
mbox->mbox_int_reg = oct->mmio.hw_addr + CN93_VF_SDP_R_MBOX_PF_VF_INT(q_no);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cn9k.c
257
mbox->mbox_write_reg = oct->mmio.hw_addr + CN93_VF_SDP_R_MBOX_VF_PF_DATA(q_no);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cn9k.c
263
if (oct->mbox)
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cn9k.c
264
schedule_work(&oct->mbox->wk.work);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cn9k.c
337
if (oct->mbox)
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cnxk.c
291
struct octep_vf_mbox *mbox = oct->mbox;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cnxk.c
294
mbox->mbox_read_reg = oct->mmio.hw_addr + CNXK_VF_SDP_R_MBOX_PF_VF_DATA(q_no);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cnxk.c
297
mbox->mbox_int_reg = oct->mmio.hw_addr + CNXK_VF_SDP_R_MBOX_PF_VF_INT(q_no);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cnxk.c
300
mbox->mbox_write_reg = oct->mmio.hw_addr + CNXK_VF_SDP_R_MBOX_VF_PF_DATA(q_no);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cnxk.c
306
if (oct->mbox)
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cnxk.c
307
schedule_work(&oct->mbox->wk.work);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_cnxk.c
380
if (oct->mbox)
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_main.h
283
struct octep_vf_mbox *mbox;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_main.h
59
void (*setup_mbox_regs)(struct octep_vf_device *oct, int mbox);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
116
struct octep_vf_mbox *mbox = oct->mbox;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
120
if (!mbox)
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
124
writeq(cmd.u64, mbox->mbox_write_reg);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
132
reg_val = readq(mbox->mbox_write_reg);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
153
struct octep_vf_mbox *mbox = oct->mbox;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
156
if (!mbox)
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
158
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
162
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
166
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
173
struct octep_vf_mbox *mbox = oct->mbox;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
179
if (!mbox)
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
182
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
190
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
206
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
207
mbox->mbox_data.data_index = 0;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
208
memset(mbox->mbox_data.recv_data, 0, OCTEP_PFVF_MBOX_MAX_DATA_BUF_SIZE);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
219
mbox->mbox_data.recv_data[mbox->mbox_data.data_index] =
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
221
mbox->mbox_data.data_index++;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
228
memcpy(data, mbox->mbox_data.recv_data, tmp_len);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
230
mbox->mbox_data.data_index = 0;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
231
memset(mbox->mbox_data.recv_data, 0, OCTEP_PFVF_MBOX_MAX_DATA_BUF_SIZE);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
232
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
27
oct->mbox = vzalloc(sizeof(*oct->mbox));
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
28
if (!oct->mbox)
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
31
mutex_init(&oct->mbox->lock);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
34
INIT_WORK(&oct->mbox->wk.work, octep_vf_mbox_work);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
35
oct->mbox->wk.ctxptr = oct;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
43
if (oct->mbox) {
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
44
if (work_pending(&oct->mbox->wk.work))
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
45
cancel_work_sync(&oct->mbox->wk.work);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
47
mutex_destroy(&oct->mbox->lock);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
48
vfree(oct->mbox);
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
49
oct->mbox = NULL;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
82
struct octep_vf_mbox *mbox = NULL;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
88
mbox = oct->mbox;
drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_mbox.c
89
pf_vf_data = readq(mbox->mbox_read_reg);
drivers/net/ethernet/marvell/octeontx2/af/cn20k/api.h
28
int cn20k_mbox_setup(struct otx2_mbox *mbox, struct pci_dev *pdev,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
100
mbox->tr_shift = 4;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
103
mbox->trigger = RVU_MBOX_AF_AFPFX_TRIGX(0);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
104
mbox->tr_shift = 4;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
107
mbox->trigger = RVU_MBOX_PF_PFAF_TRIGX(0);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
108
mbox->tr_shift = 0;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
111
mbox->trigger = RVU_MBOX_PF_PFAF_TRIGX(1);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
112
mbox->tr_shift = 0;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
115
mbox->trigger = RVU_MBOX_PF_VFX_PFVF_TRIGX(1);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
116
mbox->tr_shift = 4;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
119
mbox->trigger = RVU_MBOX_PF_VFX_PFVF_TRIGX(0);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
120
mbox->tr_shift = 4;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
123
mbox->trigger = RVU_MBOX_VF_VFPF_TRIGX(0);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
124
mbox->tr_shift = 0;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
127
mbox->trigger = RVU_MBOX_VF_VFPF_TRIGX(1);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
128
mbox->tr_shift = 0;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
133
mbox->reg_base = reg_base;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
134
mbox->pdev = pdev;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
136
mbox->dev = kzalloc_objs(struct otx2_mbox_dev, ndevs);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
137
if (!mbox->dev) {
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
138
otx2_mbox_destroy(mbox);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
141
mbox->ndevs = ndevs;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
146
static int otx2_mbox_setup(struct otx2_mbox *mbox, struct pci_dev *pdev,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
150
return cn20k_mbox_setup(mbox, pdev, reg_base,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
156
mbox->tx_start = MBOX_DOWN_TX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
157
mbox->rx_start = MBOX_DOWN_RX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
158
mbox->tx_size = MBOX_DOWN_TX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
159
mbox->rx_size = MBOX_DOWN_RX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
163
mbox->tx_start = MBOX_DOWN_RX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
164
mbox->rx_start = MBOX_DOWN_TX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
165
mbox->tx_size = MBOX_DOWN_RX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
166
mbox->rx_size = MBOX_DOWN_TX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
170
mbox->tx_start = MBOX_UP_TX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
171
mbox->rx_start = MBOX_UP_RX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
172
mbox->tx_size = MBOX_UP_TX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
173
mbox->rx_size = MBOX_UP_RX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
177
mbox->tx_start = MBOX_UP_RX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
178
mbox->rx_start = MBOX_UP_TX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
179
mbox->tx_size = MBOX_UP_RX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
180
mbox->rx_size = MBOX_UP_TX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
189
mbox->trigger = RVU_AF_AFPF_MBOX0;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
190
mbox->tr_shift = 4;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
194
mbox->trigger = RVU_PF_PFAF_MBOX1;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
195
mbox->tr_shift = 0;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
199
mbox->trigger = RVU_PF_VFX_PFVF_MBOX0;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
200
mbox->tr_shift = 12;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
204
mbox->trigger = RVU_VF_VFPF_MBOX1;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
205
mbox->tr_shift = 0;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
21
void __otx2_mbox_reset(struct otx2_mbox *mbox, int devid)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
211
mbox->reg_base = reg_base;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
212
mbox->pdev = pdev;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
214
mbox->dev = kzalloc_objs(struct otx2_mbox_dev, ndevs);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
215
if (!mbox->dev) {
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
216
otx2_mbox_destroy(mbox);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
219
mbox->ndevs = ndevs;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
224
int otx2_mbox_init(struct otx2_mbox *mbox, void *hwbase, struct pci_dev *pdev,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
23
struct otx2_mbox_dev *mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
230
err = otx2_mbox_setup(mbox, pdev, reg_base, direction, ndevs);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
234
mbox->hwbase = hwbase;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
237
mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
238
mdev->mbase = mbox->hwbase + (devid * MBOX_SIZE);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
242
otx2_mbox_reset(mbox, devid);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
252
int otx2_mbox_regions_init(struct otx2_mbox *mbox, void **hwbase,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
259
err = otx2_mbox_setup(mbox, pdev, reg_base, direction, ndevs);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
263
mbox->hwbase = hwbase[0];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
269
mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
27
tx_hdr = hw_mbase + mbox->tx_start;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
274
otx2_mbox_reset(mbox, devid);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
28
rx_hdr = hw_mbase + mbox->rx_start;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
281
int otx2_mbox_wait_for_rsp(struct otx2_mbox *mbox, int devid)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
284
struct otx2_mbox_dev *mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
291
trace_otx2_msg_wait_rsp(mbox->pdev);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
296
int otx2_mbox_busy_poll_for_rsp(struct otx2_mbox *mbox, int devid)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
298
struct otx2_mbox_dev *mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
310
static void otx2_mbox_msg_send_data(struct otx2_mbox *mbox, int devid, u64 data)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
312
struct otx2_mbox_dev *mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
318
tx_hdr = hw_mbase + mbox->tx_start;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
319
rx_hdr = hw_mbase + mbox->rx_start;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
325
memcpy(hw_mbase + mbox->tx_start + msgs_offset,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
326
mdev->mbase + mbox->tx_start + msgs_offset,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
350
msg = (struct mbox_msghdr *)(hw_mbase + mbox->tx_start + msgs_offset);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
352
trace_otx2_msg_send(mbox->pdev, tx_hdr->num_msgs, tx_hdr->msg_size,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
358
intr_val = readq((void __iomem *)mbox->reg_base +
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
359
(mbox->trigger | (devid << mbox->tr_shift)));
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
365
writeq(intr_val, (void __iomem *)mbox->reg_base +
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
366
(mbox->trigger | (devid << mbox->tr_shift)));
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
369
void otx2_mbox_msg_send(struct otx2_mbox *mbox, int devid)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
371
otx2_mbox_msg_send_data(mbox, devid, MBOX_DOWN_MSG);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
375
void otx2_mbox_msg_send_up(struct otx2_mbox *mbox, int devid)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
377
otx2_mbox_msg_send_data(mbox, devid, MBOX_UP_MSG);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
381
bool otx2_mbox_wait_for_zero(struct otx2_mbox *mbox, int devid)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
385
data = readq((void __iomem *)mbox->reg_base +
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
386
(mbox->trigger | (devid << mbox->tr_shift)));
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
396
data = readq((void __iomem *)mbox->reg_base +
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
397
(mbox->trigger | (devid << mbox->tr_shift)));
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
403
struct mbox_msghdr *otx2_mbox_alloc_msg_rsp(struct otx2_mbox *mbox, int devid,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
406
struct otx2_mbox_dev *mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
41
void otx2_mbox_reset(struct otx2_mbox *mbox, int devid)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
414
if ((mdev->msg_size + size) > mbox->tx_size - msgs_offset)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
416
if ((mdev->rsp_size + size_rsp) > mbox->rx_size - msgs_offset)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
423
msghdr = mdev->mbase + mbox->tx_start + msgs_offset + mdev->msg_size;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
43
struct otx2_mbox_dev *mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
433
mboxhdr = mdev->mbase + mbox->tx_start;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
444
struct mbox_msghdr *otx2_mbox_get_rsp(struct otx2_mbox *mbox, int devid,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
447
unsigned long imsg = mbox->tx_start + msgs_offset;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
448
unsigned long irsp = mbox->rx_start + msgs_offset;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
449
struct otx2_mbox_dev *mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
46
__otx2_mbox_reset(mbox, devid);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
468
imsg = mbox->tx_start + pmsg->next_msgoff;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
469
irsp = mbox->rx_start + prsp->next_msgoff;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
478
int otx2_mbox_check_rsp_msgs(struct otx2_mbox *mbox, int devid)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
480
unsigned long ireq = mbox->tx_start + msgs_offset;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
481
unsigned long irsp = mbox->rx_start + msgs_offset;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
482
struct otx2_mbox_dev *mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
496
trace_otx2_msg_check(mbox->pdev, preq->id,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
502
trace_otx2_msg_check(mbox->pdev, preq->id,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
507
ireq = mbox->tx_start + preq->next_msgoff;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
508
irsp = mbox->rx_start + prsp->next_msgoff;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
51
void otx2_mbox_destroy(struct otx2_mbox *mbox)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
518
otx2_reply_invalid_msg(struct otx2_mbox *mbox, int devid, u16 pcifunc, u16 id)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
523
otx2_mbox_alloc_msg(mbox, devid, sizeof(*rsp));
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
53
mbox->reg_base = NULL;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
534
bool otx2_mbox_nonempty(struct otx2_mbox *mbox, int devid)
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
536
struct otx2_mbox_dev *mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
54
mbox->hwbase = NULL;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
56
kfree(mbox->dev);
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
57
mbox->dev = NULL;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
61
int cn20k_mbox_setup(struct otx2_mbox *mbox, struct pci_dev *pdev,
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
67
mbox->tx_start = MBOX_DOWN_TX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
68
mbox->rx_start = MBOX_DOWN_RX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
69
mbox->tx_size = MBOX_DOWN_TX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
70
mbox->rx_size = MBOX_DOWN_RX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
74
mbox->tx_start = MBOX_DOWN_RX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
75
mbox->rx_start = MBOX_DOWN_TX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
76
mbox->tx_size = MBOX_DOWN_RX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
77
mbox->rx_size = MBOX_DOWN_TX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
81
mbox->tx_start = MBOX_UP_TX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
82
mbox->rx_start = MBOX_UP_RX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
83
mbox->tx_size = MBOX_UP_TX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
84
mbox->rx_size = MBOX_UP_RX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
88
mbox->tx_start = MBOX_UP_RX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
89
mbox->rx_start = MBOX_UP_TX_START;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
90
mbox->tx_size = MBOX_UP_RX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
91
mbox->rx_size = MBOX_UP_TX_SIZE;
drivers/net/ethernet/marvell/octeontx2/af/mbox.c
99
mbox->trigger = RVU_MBOX_AF_AFPFX_TRIGX(1);
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
105
void otx2_mbox_reset(struct otx2_mbox *mbox, int devid);
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
106
void __otx2_mbox_reset(struct otx2_mbox *mbox, int devid);
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
107
void otx2_mbox_destroy(struct otx2_mbox *mbox);
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
108
int otx2_mbox_init(struct otx2_mbox *mbox, void __force *hwbase,
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
112
int otx2_mbox_regions_init(struct otx2_mbox *mbox, void __force **hwbase,
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
115
void otx2_mbox_msg_send(struct otx2_mbox *mbox, int devid);
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
116
void otx2_mbox_msg_send_up(struct otx2_mbox *mbox, int devid);
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
117
int otx2_mbox_wait_for_rsp(struct otx2_mbox *mbox, int devid);
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
118
int otx2_mbox_busy_poll_for_rsp(struct otx2_mbox *mbox, int devid);
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
119
struct mbox_msghdr *otx2_mbox_alloc_msg_rsp(struct otx2_mbox *mbox, int devid,
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
121
struct mbox_msghdr *otx2_mbox_get_rsp(struct otx2_mbox *mbox, int devid,
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
123
int otx2_mbox_check_rsp_msgs(struct otx2_mbox *mbox, int devid);
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
124
int otx2_reply_invalid_msg(struct otx2_mbox *mbox, int devid,
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
126
bool otx2_mbox_nonempty(struct otx2_mbox *mbox, int devid);
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
128
static inline struct mbox_msghdr *otx2_mbox_alloc_msg(struct otx2_mbox *mbox,
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
131
return otx2_mbox_alloc_msg_rsp(mbox, devid, size, 0);
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
134
bool otx2_mbox_wait_for_zero(struct otx2_mbox *mbox, int devid);
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2188
static int rvu_process_mbox_msg(struct otx2_mbox *mbox, int devid,
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2191
struct rvu *rvu = pci_get_drvdata(mbox->pdev);
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2204
mbox, devid, \
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2226
trace_otx2_msg_process(mbox->pdev, _id, err, req->pcifunc); \
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2234
otx2_reply_invalid_msg(mbox, devid, req->pcifunc, req->id);
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2247
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2261
mbox = &mw->mbox;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2262
mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2265
req_hdr = mdev->mbase + mbox->rx_start;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2269
offset = mbox->rx_start + ALIGN(sizeof(*req_hdr), MBOX_MSG_ALIGN);
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2303
err = rvu_process_mbox_msg(mbox, devid, msg);
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2305
offset = mbox->rx_start + msg->next_msgoff;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2322
if (!is_cn20k(mbox->pdev) && poll)
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2323
otx2_mbox_wait_for_zero(mbox, devid);
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2326
otx2_mbox_msg_send(mbox, devid);
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2353
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2368
mbox = &mw->mbox_up;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2369
mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2371
rsp_hdr = mdev->mbase + mbox->rx_start;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2377
offset = mbox->rx_start + ALIGN(sizeof(*rsp_hdr), MBOX_MSG_ALIGN);
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2406
offset = mbox->rx_start + msg->next_msgoff;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2411
otx2_mbox_reset(mbox, devid);
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2600
err = otx2_mbox_regions_init(&mw->mbox, mbox_regions, rvu->pdev,
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2646
struct otx2_mbox *mbox = &mw->mbox;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2655
for (devid = 0; devid < mbox->ndevs; devid++) {
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2656
mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2661
otx2_mbox_destroy(&mw->mbox);
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2669
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2678
mbox = &mw->mbox;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2679
mdev = &mbox->dev[i];
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2680
hdr = mdev->mbase + mbox->rx_start;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2695
mbox = &mw->mbox_up;
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2696
mdev = &mbox->dev[i];
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
2697
hdr = mdev->mbase + mbox->rx_start;
drivers/net/ethernet/marvell/octeontx2/af/rvu.h
468
struct otx2_mbox mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
120
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
190
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
192
req = otx2_mbox_alloc_msg_nix_bandprof_free(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
201
rc = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
203
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
213
req = otx2_mbox_alloc_msg_nix_bandprof_alloc(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
219
rc = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
224
otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
250
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
254
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
330
aq = otx2_mbox_alloc_msg_nix_cn10k_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
355
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
362
req = otx2_mbox_alloc_msg_nix_bandprof_free(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
369
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
377
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
389
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
406
aq = otx2_mbox_alloc_msg_nix_cn10k_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
494
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
503
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
518
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
57
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
58
req = otx2_mbox_alloc_msg_lmtst_tbl_setup(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
60
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
69
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
75
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
76
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
95
aq = otx2_mbox_alloc_msg_nix_cn10k_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
107
ret = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
110
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
116
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
117
otx2_mbox_alloc_msg_cpt_lf_free(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
118
otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
119
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
127
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
128
req = otx2_mbox_alloc_msg_cpt_inline_ipsec_cfg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
135
ret = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
137
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
54
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
56
attach = otx2_mbox_alloc_msg_attach_resources(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
64
ret = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
67
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
76
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
77
detach = otx2_mbox_alloc_msg_detach_resources(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
85
ret = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
88
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
97
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_ipsec.c
98
req = otx2_mbox_alloc_msg_cpt_lf_alloc(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
142
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
147
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
149
req = otx2_mbox_alloc_msg_mcs_alloc_resources(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
157
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
161
rsp = (struct mcs_alloc_rsrc_rsp *)otx2_mbox_get_rsp(&pfvf->mbox.mbox,
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
1768
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
1786
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
1788
req = otx2_mbox_alloc_msg_mcs_intr_cfg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
1794
if (otx2_sync_mbox_msg(mbox))
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
1797
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
1802
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
187
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
193
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
202
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
205
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
207
clear_req = otx2_mbox_alloc_msg_mcs_clear_stats(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
215
req = otx2_mbox_alloc_msg_mcs_free_resources(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
225
if (otx2_sync_mbox_msg(&pfvf->mbox))
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
228
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
234
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
261
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
266
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
268
req = otx2_mbox_alloc_msg_mcs_secy_plcy_write(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
302
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
305
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
315
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
319
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
321
req = otx2_mbox_alloc_msg_mcs_flowid_entry_write(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
348
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
351
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
360
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
363
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
365
sc_req = otx2_mbox_alloc_msg_mcs_rx_sc_cam_write(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
375
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
378
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
428
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
431
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
433
plcy_req = otx2_mbox_alloc_msg_mcs_sa_plcy_write(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
439
map_req = otx2_mbox_alloc_msg_mcs_rx_sc_sa_map_write(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
441
otx2_mbox_reset(&mbox->mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
461
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
464
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
473
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
476
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
478
req = otx2_mbox_alloc_msg_mcs_pn_table_write(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
488
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
491
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
500
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
514
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
516
req = otx2_mbox_alloc_msg_mcs_secy_plcy_write(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
571
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
574
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
583
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
587
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
589
req = otx2_mbox_alloc_msg_mcs_flowid_entry_write(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
617
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
620
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
630
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
637
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
639
map_req = otx2_mbox_alloc_msg_mcs_tx_sc_sa_map_write(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
641
otx2_mbox_reset(&mbox->mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
651
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
654
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
666
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
669
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
671
plcy_req = otx2_mbox_alloc_msg_mcs_sa_plcy_write(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
687
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
690
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
699
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
702
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
704
req = otx2_mbox_alloc_msg_mcs_pn_table_write(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
714
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
717
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
725
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
728
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
730
req = otx2_mbox_alloc_msg_mcs_flowid_ena_entry(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
740
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
743
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
752
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
757
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
759
req = otx2_mbox_alloc_msg_mcs_get_sa_stats(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
771
clear_req = otx2_mbox_alloc_msg_mcs_clear_stats(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
781
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
785
rsp = (struct mcs_sa_stats *)otx2_mbox_get_rsp(&pfvf->mbox.mbox,
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
794
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
798
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
807
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
812
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
814
req = otx2_mbox_alloc_msg_mcs_get_sc_stats(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
826
clear_req = otx2_mbox_alloc_msg_mcs_clear_stats(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
836
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
840
rsp = (struct mcs_sc_stats *)otx2_mbox_get_rsp(&pfvf->mbox.mbox,
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
849
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
853
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
862
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
867
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
869
req = otx2_mbox_alloc_msg_mcs_get_secy_stats(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
881
clear_req = otx2_mbox_alloc_msg_mcs_clear_stats(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
891
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
895
rsp = (struct mcs_secy_stats *)otx2_mbox_get_rsp(&pfvf->mbox.mbox,
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
904
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c
908
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
151
struct mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
160
mbox = pf->mbox_pfvf;
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
165
irq_data->pf_queue_work_hdlr(mbox, pf->mbox_pfvf_wq, irq_data->start,
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
17
struct mbox *mw = &pf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
19
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
274
aq = otx2_mbox_alloc_msg_npa_cn20k_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
277
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
280
aq = otx2_mbox_alloc_msg_npa_cn20k_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
29
mbox = &mw->mbox_up;
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
30
mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
31
otx2_sync_mbox_bbuf(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
33
hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
350
aq = otx2_mbox_alloc_msg_npa_cn20k_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
353
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
358
aq = otx2_mbox_alloc_msg_npa_cn20k_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
406
aq = otx2_mbox_alloc_msg_nix_cn20k_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
42
mbox = &mw->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
43
mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
431
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
44
otx2_sync_mbox_bbuf(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
46
hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
60
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
73
mbox = &vf->mbox.mbox;
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
74
mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
75
otx2_sync_mbox_bbuf(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
77
hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
79
queue_work(vf->mbox_wq, &vf->mbox.mbox_wrk);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
81
trace_otx2_msg_interrupt(mbox->pdev, "DOWN reply from PF0 to VF",
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
87
mbox = &vf->mbox.mbox_up;
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
88
mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
89
otx2_sync_mbox_bbuf(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
91
hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
93
queue_work(vf->mbox_wq, &vf->mbox.mbox_up_wrk);
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c
95
trace_otx2_msg_interrupt(mbox->pdev, "UP message from PF0 to VF",
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1115
aq = otx2_mbox_alloc_msg_nix_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1151
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1228
nixlf = otx2_mbox_alloc_msg_nix_lf_alloc(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1249
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1253
rsp = (struct nix_lf_alloc_rsp *)otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1395
aq = otx2_mbox_alloc_msg_npa_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1398
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1401
aq = otx2_mbox_alloc_msg_npa_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1479
aq = otx2_mbox_alloc_msg_npa_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1482
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1487
aq = otx2_mbox_alloc_msg_npa_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1577
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1616
otx2_mbox_reset(&pfvf->mbox.mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
164
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1649
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
165
req = otx2_mbox_alloc_msg_nix_set_mac_addr(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
167
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1674
otx2_mbox_reset(&pfvf->mbox.mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1699
npalf = otx2_mbox_alloc_msg_npa_lf_alloc(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1708
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1711
int otx2_detach_resources(struct mbox *mbox)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1715
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1716
detach = otx2_mbox_alloc_msg_detach_resources(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1718
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1726
otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1727
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
173
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1738
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
174
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1740
attach = otx2_mbox_alloc_msg_attach_resources(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1742
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1750
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1752
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1765
msix = otx2_mbox_alloc_msg_msix_offset(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1767
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1771
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1773
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1776
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1789
void otx2_ctx_disable(struct mbox *mbox, int type, bool npa)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1793
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1796
req = otx2_mbox_alloc_msg_npa_hwctx_disable(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1798
req = otx2_mbox_alloc_msg_nix_hwctx_disable(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1801
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1807
if (otx2_sync_mbox_msg(mbox))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1808
dev_err(mbox->pfvf->dev, "%s failed to disable context\n",
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1811
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1819
req = otx2_mbox_alloc_msg_nix_bp_enable(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1821
req = otx2_mbox_alloc_msg_nix_bp_disable(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1835
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1844
req = otx2_mbox_alloc_msg_nix_cpt_bp_enable(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1846
req = otx2_mbox_alloc_msg_nix_cpt_bp_disable(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
186
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1860
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
187
req = otx2_mbox_alloc_msg_nix_get_mac_addr(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
189
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
193
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
195
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1987
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1989
req = otx2_mbox_alloc_msg_nix_get_hw_info(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
199
msghdr = otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1995
rc = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
1998
otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
201
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
2019
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
206
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
2066
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
2072
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
2074
req = otx2_mbox_alloc_msg_get_hw_cap(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
2078
ret = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
2082
rsp = (struct get_hw_cap_rsp *)otx2_mbox_get_rsp(&pfvf->mbox.mbox,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
2092
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
2097
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
244
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
245
req = otx2_mbox_alloc_msg_nix_set_hw_frs(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
247
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
257
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
258
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
271
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
272
req = otx2_mbox_alloc_msg_cgx_cfg_pause_frm(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
282
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
284
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
296
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
297
req = otx2_mbox_alloc_msg_nix_rss_flowkey_cfg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
299
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
306
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
311
otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
319
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
327
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
331
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
339
aq = otx2_mbox_alloc_msg_nix_aq_enq(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
344
err = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
346
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
349
aq = otx2_mbox_alloc_msg_nix_aq_enq(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
351
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
363
err = otx2_sync_mbox_msg(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
364
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
469
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
472
lso = otx2_mbox_alloc_msg_nix_lso_format_cfg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
479
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
484
otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &lso->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
491
lso = otx2_mbox_alloc_msg_nix_lso_format_cfg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
498
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
503
otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &lso->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
508
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
511
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
60
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
61
req = otx2_mbox_alloc_msg_cgx_stats(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
627
req = otx2_mbox_alloc_msg_nix_txschq_cfg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
63
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
67
otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
68
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
732
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
741
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
743
req = otx2_mbox_alloc_msg_nix_txschq_cfg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
745
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
754
rc = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
755
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
768
req = otx2_mbox_alloc_msg_nix_txsch_alloc(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
77
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
78
req = otx2_mbox_alloc_msg_cgx_fec_stats(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
781
rc = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
786
otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
80
otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
809
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
81
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
811
free_req = otx2_mbox_alloc_msg_nix_txsch_free(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
813
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
822
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
828
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
896
aq = otx2_mbox_alloc_msg_nix_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
920
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
932
aq = otx2_mbox_alloc_msg_nix_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
957
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
1021
int otx2_detach_resources(struct mbox *mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
1039
void otx2_ctx_disable(struct mbox *mbox, int type, bool npa);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
1224
void otx2_queue_vf_work(struct mbox *mw, struct workqueue_struct *mbox_wq,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
171
struct otx2_mbox mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
453
void (*pf_queue_work_hdlr)(struct mbox *mb, struct workqueue_struct *mw,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
500
struct mbox mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
501
struct mbox *mbox_pfvf;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
704
static inline int otx2_mbox_bbuf_init(struct mbox *mbox, struct pci_dev *pdev)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
709
mbox->bbuf_base = devm_kmalloc(&pdev->dev, MBOX_SIZE, GFP_KERNEL);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
710
if (!mbox->bbuf_base)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
717
otx2_mbox = &mbox->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
719
mdev->mbase = mbox->bbuf_base;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
721
otx2_mbox = &mbox->mbox_up;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
723
mdev->mbase = mbox->bbuf_base;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
727
static inline void otx2_sync_mbox_bbuf(struct otx2_mbox *mbox, int devid)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
730
void *hw_mbase = mbox->hwbase + (devid * MBOX_SIZE);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
731
struct otx2_mbox_dev *mdev = &mbox->dev[devid];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
738
hdr = hw_mbase + mbox->rx_start;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
741
if (msg_size > mbox->rx_size - msgs_offset)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
742
msg_size = mbox->rx_size - msgs_offset;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
745
memcpy(mdev->mbase + mbox->rx_start,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
746
hw_mbase + mbox->rx_start, msg_size + msgs_offset);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
860
static inline int otx2_sync_mbox_msg(struct mbox *mbox)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
864
if (!otx2_mbox_nonempty(&mbox->mbox, 0))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
866
otx2_mbox_msg_send(&mbox->mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
867
err = otx2_mbox_wait_for_rsp(&mbox->mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
871
return otx2_mbox_check_rsp_msgs(&mbox->mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
874
static inline int otx2_sync_mbox_up_msg(struct mbox *mbox, int devid)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
878
if (!otx2_mbox_nonempty(&mbox->mbox_up, devid))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
880
otx2_mbox_msg_send_up(&mbox->mbox_up, devid);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
881
err = otx2_mbox_wait_for_rsp(&mbox->mbox_up, devid);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
885
return otx2_mbox_check_rsp_msgs(&mbox->mbox_up, devid);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
891
static inline int otx2_sync_mbox_msg_busy_poll(struct mbox *mbox)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
895
if (!otx2_mbox_nonempty(&mbox->mbox, 0))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
897
otx2_mbox_msg_send(&mbox->mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
898
err = otx2_mbox_busy_poll_for_rsp(&mbox->mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
902
return otx2_mbox_check_rsp_msgs(&mbox->mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
907
*otx2_mbox_alloc_msg_ ## _fn_name(struct mbox *mbox) \
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
910
u16 pcifunc = mbox->pfvf->pcifunc; \
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
913
&mbox->mbox, 0, sizeof(struct _req_type), \
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
920
trace_otx2_msg_alloc(mbox->mbox.pdev, _id, sizeof(*req), pcifunc); \
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
156
cn10k_sq_aq = otx2_mbox_alloc_msg_nix_cn10k_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
171
sq_aq = otx2_mbox_alloc_msg_nix_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
187
otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
203
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
206
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
212
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
229
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
242
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
252
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
259
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
299
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
300
req = otx2_mbox_alloc_msg_cgx_prio_flow_ctrl_cfg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
315
if (!otx2_sync_mbox_msg(&pfvf->mbox)) {
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
317
otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
330
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
357
aq = otx2_mbox_alloc_msg_nix_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
371
otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
373
npa_aq = otx2_mbox_alloc_msg_npa_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
385
otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
66
req = otx2_mbox_alloc_msg_nix_txsch_alloc(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
77
rc = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
82
otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
100
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
101
req = otx2_mbox_alloc_msg_cgx_mac_addr_del(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
103
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
109
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
110
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
120
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
121
req = otx2_mbox_alloc_msg_cgx_mac_addr_reset(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
123
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
128
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
130
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
155
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
156
msg = otx2_mbox_alloc_msg_cgx_mac_max_entries_get(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
159
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
163
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
168
otx2_mbox_get_rsp(&pf->mbox.mbox, 0, &msg->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
17
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
178
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
188
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
19
req = otx2_mbox_alloc_msg_cgx_mac_addr_add(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
190
req = otx2_mbox_alloc_msg_cgx_mac_addr_update(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
193
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
202
rc = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
207
otx2_mbox_get_rsp(&pf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
21
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
216
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
26
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
30
otx2_mbox_get_rsp(&pf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
32
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
39
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
49
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
51
req = otx2_mbox_alloc_msg_cgx_mac_addr_set(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
53
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
60
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
66
otx2_mbox_get_rsp(&pf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
75
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1007
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1008
req = otx2_mbox_alloc_msg_cgx_get_aux_link_info(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1010
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1014
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1017
otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1022
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1056
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1081
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1082
req = otx2_mbox_alloc_msg_cgx_set_fec_param(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1088
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1092
rsp = (struct fec_mode *)otx2_mbox_get_rsp(&pfvf->mbox.mbox,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1104
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1243
struct mbox *mbox = &pf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1263
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1264
req = otx2_mbox_alloc_msg_cgx_set_link_mode(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1291
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1293
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
173
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
174
req = otx2_mbox_alloc_msg_cgx_get_phy_fec_stats(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
178
if (!otx2_sync_mbox_msg(&pfvf->mbox))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
181
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
324
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
325
req = otx2_mbox_alloc_msg_cgx_cfg_pause_frm(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
327
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
331
if (!otx2_sync_mbox_msg(&pfvf->mbox)) {
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
333
otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
335
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
342
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1018
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1049
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1056
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
112
if (otx2_sync_mbox_msg(&pfvf->mbox))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
116
(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1219
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1220
req = otx2_mbox_alloc_msg_npc_delete_flow(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1222
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1231
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1232
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1347
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1348
req = otx2_mbox_alloc_msg_npc_delete_flow(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1350
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1356
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1357
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1388
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1389
req = otx2_mbox_alloc_msg_npc_mcam_free_entry(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1391
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1397
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1399
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1405
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1416
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1417
req = otx2_mbox_alloc_msg_npc_install_flow(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1419
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
142
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1434
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1435
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1445
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1446
req = otx2_mbox_alloc_msg_npc_delete_flow(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1448
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1454
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1455
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1479
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1480
req = otx2_mbox_alloc_msg_nix_vtag_cfg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1482
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1493
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1495
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1499
rsp_hdr = otx2_mbox_get_rsp(&pf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1501
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
1505
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
178
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
180
req = otx2_mbox_alloc_msg_npc_mcam_alloc_entry(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
182
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
190
if (otx2_sync_mbox_msg(&pfvf->mbox)) {
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
191
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
196
(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
198
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
205
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
222
freq = otx2_mbox_alloc_msg_npc_get_field_status(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
224
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
229
if (otx2_sync_mbox_msg(&pfvf->mbox)) {
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
230
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
235
(&pfvf->mbox.mbox, 0, &freq->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
237
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
247
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
369
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
370
req = otx2_mbox_alloc_msg_npc_install_flow(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
372
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
396
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
397
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
443
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
444
req = otx2_mbox_alloc_msg_npc_delete_flow(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
446
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
451
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
452
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
49
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
51
req = otx2_mbox_alloc_msg_npc_mcam_free_entry(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
58
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
62
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
89
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
95
req = otx2_mbox_alloc_msg_npc_mcam_alloc_entry(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
983
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
984
req = otx2_mbox_alloc_msg_npc_install_flow(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
986
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
993
otx2_mbox_reset(&pfvf->mbox.mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
994
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1007
struct mbox *af_mbox = container_of(work, struct mbox, mbox_up_wrk);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1008
struct otx2_mbox *mbox = &af_mbox->mbox_up;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1009
struct otx2_mbox_dev *mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1016
rsp_hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1019
offset = mbox->rx_start + ALIGN(sizeof(*rsp_hdr), MBOX_MSG_ALIGN);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1031
offset = mbox->rx_start + msg->next_msgoff;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1035
otx2_forward_vf_mbox_msgs(pf, &pf->mbox.mbox_up,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1041
otx2_mbox_msg_send(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1047
struct mbox *mw = &pf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1049
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1063
mbox = &mw->mbox_up;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1064
mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1065
otx2_sync_mbox_bbuf(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1067
hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1082
mbox = &mw->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1083
mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1084
otx2_sync_mbox_bbuf(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1086
hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1166
req = otx2_mbox_alloc_msg_ready(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1171
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1184
struct mbox *mbox = &pf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
119
struct mbox *mbox = &pf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1191
if (mbox->mbox.hwbase && !is_cn20k(pf->pdev))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1192
iounmap((void __iomem *)mbox->mbox.hwbase);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1194
otx2_mbox_destroy(&mbox->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1195
otx2_mbox_destroy(&mbox->mbox_up);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1201
struct mbox *mbox = &pf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1205
mbox->pfvf = pf;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1231
err = otx2_mbox_init(&mbox->mbox, hwbase, pf->pdev, pf->reg_base,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1236
err = otx2_mbox_init(&mbox->mbox_up, hwbase, pf->pdev, pf->reg_base,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1241
err = otx2_mbox_bbuf_init(mbox, pf->pdev);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1245
INIT_WORK(&mbox->mbox_wrk, otx2_pfaf_mbox_handler);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1246
INIT_WORK(&mbox->mbox_up_wrk, otx2_pfaf_mbox_up_handler);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1247
mutex_init(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
125
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
126
req = otx2_mbox_alloc_msg_vf_flr(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1260
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1262
msg = otx2_mbox_alloc_msg_cgx_start_linkevents(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1264
msg = otx2_mbox_alloc_msg_cgx_stop_linkevents(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1267
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1271
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1272
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
128
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1281
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1282
req = otx2_mbox_alloc_msg_cgx_stats_rst(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1284
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1288
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1289
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1303
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1305
msg = otx2_mbox_alloc_msg_cgx_intlbk_enable(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1307
msg = otx2_mbox_alloc_msg_cgx_intlbk_disable(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1310
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1314
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1315
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
134
if (!otx2_sync_mbox_msg(&pf->mbox)) {
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
144
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1555
otx2_ctx_disable(&pf->mbox, NIX_AQ_CTYPE_CQ, false);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1569
otx2_ctx_disable(&pf->mbox, NIX_AQ_CTYPE_SQ, false);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1617
struct mbox *mbox = &pf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1636
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1657
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1663
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1669
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1677
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1685
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1696
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1706
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1712
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1718
otx2_ctx_disable(mbox, NIX_AQ_CTYPE_RQ, false);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1725
otx2_ctx_disable(mbox, NPA_AQ_CTYPE_POOL, true);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1726
otx2_ctx_disable(mbox, NPA_AQ_CTYPE_AURA, true);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1729
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1730
free_req = otx2_mbox_alloc_msg_nix_lf_free(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1733
if (otx2_sync_mbox_msg(mbox))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1738
req = otx2_mbox_alloc_msg_npa_lf_free(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1740
if (otx2_sync_mbox_msg(mbox))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1744
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1753
struct mbox *mbox = &pf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1772
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1776
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1779
otx2_ctx_disable(mbox, NIX_AQ_CTYPE_RQ, false);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1802
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1804
free_req = otx2_mbox_alloc_msg_nix_lf_free(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1809
if (otx2_sync_mbox_msg(mbox))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1812
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1815
otx2_ctx_disable(mbox, NPA_AQ_CTYPE_POOL, true);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1816
otx2_ctx_disable(mbox, NPA_AQ_CTYPE_AURA, true);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1819
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1821
req = otx2_mbox_alloc_msg_npa_lf_free(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1823
if (otx2_sync_mbox_msg(mbox))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1826
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1863
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1864
req = otx2_mbox_alloc_msg_nix_set_rx_mode(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1866
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1880
otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
1881
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2390
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2392
req = otx2_mbox_alloc_msg_cgx_ptp_rx_enable(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2394
req = otx2_mbox_alloc_msg_cgx_ptp_rx_disable(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2396
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2400
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2402
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2406
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2422
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2424
req = otx2_mbox_alloc_msg_nix_lf_ptp_tx_enable(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2426
req = otx2_mbox_alloc_msg_nix_lf_ptp_tx_disable(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2428
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2432
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2434
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2438
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2526
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2527
req = otx2_mbox_alloc_msg_npc_install_flow(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2543
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2545
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2593
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2597
vtag_req = otx2_mbox_alloc_msg_nix_vtag_cfg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2606
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2613
del_req = otx2_mbox_alloc_msg_npc_delete_flow(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2621
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2626
del_req = otx2_mbox_alloc_msg_npc_delete_flow(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2634
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2640
req = otx2_mbox_alloc_msg_npc_install_flow(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2661
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2666
vtag_req = otx2_mbox_alloc_msg_nix_vtag_cfg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2678
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2683
(&pf->mbox.mbox, 0, &vtag_req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2690
req = otx2_mbox_alloc_msg_npc_install_flow(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2708
err = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2711
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2875
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2876
req = otx2_mbox_alloc_msg_set_vf_perm(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2891
rc = otx2_sync_mbox_msg(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
2893
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
299
void otx2_queue_vf_work(struct mbox *mw, struct workqueue_struct *mbox_wq,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
303
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3115
otx2_detach_resources(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
312
mbox = &mw->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
313
mdev = &mbox->dev[i];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
314
hdr = mdev->mbase + mbox->rx_start;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
328
mbox = &mw->mbox_up;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
329
mdev = &mbox->dev[i];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
330
hdr = mdev->mbase + mbox->rx_start;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3335
otx2_detach_resources(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3362
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3368
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3376
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3390
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3461
struct mbox *mbox = &pf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3464
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3466
req = otx2_mbox_alloc_msg_ndc_sync_op(mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3468
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3476
if (!otx2_sync_mbox_msg(mbox))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3479
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
3532
otx2_detach_resources(&pf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
365
struct mbox *dst_mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
377
dst_mbox = &pf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
378
dst_size = dst_mbox->mbox.tx_size -
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
384
dst_mdev = &dst_mbox->mbox.dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
386
mutex_lock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
400
dst_mdev->mbase = pf->mbox.bbuf_base;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
401
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
409
dst_mbox->mbox.rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
412
otx2_forward_msg_pfvf(dst_mdev, &pf->mbox_pfvf[0].mbox,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
413
pf->mbox.bbuf_base, vf);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
414
mutex_unlock(&pf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
444
&pf->mbox.mbox_up,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
457
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
458
struct mbox *vf_mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
461
vf_mbox = container_of(work, struct mbox, mbox_wrk);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
465
mbox = &pf->mbox_pfvf[0].mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
466
mdev = &mbox->dev[vf_idx];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
474
msg = (struct mbox_msghdr *)(mdev->mbase + mbox->rx_start +
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
485
err = otx2_forward_vf_mbox_msgs(pf, mbox, MBOX_DIR_PFAF, vf_idx,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
492
otx2_reply_invalid_msg(mbox, vf_idx, 0, msg->id);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
493
otx2_mbox_msg_send(mbox, vf_idx);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
498
struct mbox *vf_mbox = container_of(work, struct mbox, mbox_up_wrk);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
503
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
506
mbox = &pf->mbox_pfvf[0].mbox_up;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
507
mdev = &mbox->dev[vf_idx];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
509
offset = mbox->rx_start + ALIGN(sizeof(struct mbox_hdr), MBOX_MSG_ALIGN);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
543
offset = mbox->rx_start + msg->next_msgoff;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
545
__otx2_mbox_reset(mbox, vf_idx);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
554
struct mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
557
mbox = pf->mbox_pfvf;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
562
otx2_queue_vf_work(mbox, pf->mbox_pfvf_wq, 64, vfs, intr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
564
trace_otx2_msg_interrupt(mbox->mbox.pdev, "VF(s) to PF", intr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
571
otx2_queue_vf_work(mbox, pf->mbox_pfvf_wq, 0, vfs, intr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
574
trace_otx2_msg_interrupt(mbox->mbox.pdev, "VF(s) to PF", intr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
599
struct mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
607
sizeof(struct mbox), GFP_KERNEL);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
640
mbox = &pf->mbox_pfvf[0];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
641
err = otx2_mbox_init(&mbox->mbox, hwbase, pf->pdev, pf->reg_base,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
646
err = otx2_mbox_init(&mbox->mbox_up, hwbase, pf->pdev, pf->reg_base,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
652
mbox->pfvf = pf;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
653
INIT_WORK(&mbox->mbox_wrk, otx2_pfvf_mbox_handler);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
654
INIT_WORK(&mbox->mbox_up_wrk, otx2_pfvf_mbox_up_handler);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
655
mbox++;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
670
struct mbox *mbox = &pf->mbox_pfvf[0];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
672
if (!mbox)
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
680
if (mbox->mbox.hwbase && !is_cn20k(pf->pdev))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
681
iounmap(mbox->mbox.hwbase);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
685
otx2_mbox_destroy(&mbox->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
848
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
849
struct mbox *af_mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
854
af_mbox = container_of(work, struct mbox, mbox_wrk);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
855
mbox = &af_mbox->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
856
mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
857
rsp_hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
860
offset = mbox->rx_start + ALIGN(sizeof(*rsp_hdr), MBOX_MSG_ALIGN);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
869
offset = mbox->rx_start + msg->next_msgoff;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
871
__otx2_mbox_reset(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
968
otx2_reply_invalid_msg(&pf->mbox.mbox_up, 0, 0, req->id);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
979
&pf->mbox.mbox_up, 0, \
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
999
otx2_reply_invalid_msg(&pf->mbox.mbox_up, 0, 0, req->id);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
127
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
128
req = otx2_mbox_alloc_msg_ptp_op(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
130
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
136
rc = otx2_sync_mbox_msg(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
137
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
151
req = otx2_mbox_alloc_msg_ptp_op(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
158
return otx2_sync_mbox_msg(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
168
req = otx2_mbox_alloc_msg_ptp_op(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
175
return otx2_sync_mbox_msg(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
185
req = otx2_mbox_alloc_msg_ptp_op(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
193
return otx2_sync_mbox_msg(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
212
req = otx2_mbox_alloc_msg_ptp_op(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
218
err = otx2_sync_mbox_msg(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
22
mutex_lock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
222
rsp = (struct ptp_rsp *)otx2_mbox_get_rsp(&ptp->nic->mbox.mbox, 0,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
23
req = otx2_mbox_alloc_msg_ptp_get_cap(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
236
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
238
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
25
mutex_unlock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
250
mutex_lock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
252
mutex_unlock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
267
mutex_lock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
269
mutex_unlock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
29
err = otx2_sync_mbox_msg(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
301
mutex_lock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
303
mutex_unlock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
31
mutex_unlock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
312
mutex_lock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
314
mutex_unlock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
329
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
331
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
34
rsp = (struct ptp_get_cap_rsp *)otx2_mbox_get_rsp(&ptp->nic->mbox.mbox, 0,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
36
mutex_unlock(&ptp->nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
394
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
396
req = otx2_mbox_alloc_msg_ptp_op(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
398
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
404
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
406
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
409
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
58
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
59
req = otx2_mbox_alloc_msg_ptp_op(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
61
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
66
rc = otx2_sync_mbox_msg(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
67
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
81
req = otx2_mbox_alloc_msg_ptp_op(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
87
err = otx2_sync_mbox_msg(&ptp->nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c
91
rsp = (struct ptp_rsp *)otx2_mbox_get_rsp(&ptp->nic->mbox.mbox, 0,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1046
mutex_lock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1047
tmp_req = otx2_mbox_alloc_msg_npc_install_flow(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1049
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1055
err = otx2_sync_mbox_msg(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1059
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1063
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1073
mutex_lock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1074
req = otx2_mbox_alloc_msg_npc_delete_flow(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1076
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1083
err = otx2_sync_mbox_msg(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1087
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1092
rsp = (struct npc_delete_flow_rsp *)otx2_mbox_get_rsp(&nic->mbox.mbox,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1097
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1104
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1215
mutex_lock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1230
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1234
mutex_lock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1235
grp_destroy_req = otx2_mbox_alloc_msg_nix_mcast_grp_destroy(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1237
otx2_sync_mbox_msg(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1238
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1296
mutex_lock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1297
req = otx2_mbox_alloc_msg_npc_install_flow(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1299
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1314
rc = otx2_sync_mbox_msg(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1317
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1321
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1330
mutex_lock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1346
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1369
mutex_lock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1371
req = otx2_mbox_alloc_msg_npc_mcam_entry_stats(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1373
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1379
err = otx2_sync_mbox_msg(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1383
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1388
(&nic->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1390
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1394
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
160
mutex_lock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
161
req = otx2_mbox_alloc_msg_nix_txschq_cfg(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
163
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1638
mutex_lock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1640
req = otx2_mbox_alloc_msg_npc_install_flow(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1646
if (otx2_sync_mbox_msg(&nic->mbox))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
1650
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
172
err = otx2_sync_mbox_msg(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
173
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
298
mutex_lock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
302
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
315
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
324
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
374
mutex_lock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
375
creq = otx2_mbox_alloc_msg_nix_mcast_grp_create(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
383
rc = otx2_sync_mbox_msg(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
389
crsp = (struct nix_mcast_grp_create_rsp *)otx2_mbox_get_rsp(&nic->mbox.mbox,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
398
grp_update_req = otx2_mbox_alloc_msg_nix_mcast_grp_update(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
417
rc = otx2_sync_mbox_msg(&nic->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
423
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c
430
mutex_unlock(&nic->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1369
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1371
msg = otx2_mbox_alloc_msg_nix_lf_start_rx(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1373
msg = otx2_mbox_alloc_msg_nix_lf_stop_rx(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1376
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1380
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
1381
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
105
offset = mbox->rx_start + ALIGN(sizeof(*rsp_hdr), MBOX_MSG_ALIGN);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
110
offset = mbox->rx_start + msg->next_msgoff;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
112
__otx2_mbox_reset(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
125
otx2_reply_invalid_msg(&vf->mbox.mbox_up, 0, 0, req->id);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
132
&vf->mbox.mbox_up, 0,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
145
otx2_reply_invalid_msg(&vf->mbox.mbox_up, 0, 0, req->id);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
156
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
157
struct mbox *vf_mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
162
vf_mbox = container_of(work, struct mbox, mbox_up_wrk);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
164
mbox = &vf_mbox->mbox_up;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
165
mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
167
rsp_hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
173
offset = mbox->rx_start + ALIGN(sizeof(*rsp_hdr), MBOX_MSG_ALIGN);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
178
offset = mbox->rx_start + msg->next_msgoff;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
181
otx2_mbox_msg_send(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
188
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
205
mbox = &vf->mbox.mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
206
mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
207
otx2_sync_mbox_bbuf(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
209
hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
211
queue_work(vf->mbox_wq, &vf->mbox.mbox_wrk);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
213
trace_otx2_msg_interrupt(mbox->pdev, "DOWN reply from PF to VF",
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
222
mbox = &vf->mbox.mbox_up;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
223
mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
224
otx2_sync_mbox_bbuf(mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
226
hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
228
queue_work(vf->mbox_wq, &vf->mbox.mbox_up_wrk);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
230
trace_otx2_msg_interrupt(mbox->pdev, "UP message from PF to VF",
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
294
req = otx2_mbox_alloc_msg_ready(&vf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
300
err = otx2_sync_mbox_msg(&vf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
312
struct mbox *mbox = &vf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
319
if (mbox->mbox.hwbase && !test_bit(CN10K_MBOX, &vf->hw.cap_flag))
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
320
iounmap((void __iomem *)mbox->mbox.hwbase);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
322
otx2_mbox_destroy(&mbox->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
323
otx2_mbox_destroy(&mbox->mbox_up);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
328
struct mbox *mbox = &vf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
332
mbox->pfvf = vf;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
365
err = otx2_mbox_init(&mbox->mbox, hwbase, vf->pdev, vf->reg_base,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
370
err = otx2_mbox_init(&mbox->mbox_up, hwbase, vf->pdev, vf->reg_base,
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
375
err = otx2_mbox_bbuf_init(mbox, vf->pdev);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
379
INIT_WORK(&mbox->mbox_wrk, otx2vf_vfaf_mbox_handler);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
380
INIT_WORK(&mbox->mbox_up_wrk, otx2vf_vfaf_mbox_up_handler);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
381
mutex_init(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
465
mutex_lock(&vf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
467
req = otx2_mbox_alloc_msg_nix_set_rx_mode(&vf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
469
mutex_unlock(&vf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
482
otx2_sync_mbox_msg(&vf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
484
mutex_unlock(&vf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
802
otx2_detach_resources(&vf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
851
otx2_detach_resources(&vf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
91
struct otx2_mbox *mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
92
struct mbox *af_mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
96
af_mbox = container_of(work, struct mbox, mbox_wrk);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
97
mbox = &af_mbox->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
98
mdev = &mbox->dev[0];
drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c
99
rsp_hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_xsk.c
114
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_xsk.c
116
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_xsk.c
44
cn10k_rq_aq = otx2_mbox_alloc_msg_nix_cn10k_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_xsk.c
53
rq_aq = otx2_mbox_alloc_msg_nix_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_xsk.c
63
aura_aq = otx2_mbox_alloc_msg_npa_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_xsk.c
73
pool_aq = otx2_mbox_alloc_msg_npa_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_xsk.c
84
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_xsk.c
87
otx2_mbox_reset(&pfvf->mbox.mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
200
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
207
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
209
cfg = otx2_mbox_alloc_msg_nix_txschq_cfg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
211
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
231
rc = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
233
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
616
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
620
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
622
req = otx2_mbox_alloc_msg_nix_txschq_cfg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
624
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
631
rc = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
633
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
643
struct mbox *mbox = &pfvf->mbox;
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
646
mutex_lock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
647
req = otx2_mbox_alloc_msg_nix_txsch_alloc(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
649
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
658
rc = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
660
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
665
otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/qos.c
690
mutex_unlock(&mbox->lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
112
otx2_mbox_reset(&pfvf->mbox.mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
174
cn10k_sq_aq = otx2_mbox_alloc_msg_nix_cn10k_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
183
sq_aq = otx2_mbox_alloc_msg_nix_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
193
aura_aq = otx2_mbox_alloc_msg_npa_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
195
otx2_mbox_reset(&pfvf->mbox.mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
205
pool_aq = otx2_mbox_alloc_msg_npa_aq_enq(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
207
otx2_mbox_reset(&pfvf->mbox.mbox, 0);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
218
return otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
246
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
256
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
265
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
267
req = otx2_mbox_alloc_msg_ndc_sync_op(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
269
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
275
rc = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
276
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
313
mutex_lock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
315
mutex_unlock(&pfvf->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c
71
err = otx2_sync_mbox_msg(&pfvf->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
282
mutex_lock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
283
req = otx2_mbox_alloc_msg_rep_event_notify(&priv->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
285
mutex_unlock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
292
otx2_sync_mbox_msg(&priv->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
293
mutex_unlock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
347
mutex_lock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
348
req = otx2_mbox_alloc_msg_nix_lf_stats(&priv->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
350
mutex_unlock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
354
err = otx2_sync_mbox_msg_busy_poll(&priv->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
359
otx2_mbox_get_rsp(&priv->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
377
mutex_unlock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
404
mutex_lock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
405
req = otx2_mbox_alloc_msg_esw_cfg(&priv->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
407
mutex_unlock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
411
otx2_sync_mbox_msg(&priv->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
412
mutex_unlock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
55
req = otx2_mbox_alloc_msg_npc_mcam_alloc_entry(&priv->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
65
if (otx2_sync_mbox_msg(&priv->mbox))
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
69
(&priv->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
739
mutex_lock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
740
req = otx2_mbox_alloc_msg_get_rep_cnt(&priv->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
742
mutex_unlock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
745
err = otx2_sync_mbox_msg(&priv->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
749
msghdr = otx2_mbox_get_rsp(&priv->mbox.mbox, 0, &req->hdr);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
763
mutex_unlock(&priv->mbox.lock);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
833
otx2_detach_resources(&priv->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
849
otx2_detach_resources(&priv->mbox);
drivers/net/ethernet/marvell/octeontx2/nic/rep.c
91
mutex_unlock(&priv->mbox.lock);
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4343
static u32 qp_attach_mbox_size(void *mbox)
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
4348
rule_header = (struct _rule_hw *)(mbox + size);
drivers/net/ethernet/mellanox/mlxsw/cmd.h
16
static inline void mlxsw_cmd_mbox_free(char *mbox)
drivers/net/ethernet/mellanox/mlxsw/cmd.h
18
kfree(mbox);
drivers/net/ethernet/mellanox/mlxsw/cmd.h
21
static inline void mlxsw_cmd_mbox_zero(char *mbox)
drivers/net/ethernet/mellanox/mlxsw/cmd.h
23
memset(mbox, 0, MLXSW_CMD_MBOX_SIZE);
drivers/net/ethernet/mellanox/mlxsw/core.c
3312
int mlxsw_core_resources_query(struct mlxsw_core *mlxsw_core, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/core.c
3320
mlxsw_cmd_mbox_zero(mbox);
drivers/net/ethernet/mellanox/mlxsw/core.c
3324
err = mlxsw_cmd_query_resources(mlxsw_core, mbox, index);
drivers/net/ethernet/mellanox/mlxsw/core.c
3329
id = mlxsw_cmd_mbox_query_resource_id_get(mbox, i);
drivers/net/ethernet/mellanox/mlxsw/core.c
3330
data = mlxsw_cmd_mbox_query_resource_data_get(mbox, i);
drivers/net/ethernet/mellanox/mlxsw/core.c
624
static char *mlxsw_emad_reg_payload_cmd(const char *mbox)
drivers/net/ethernet/mellanox/mlxsw/core.c
626
return ((char *) (mbox + (MLXSW_EMAD_OP_TLV_LEN + 1) * sizeof(u32)));
drivers/net/ethernet/mellanox/mlxsw/core.h
296
int mlxsw_core_resources_query(struct mlxsw_core *mlxsw_core, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/i2c.c
530
char *mbox;
drivers/net/ethernet/mellanox/mlxsw/i2c.c
535
mbox = mlxsw_cmd_mbox_alloc();
drivers/net/ethernet/mellanox/mlxsw/i2c.c
536
if (!mbox)
drivers/net/ethernet/mellanox/mlxsw/i2c.c
539
err = mlxsw_cmd_query_fw(mlxsw_core, mbox);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
544
mlxsw_cmd_mbox_query_fw_fw_rev_major_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
546
mlxsw_cmd_mbox_query_fw_fw_rev_minor_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
548
mlxsw_cmd_mbox_query_fw_fw_rev_subminor_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
550
err = mlxsw_core_resources_query(mlxsw_core, mbox, res);
drivers/net/ethernet/mellanox/mlxsw/i2c.c
553
mlxsw_cmd_mbox_free(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1027
static int mlxsw_pci_cq_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1043
mlxsw_cmd_mbox_sw2hw_cq_cqe_ver_set(mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1046
mlxsw_cmd_mbox_sw2hw_cq_cqe_ver_set(mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1049
mlxsw_cmd_mbox_sw2hw_cq_c_eqn_set(mbox, MLXSW_PCI_EQ_COMP_NUM);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1050
mlxsw_cmd_mbox_sw2hw_cq_st_set(mbox, 0);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1051
mlxsw_cmd_mbox_sw2hw_cq_log_cq_size_set(mbox, ilog2(q->count));
drivers/net/ethernet/mellanox/mlxsw/pci.c
1055
mlxsw_cmd_mbox_sw2hw_cq_pa_set(mbox, i, mapaddr);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1057
err = mlxsw_cmd_sw2hw_cq(mlxsw_pci->core, mbox, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1148
static int mlxsw_pci_eq_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1169
mlxsw_cmd_mbox_sw2hw_eq_int_msix_set(mbox, 1); /* MSI-X used */
drivers/net/ethernet/mellanox/mlxsw/pci.c
1170
mlxsw_cmd_mbox_sw2hw_eq_st_set(mbox, 1); /* armed */
drivers/net/ethernet/mellanox/mlxsw/pci.c
1171
mlxsw_cmd_mbox_sw2hw_eq_log_eq_size_set(mbox, ilog2(q->count));
drivers/net/ethernet/mellanox/mlxsw/pci.c
1175
mlxsw_cmd_mbox_sw2hw_eq_pa_set(mbox, i, mapaddr);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1177
err = mlxsw_cmd_sw2hw_eq(mlxsw_pci->core, mbox, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1197
int (*init)(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1240
static int mlxsw_pci_queue_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1284
mlxsw_cmd_mbox_zero(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1285
err = q_ops->init(mlxsw_pci, mbox, q);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1310
static int mlxsw_pci_queue_group_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1324
err = mlxsw_pci_queue_init(mlxsw_pci, mbox, q_ops,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1352
static int mlxsw_pci_aqs_init(struct mlxsw_pci *mlxsw_pci, char *mbox)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1366
mlxsw_cmd_mbox_zero(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1367
err = mlxsw_cmd_query_aq_cap(mlxsw_pci->core, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1371
num_sdqs = mlxsw_cmd_mbox_query_aq_cap_max_num_sdqs_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1372
sdq_log2sz = mlxsw_cmd_mbox_query_aq_cap_log_max_sdq_sz_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1373
num_rdqs = mlxsw_cmd_mbox_query_aq_cap_max_num_rdqs_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1374
rdq_log2sz = mlxsw_cmd_mbox_query_aq_cap_log_max_rdq_sz_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1375
num_cqs = mlxsw_cmd_mbox_query_aq_cap_max_num_cqs_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1376
cq_log2sz = mlxsw_cmd_mbox_query_aq_cap_log_max_cq_sz_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1377
cqv2_log2sz = mlxsw_cmd_mbox_query_aq_cap_log_max_cqv2_sz_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1378
num_eqs = mlxsw_cmd_mbox_query_aq_cap_max_num_eqs_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1379
eq_log2sz = mlxsw_cmd_mbox_query_aq_cap_log_max_eq_sz_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1401
err = mlxsw_pci_queue_group_init(mlxsw_pci, mbox, &mlxsw_pci_eq_ops,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1408
err = mlxsw_pci_queue_group_init(mlxsw_pci, mbox, &mlxsw_pci_cq_ops,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1415
err = mlxsw_pci_queue_group_init(mlxsw_pci, mbox, &mlxsw_pci_sdq_ops,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1422
err = mlxsw_pci_queue_group_init(mlxsw_pci, mbox, &mlxsw_pci_rdq_ops,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1450
char *mbox, int index,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1457
mbox, index, swid->type);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1462
mbox, index, swid->properties);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1465
mlxsw_cmd_mbox_config_profile_swid_config_mask_set(mbox, index, mask);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1489
static int mlxsw_pci_config_profile(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1496
mlxsw_cmd_mbox_zero(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1500
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1502
mbox, profile->max_vepa_channels);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1505
mlxsw_cmd_mbox_config_profile_set_max_lag_set(mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1506
mlxsw_cmd_mbox_config_profile_max_lag_set(mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1511
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1513
mbox, profile->max_mid);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1517
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1519
mbox, profile->max_pgt);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1523
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1525
mbox, profile->max_system_port);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1529
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1531
mbox, profile->max_vlan_groups);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1535
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1537
mbox, profile->max_regions);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1541
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1543
mbox, profile->max_flood_tables);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1545
mbox, profile->max_vid_flood_tables);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1547
mbox, profile->max_fid_offset_flood_tables);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1549
mbox, profile->fid_offset_flood_table_size);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1551
mbox, profile->max_fid_flood_tables);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1553
mbox, profile->fid_flood_table_size);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1559
mlxsw_cmd_mbox_config_profile_set_flood_mode_set(mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1560
mlxsw_cmd_mbox_config_profile_flood_mode_set(mbox, flood_mode);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1564
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1566
mbox, profile->flood_mode);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1574
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1576
mbox, profile->max_ib_mc);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1580
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1582
mbox, profile->max_pkey);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1586
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1588
mbox, profile->ar_sec);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1592
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1594
mbox, profile->adaptive_routing_group_cap);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1597
mlxsw_cmd_mbox_config_profile_set_ubridge_set(mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1598
mlxsw_cmd_mbox_config_profile_ubridge_set(mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1606
mlxsw_cmd_mbox_config_profile_set_kvd_linear_size_set(mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1607
mlxsw_cmd_mbox_config_profile_kvd_linear_size_set(mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1609
mlxsw_cmd_mbox_config_profile_set_kvd_hash_single_size_set(mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1611
mlxsw_cmd_mbox_config_profile_kvd_hash_single_size_set(mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1614
mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1615
mlxsw_cmd_mbox_config_profile_kvd_hash_double_size_set(mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1620
mlxsw_pci_config_profile_swid_config(mlxsw_pci, mbox, i,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1624
mlxsw_cmd_mbox_config_profile_set_cqe_version_set(mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1625
mlxsw_cmd_mbox_config_profile_cqe_version_set(mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1629
mlxsw_cmd_mbox_config_profile_set_cqe_time_stamp_type_set(mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1631
mlxsw_cmd_mbox_config_profile_cqe_time_stamp_type_set(mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1639
mlxsw_cmd_mbox_config_profile_set_lag_mode_set(mbox, 1);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1640
mlxsw_cmd_mbox_config_profile_lag_mode_set(mbox, lag_mode);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1645
return mlxsw_cmd_config_profile_set(mlxsw_pci->core, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1648
static int mlxsw_pci_boardinfo(struct mlxsw_pci *mlxsw_pci, char *mbox)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1653
mlxsw_cmd_mbox_zero(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1654
err = mlxsw_cmd_boardinfo(mlxsw_pci->core, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1657
mlxsw_cmd_mbox_boardinfo_vsd_memcpy_from(mbox, bus_info->vsd);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1658
mlxsw_cmd_mbox_boardinfo_psid_memcpy_from(mbox, bus_info->psid);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1662
static int mlxsw_pci_fw_area_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1675
mlxsw_cmd_mbox_zero(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1687
mlxsw_cmd_mbox_map_fa_pa_set(mbox, nent, mem_item->mapaddr);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1688
mlxsw_cmd_mbox_map_fa_log2size_set(mbox, nent, 0); /* 1 page */
drivers/net/ethernet/mellanox/mlxsw/pci.c
1690
err = mlxsw_cmd_map_fa(mlxsw_pci->core, mbox, nent);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1694
mlxsw_cmd_mbox_zero(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1699
err = mlxsw_cmd_map_fa(mlxsw_pci->core, mbox, nent);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1745
struct mlxsw_pci_mem_item *mbox)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1750
mbox->size = MLXSW_CMD_MBOX_SIZE;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1751
mbox->buf = dma_alloc_coherent(&pdev->dev, MLXSW_CMD_MBOX_SIZE,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1752
&mbox->mapaddr, GFP_KERNEL);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1753
if (!mbox->buf) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
1762
struct mlxsw_pci_mem_item *mbox)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1766
dma_free_coherent(&pdev->dev, MLXSW_CMD_MBOX_SIZE, mbox->buf,
drivers/net/ethernet/mellanox/mlxsw/pci.c
1767
mbox->mapaddr);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1925
char *mbox;
drivers/net/ethernet/mellanox/mlxsw/pci.c
1931
mbox = mlxsw_cmd_mbox_alloc();
drivers/net/ethernet/mellanox/mlxsw/pci.c
1932
if (!mbox)
drivers/net/ethernet/mellanox/mlxsw/pci.c
1945
err = mlxsw_cmd_query_fw(mlxsw_core, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1950
mlxsw_cmd_mbox_query_fw_fw_rev_major_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1952
mlxsw_cmd_mbox_query_fw_fw_rev_minor_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1954
mlxsw_cmd_mbox_query_fw_fw_rev_subminor_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1956
if (mlxsw_cmd_mbox_query_fw_cmd_interface_rev_get(mbox) != 1) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
1961
if (mlxsw_cmd_mbox_query_fw_doorbell_page_bar_get(mbox) != 0) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
1968
mlxsw_cmd_mbox_query_fw_doorbell_page_offset_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1970
if (mlxsw_cmd_mbox_query_fw_fr_rn_clk_bar_get(mbox) != 0) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
1977
mlxsw_cmd_mbox_query_fw_free_running_clock_offset_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1979
if (mlxsw_cmd_mbox_query_fw_utc_sec_bar_get(mbox) != 0) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
1986
mlxsw_cmd_mbox_query_fw_utc_sec_offset_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1988
if (mlxsw_cmd_mbox_query_fw_utc_nsec_bar_get(mbox) != 0) {
drivers/net/ethernet/mellanox/mlxsw/pci.c
1995
mlxsw_cmd_mbox_query_fw_utc_nsec_offset_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
1998
mlxsw_cmd_mbox_query_fw_lag_mode_support_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2000
mlxsw_cmd_mbox_query_fw_cff_support_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2002
num_pages = mlxsw_cmd_mbox_query_fw_fw_pages_get(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2003
err = mlxsw_pci_fw_area_init(mlxsw_pci, mbox, num_pages);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2007
err = mlxsw_pci_boardinfo(mlxsw_pci, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2011
err = mlxsw_core_resources_query(mlxsw_core, mbox, res);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2030
err = mlxsw_pci_config_profile(mlxsw_pci, mbox, profile, res);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2037
err = mlxsw_core_resources_query(mlxsw_core, mbox, res);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2047
err = mlxsw_pci_aqs_init(mlxsw_pci, mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
2083
mlxsw_cmd_mbox_free(mbox);
drivers/net/ethernet/mellanox/mlxsw/pci.c
296
static int mlxsw_pci_sdq_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
315
mlxsw_cmd_mbox_sw2hw_dq_cq_set(mbox, cq_num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
316
mlxsw_cmd_mbox_sw2hw_dq_sdq_lp_set(mbox, lp);
drivers/net/ethernet/mellanox/mlxsw/pci.c
317
mlxsw_cmd_mbox_sw2hw_dq_sdq_tclass_set(mbox, tclass);
drivers/net/ethernet/mellanox/mlxsw/pci.c
318
mlxsw_cmd_mbox_sw2hw_dq_log2_dq_sz_set(mbox, 3); /* 8 pages */
drivers/net/ethernet/mellanox/mlxsw/pci.c
322
mlxsw_cmd_mbox_sw2hw_dq_pa_set(mbox, i, mapaddr);
drivers/net/ethernet/mellanox/mlxsw/pci.c
325
err = mlxsw_cmd_sw2hw_sdq(mlxsw_pci->core, mbox, q->num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
537
static int mlxsw_pci_rdq_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
drivers/net/ethernet/mellanox/mlxsw/pci.c
554
mlxsw_cmd_mbox_sw2hw_dq_cq_set(mbox, cq_num);
drivers/net/ethernet/mellanox/mlxsw/pci.c
555
mlxsw_cmd_mbox_sw2hw_dq_log2_dq_sz_set(mbox, 3); /* 8 pages */
drivers/net/ethernet/mellanox/mlxsw/pci.c
559
mlxsw_cmd_mbox_sw2hw_dq_pa_set(mbox, i, mapaddr);
drivers/net/ethernet/mellanox/mlxsw/pci.c
562
err = mlxsw_cmd_sw2hw_rdq(mlxsw_pci->core, mbox, q->num);
drivers/net/ethernet/netronome/nfp/nfp_main.c
113
if (!pf->mbox)
drivers/net/ethernet/netronome/nfp/nfp_main.c
116
max_data_sz = nfp_rtsym_size(pf->mbox) - NFP_MBOX_SYM_MIN_SIZE;
drivers/net/ethernet/netronome/nfp/nfp_main.c
119
err = nfp_rtsym_readl(pf->cpp, pf->mbox, NFP_MBOX_CMD, &val);
drivers/net/ethernet/netronome/nfp/nfp_main.c
127
n = nfp_rtsym_write(pf->cpp, pf->mbox, NFP_MBOX_DATA, in_data,
drivers/net/ethernet/netronome/nfp/nfp_main.c
132
err = nfp_rtsym_writeq(pf->cpp, pf->mbox, NFP_MBOX_DATA_LEN, in_length);
drivers/net/ethernet/netronome/nfp/nfp_main.c
137
err = nfp_rtsym_readl(pf->cpp, pf->mbox, NFP_MBOX_DATA_LEN, &val);
drivers/net/ethernet/netronome/nfp/nfp_main.c
142
err = nfp_rtsym_writeq(pf->cpp, pf->mbox, NFP_MBOX_CMD, cmd);
drivers/net/ethernet/netronome/nfp/nfp_main.c
149
err = nfp_rtsym_readl(pf->cpp, pf->mbox, NFP_MBOX_CMD, &val);
drivers/net/ethernet/netronome/nfp/nfp_main.c
162
err = nfp_rtsym_readl(pf->cpp, pf->mbox, NFP_MBOX_DATA_LEN, &val);
drivers/net/ethernet/netronome/nfp/nfp_main.c
167
n = nfp_rtsym_read(pf->cpp, pf->mbox, NFP_MBOX_DATA,
drivers/net/ethernet/netronome/nfp/nfp_main.c
173
err = nfp_rtsym_readl(pf->cpp, pf->mbox, NFP_MBOX_RET, &val);
drivers/net/ethernet/netronome/nfp/nfp_main.c
684
pf->mbox = nfp_rtsym_lookup(pf->rtbl, pf_symbol);
drivers/net/ethernet/netronome/nfp/nfp_main.c
685
if (pf->mbox && nfp_rtsym_size(pf->mbox) < NFP_MBOX_SYM_MIN_SIZE) {
drivers/net/ethernet/netronome/nfp/nfp_main.c
687
nfp_rtsym_size(pf->mbox), NFP_MBOX_SYM_MIN_SIZE);
drivers/net/ethernet/netronome/nfp/nfp_main.h
108
const struct nfp_rtsym *mbox;
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
316
u32 mbox = nn->tlv_caps.mbox_off;
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
319
nn_writeq(nn, mbox + NFP_NET_CFG_MBOX_SIMPLE_CMD, mbox_cmd);
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
327
return -nn_readl(nn, mbox + NFP_NET_CFG_MBOX_SIMPLE_RET);
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
332
u32 mbox = nn->tlv_caps.mbox_off;
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
334
nn_writeq(nn, mbox + NFP_NET_CFG_MBOX_SIMPLE_CMD, mbox_cmd);
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
341
u32 mbox = nn->tlv_caps.mbox_off;
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
345
return -nn_readl(nn, mbox + NFP_NET_CFG_MBOX_SIMPLE_RET);
drivers/net/ethernet/netronome/nfp/nfp_shared_buf.c
86
if (!pf->mbox)
drivers/net/ethernet/sun/niu.c
3701
struct rxdma_mailbox *mbox = rp->mbox;
drivers/net/ethernet/sun/niu.c
3708
stat = le64_to_cpup(&mbox->rx_dma_ctl_stat);
drivers/net/ethernet/sun/niu.c
3709
qlen = (le64_to_cpup(&mbox->rcrstat_a) & RCRSTAT_A_QLEN);
drivers/net/ethernet/sun/niu.c
3711
mbox->rx_dma_ctl_stat = 0;
drivers/net/ethernet/sun/niu.c
3712
mbox->rcrstat_a = 0;
drivers/net/ethernet/sun/niu.c
4145
struct rxdma_mailbox *mbox = rp->mbox;
drivers/net/ethernet/sun/niu.c
4146
u64 stat_write, stat = le64_to_cpup(&mbox->rx_dma_ctl_stat);
drivers/net/ethernet/sun/niu.c
4257
if (rp->mbox) {
drivers/net/ethernet/sun/niu.c
4260
rp->mbox, rp->mbox_dma);
drivers/net/ethernet/sun/niu.c
4261
rp->mbox = NULL;
drivers/net/ethernet/sun/niu.c
4287
if (rp->mbox) {
drivers/net/ethernet/sun/niu.c
4290
rp->mbox, rp->mbox_dma);
drivers/net/ethernet/sun/niu.c
4291
rp->mbox = NULL;
drivers/net/ethernet/sun/niu.c
4348
rp->mbox = np->ops->alloc_coherent(np->device,
drivers/net/ethernet/sun/niu.c
4351
if (!rp->mbox)
drivers/net/ethernet/sun/niu.c
4353
if ((unsigned long)rp->mbox & (64UL - 1)) {
drivers/net/ethernet/sun/niu.c
4355
rp->mbox);
drivers/net/ethernet/sun/niu.c
4406
rp->mbox = np->ops->alloc_coherent(np->device,
drivers/net/ethernet/sun/niu.c
4409
if (!rp->mbox)
drivers/net/ethernet/sun/niu.c
4411
if ((unsigned long)rp->mbox & (64UL - 1)) {
drivers/net/ethernet/sun/niu.c
4413
rp->mbox);
drivers/net/ethernet/sun/niu.h
2867
struct txdma_mailbox *mbox;
drivers/net/ethernet/sun/niu.h
2924
struct rxdma_mailbox *mbox;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
613
u32 mbox;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
647
mbox = WX_MNG_MBOX;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
649
mbox = WX_FW2SW_MBOX;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
651
u32 reg = mbox + (FW_NVM_DATA_OFFSET << 2) + 2 * i;
drivers/net/rionet.c
266
static void rionet_inb_msg_event(struct rio_mport *mport, void *dev_id, int mbox, int slot)
drivers/net/rionet.c
274
DRV_NAME, mbox, slot);
drivers/net/rionet.c
282
static void rionet_outb_msg_event(struct rio_mport *mport, void *dev_id, int mbox, int slot)
drivers/net/rionet.c
292
DRV_NAME, mbox, slot);
drivers/net/wireless/ath/wil6210/debugfs.c
372
DEFINE_SHOW_ATTRIBUTE(mbox);
drivers/net/wireless/ti/wl1251/event.c
112
ret = wl1251_event_ps_report(wl, mbox);
drivers/net/wireless/ti/wl1251/event.c
16
struct event_mailbox *mbox)
drivers/net/wireless/ti/wl1251/event.c
203
struct event_mailbox *mbox;
drivers/net/wireless/ti/wl1251/event.c
21
mbox->scheduled_scan_status,
drivers/net/wireless/ti/wl1251/event.c
211
mbox = kmalloc_obj(*mbox);
drivers/net/wireless/ti/wl1251/event.c
212
if (!mbox) {
drivers/net/wireless/ti/wl1251/event.c
218
wl1251_mem_read(wl, wl->mbox_ptr[mbox_num], mbox,
drivers/net/wireless/ti/wl1251/event.c
219
sizeof(*mbox));
drivers/net/wireless/ti/wl1251/event.c
22
mbox->scheduled_scan_channels);
drivers/net/wireless/ti/wl1251/event.c
222
ret = wl1251_event_process(wl, mbox);
drivers/net/wireless/ti/wl1251/event.c
223
kfree(mbox);
drivers/net/wireless/ti/wl1251/event.c
41
struct event_mailbox *mbox)
drivers/net/wireless/ti/wl1251/event.c
45
wl1251_debug(DEBUG_EVENT, "ps status: %x", mbox->ps_status);
drivers/net/wireless/ti/wl1251/event.c
47
switch (mbox->ps_status) {
drivers/net/wireless/ti/wl1251/event.c
76
static void wl1251_event_mbox_dump(struct event_mailbox *mbox)
drivers/net/wireless/ti/wl1251/event.c
79
wl1251_debug(DEBUG_EVENT, "\tvector: 0x%x", mbox->events_vector);
drivers/net/wireless/ti/wl1251/event.c
80
wl1251_debug(DEBUG_EVENT, "\tmask: 0x%x", mbox->events_mask);
drivers/net/wireless/ti/wl1251/event.c
83
static int wl1251_event_process(struct wl1251 *wl, struct event_mailbox *mbox)
drivers/net/wireless/ti/wl1251/event.c
88
wl1251_event_mbox_dump(mbox);
drivers/net/wireless/ti/wl1251/event.c
90
vector = mbox->events_vector & ~(mbox->events_mask);
drivers/net/wireless/ti/wl1251/event.c
94
ret = wl1251_event_scan_complete(wl, mbox);
drivers/net/wireless/ti/wl1251/event.h
110
int wl1251_event_handle(struct wl1251 *wl, u8 mbox);
drivers/net/wireless/ti/wl12xx/event.c
36
struct wl12xx_event_mailbox *mbox = wl->mbox;
drivers/net/wireless/ti/wl12xx/event.c
40
vector = le32_to_cpu(mbox->events_vector);
drivers/net/wireless/ti/wl12xx/event.c
41
vector &= ~(le32_to_cpu(mbox->events_mask));
drivers/net/wireless/ti/wl12xx/event.c
47
mbox->scheduled_scan_status);
drivers/net/wireless/ti/wl12xx/event.c
56
mbox->scheduled_scan_status);
drivers/net/wireless/ti/wl12xx/event.c
63
mbox->scheduled_scan_status);
drivers/net/wireless/ti/wl12xx/event.c
66
mbox->soft_gemini_sense_info);
drivers/net/wireless/ti/wl12xx/event.c
72
wlcore_event_rssi_trigger(wl, mbox->rssi_snr_trigger_metric);
drivers/net/wireless/ti/wl12xx/event.c
76
BIT(mbox->role_id),
drivers/net/wireless/ti/wl12xx/event.c
77
mbox->rx_ba_allowed);
drivers/net/wireless/ti/wl12xx/event.c
81
mbox->channel_switch_status);
drivers/net/wireless/ti/wl12xx/event.c
92
le16_to_cpu(mbox->sta_tx_retry_exceeded));
drivers/net/wireless/ti/wl12xx/event.c
96
le16_to_cpu(mbox->sta_aging_status));
drivers/net/wireless/ti/wl18xx/event.c
118
struct wl18xx_event_mailbox *mbox = wl->mbox;
drivers/net/wireless/ti/wl18xx/event.c
121
vector = le32_to_cpu(mbox->events_vector);
drivers/net/wireless/ti/wl18xx/event.c
126
mbox->number_of_scan_results);
drivers/net/wireless/ti/wl18xx/event.c
134
le16_to_cpu(mbox->time_sync_tsf_high_msb),
drivers/net/wireless/ti/wl18xx/event.c
135
le16_to_cpu(mbox->time_sync_tsf_high_lsb),
drivers/net/wireless/ti/wl18xx/event.c
136
le16_to_cpu(mbox->time_sync_tsf_low_msb),
drivers/net/wireless/ti/wl18xx/event.c
137
le16_to_cpu(mbox->time_sync_tsf_low_lsb));
drivers/net/wireless/ti/wl18xx/event.c
141
mbox->radar_channel,
drivers/net/wireless/ti/wl18xx/event.c
142
wl18xx_radar_type_decode(mbox->radar_type));
drivers/net/wireless/ti/wl18xx/event.c
151
mbox->number_of_sched_scan_results);
drivers/net/wireless/ti/wl18xx/event.c
160
wlcore_event_rssi_trigger(wl, mbox->rssi_snr_trigger_metric);
drivers/net/wireless/ti/wl18xx/event.c
164
le16_to_cpu(mbox->rx_ba_role_id_bitmap),
drivers/net/wireless/ti/wl18xx/event.c
165
le16_to_cpu(mbox->rx_ba_allowed_bitmap));
drivers/net/wireless/ti/wl18xx/event.c
169
le16_to_cpu(mbox->bss_loss_bitmap));
drivers/net/wireless/ti/wl18xx/event.c
173
le16_to_cpu(mbox->channel_switch_role_id_bitmap),
drivers/net/wireless/ti/wl18xx/event.c
185
le16_to_cpu(mbox->tx_retry_exceeded_bitmap));
drivers/net/wireless/ti/wl18xx/event.c
189
le16_to_cpu(mbox->inactive_sta_bitmap));
drivers/net/wireless/ti/wl18xx/event.c
195
wlcore_smart_config_sync_event(wl, mbox->sc_sync_channel,
drivers/net/wireless/ti/wl18xx/event.c
196
mbox->sc_sync_band);
drivers/net/wireless/ti/wl18xx/event.c
200
mbox->sc_ssid_len,
drivers/net/wireless/ti/wl18xx/event.c
201
mbox->sc_ssid,
drivers/net/wireless/ti/wl18xx/event.c
202
mbox->sc_pwd_len,
drivers/net/wireless/ti/wl18xx/event.c
203
mbox->sc_pwd);
drivers/net/wireless/ti/wl18xx/event.c
211
u8 link_id = mbox->rx_ba_link_id;
drivers/net/wireless/ti/wl18xx/event.c
212
u8 win_size = mbox->rx_ba_win_size;
drivers/net/wireless/ti/wlcore/event.c
372
ret = wlcore_read(wl, wl->mbox_ptr[mbox_num], wl->mbox,
drivers/net/wireless/ti/wlcore/event.h
64
int wl1271_event_handle(struct wl1271 *wl, u8 mbox);
drivers/net/wireless/ti/wlcore/main.c
6456
wl->mbox = kmalloc(wl->mbox_size, GFP_KERNEL | GFP_DMA);
drivers/net/wireless/ti/wlcore/main.c
6457
if (!wl->mbox) {
drivers/net/wireless/ti/wlcore/main.c
6471
kfree(wl->mbox);
drivers/net/wireless/ti/wlcore/main.c
6508
kfree(wl->mbox);
drivers/net/wireless/ti/wlcore/wlcore.h
314
void *mbox;
drivers/rapidio/devices/tsi721.c
1694
tsi721_add_outb_message(struct rio_mport *mport, struct rio_dev *rdev, int mbox,
drivers/rapidio/devices/tsi721.c
1702
if (!priv->omsg_init[mbox] ||
drivers/rapidio/devices/tsi721.c
1706
spin_lock_irqsave(&priv->omsg_ring[mbox].lock, flags);
drivers/rapidio/devices/tsi721.c
1708
tx_slot = priv->omsg_ring[mbox].tx_slot;
drivers/rapidio/devices/tsi721.c
1711
memcpy(priv->omsg_ring[mbox].omq_base[tx_slot], buffer, len);
drivers/rapidio/devices/tsi721.c
1717
desc = priv->omsg_ring[mbox].omd_base;
drivers/rapidio/devices/tsi721.c
1725
cpu_to_le32((mport->sys_size << 26) | (mbox << 22) |
drivers/rapidio/devices/tsi721.c
1728
cpu_to_le32((u64)priv->omsg_ring[mbox].omq_phys[tx_slot] &
drivers/rapidio/devices/tsi721.c
1731
cpu_to_le32((u64)priv->omsg_ring[mbox].omq_phys[tx_slot] >> 32);
drivers/rapidio/devices/tsi721.c
1733
priv->omsg_ring[mbox].wr_count++;
drivers/rapidio/devices/tsi721.c
1736
if (++priv->omsg_ring[mbox].tx_slot == priv->omsg_ring[mbox].size) {
drivers/rapidio/devices/tsi721.c
1737
priv->omsg_ring[mbox].tx_slot = 0;
drivers/rapidio/devices/tsi721.c
1739
priv->omsg_ring[mbox].wr_count++;
drivers/rapidio/devices/tsi721.c
1745
iowrite32(priv->omsg_ring[mbox].wr_count,
drivers/rapidio/devices/tsi721.c
1746
priv->regs + TSI721_OBDMAC_DWRCNT(mbox));
drivers/rapidio/devices/tsi721.c
1747
ioread32(priv->regs + TSI721_OBDMAC_DWRCNT(mbox));
drivers/rapidio/devices/tsi721.c
1749
spin_unlock_irqrestore(&priv->omsg_ring[mbox].lock, flags);
drivers/rapidio/devices/tsi721.c
1903
int mbox, int entries)
drivers/rapidio/devices/tsi721.c
1911
(!is_power_of_2(entries)) || mbox >= RIO_MAX_MBOX) {
drivers/rapidio/devices/tsi721.c
1916
if ((mbox_sel & (1 << mbox)) == 0) {
drivers/rapidio/devices/tsi721.c
1921
priv->omsg_ring[mbox].dev_id = dev_id;
drivers/rapidio/devices/tsi721.c
1922
priv->omsg_ring[mbox].size = entries;
drivers/rapidio/devices/tsi721.c
1923
priv->omsg_ring[mbox].sts_rdptr = 0;
drivers/rapidio/devices/tsi721.c
1924
spin_lock_init(&priv->omsg_ring[mbox].lock);
drivers/rapidio/devices/tsi721.c
1929
priv->omsg_ring[mbox].omq_base[i] =
drivers/rapidio/devices/tsi721.c
1932
&priv->omsg_ring[mbox].omq_phys[i],
drivers/rapidio/devices/tsi721.c
1934
if (priv->omsg_ring[mbox].omq_base[i] == NULL) {
drivers/rapidio/devices/tsi721.c
1936
"ENOMEM for OB_MSG_%d data buffer", mbox);
drivers/rapidio/devices/tsi721.c
1943
priv->omsg_ring[mbox].omd_base = dma_alloc_coherent(
drivers/rapidio/devices/tsi721.c
1946
&priv->omsg_ring[mbox].omd_phys, GFP_KERNEL);
drivers/rapidio/devices/tsi721.c
1947
if (priv->omsg_ring[mbox].omd_base == NULL) {
drivers/rapidio/devices/tsi721.c
1949
"ENOMEM for OB_MSG_%d descriptor memory", mbox);
drivers/rapidio/devices/tsi721.c
1954
priv->omsg_ring[mbox].tx_slot = 0;
drivers/rapidio/devices/tsi721.c
1957
priv->omsg_ring[mbox].sts_size = roundup_pow_of_two(entries + 1);
drivers/rapidio/devices/tsi721.c
1958
priv->omsg_ring[mbox].sts_base = dma_alloc_coherent(&priv->pdev->dev,
drivers/rapidio/devices/tsi721.c
1959
priv->omsg_ring[mbox].sts_size * sizeof(struct tsi721_dma_sts),
drivers/rapidio/devices/tsi721.c
1960
&priv->omsg_ring[mbox].sts_phys,
drivers/rapidio/devices/tsi721.c
1962
if (priv->omsg_ring[mbox].sts_base == NULL) {
drivers/rapidio/devices/tsi721.c
1964
"ENOMEM for OB_MSG_%d status FIFO", mbox);
drivers/rapidio/devices/tsi721.c
1974
iowrite32(((u64)priv->omsg_ring[mbox].omd_phys >> 32),
drivers/rapidio/devices/tsi721.c
1975
priv->regs + TSI721_OBDMAC_DPTRH(mbox));
drivers/rapidio/devices/tsi721.c
1976
iowrite32(((u64)priv->omsg_ring[mbox].omd_phys &
drivers/rapidio/devices/tsi721.c
1978
priv->regs + TSI721_OBDMAC_DPTRL(mbox));
drivers/rapidio/devices/tsi721.c
1981
iowrite32(((u64)priv->omsg_ring[mbox].sts_phys >> 32),
drivers/rapidio/devices/tsi721.c
1982
priv->regs + TSI721_OBDMAC_DSBH(mbox));
drivers/rapidio/devices/tsi721.c
1983
iowrite32(((u64)priv->omsg_ring[mbox].sts_phys &
drivers/rapidio/devices/tsi721.c
1985
priv->regs + TSI721_OBDMAC_DSBL(mbox));
drivers/rapidio/devices/tsi721.c
1986
iowrite32(TSI721_DMAC_DSSZ_SIZE(priv->omsg_ring[mbox].sts_size),
drivers/rapidio/devices/tsi721.c
1987
priv->regs + (u32)TSI721_OBDMAC_DSSZ(mbox));
drivers/rapidio/devices/tsi721.c
1993
int idx = TSI721_VECT_OMB0_DONE + mbox;
drivers/rapidio/devices/tsi721.c
2002
mbox);
drivers/rapidio/devices/tsi721.c
2006
idx = TSI721_VECT_OMB0_INT + mbox;
drivers/rapidio/devices/tsi721.c
2012
"Unable to get MSI-X IRQ for MBOX%d-INT", mbox);
drivers/rapidio/devices/tsi721.c
2013
idx = TSI721_VECT_OMB0_DONE + mbox;
drivers/rapidio/devices/tsi721.c
2020
tsi721_omsg_interrupt_enable(priv, mbox, TSI721_OBDMAC_INT_ALL);
drivers/rapidio/devices/tsi721.c
2023
bd_ptr = priv->omsg_ring[mbox].omd_base;
drivers/rapidio/devices/tsi721.c
2027
cpu_to_le32((u64)priv->omsg_ring[mbox].omd_phys &
drivers/rapidio/devices/tsi721.c
2030
cpu_to_le32((u64)priv->omsg_ring[mbox].omd_phys >> 32);
drivers/rapidio/devices/tsi721.c
2031
priv->omsg_ring[mbox].wr_count = 0;
drivers/rapidio/devices/tsi721.c
2036
priv->regs + TSI721_OBDMAC_CTL(mbox));
drivers/rapidio/devices/tsi721.c
2037
ioread32(priv->regs + TSI721_OBDMAC_DWRCNT(mbox));
drivers/rapidio/devices/tsi721.c
2040
priv->omsg_init[mbox] = 1;
drivers/rapidio/devices/tsi721.c
2047
priv->omsg_ring[mbox].sts_size * sizeof(struct tsi721_dma_sts),
drivers/rapidio/devices/tsi721.c
2048
priv->omsg_ring[mbox].sts_base,
drivers/rapidio/devices/tsi721.c
2049
priv->omsg_ring[mbox].sts_phys);
drivers/rapidio/devices/tsi721.c
2051
priv->omsg_ring[mbox].sts_base = NULL;
drivers/rapidio/devices/tsi721.c
2057
priv->omsg_ring[mbox].omd_base,
drivers/rapidio/devices/tsi721.c
2058
priv->omsg_ring[mbox].omd_phys);
drivers/rapidio/devices/tsi721.c
2060
priv->omsg_ring[mbox].omd_base = NULL;
drivers/rapidio/devices/tsi721.c
2063
for (i = 0; i < priv->omsg_ring[mbox].size; i++) {
drivers/rapidio/devices/tsi721.c
2064
if (priv->omsg_ring[mbox].omq_base[i]) {
drivers/rapidio/devices/tsi721.c
2067
priv->omsg_ring[mbox].omq_base[i],
drivers/rapidio/devices/tsi721.c
2068
priv->omsg_ring[mbox].omq_phys[i]);
drivers/rapidio/devices/tsi721.c
2070
priv->omsg_ring[mbox].omq_base[i] = NULL;
drivers/rapidio/devices/tsi721.c
2083
static void tsi721_close_outb_mbox(struct rio_mport *mport, int mbox)
drivers/rapidio/devices/tsi721.c
2088
if (!priv->omsg_init[mbox])
drivers/rapidio/devices/tsi721.c
2090
priv->omsg_init[mbox] = 0;
drivers/rapidio/devices/tsi721.c
2094
tsi721_omsg_interrupt_disable(priv, mbox, TSI721_OBDMAC_INT_ALL);
drivers/rapidio/devices/tsi721.c
2098
free_irq(priv->msix[TSI721_VECT_OMB0_DONE + mbox].vector,
drivers/rapidio/devices/tsi721.c
2100
free_irq(priv->msix[TSI721_VECT_OMB0_INT + mbox].vector,
drivers/rapidio/devices/tsi721.c
2107
priv->omsg_ring[mbox].sts_size * sizeof(struct tsi721_dma_sts),
drivers/rapidio/devices/tsi721.c
2108
priv->omsg_ring[mbox].sts_base,
drivers/rapidio/devices/tsi721.c
2109
priv->omsg_ring[mbox].sts_phys);
drivers/rapidio/devices/tsi721.c
2111
priv->omsg_ring[mbox].sts_base = NULL;
drivers/rapidio/devices/tsi721.c
2115
(priv->omsg_ring[mbox].size + 1) *
drivers/rapidio/devices/tsi721.c
2117
priv->omsg_ring[mbox].omd_base,
drivers/rapidio/devices/tsi721.c
2118
priv->omsg_ring[mbox].omd_phys);
drivers/rapidio/devices/tsi721.c
2120
priv->omsg_ring[mbox].omd_base = NULL;
drivers/rapidio/devices/tsi721.c
2123
for (i = 0; i < priv->omsg_ring[mbox].size; i++) {
drivers/rapidio/devices/tsi721.c
2124
if (priv->omsg_ring[mbox].omq_base[i]) {
drivers/rapidio/devices/tsi721.c
2127
priv->omsg_ring[mbox].omq_base[i],
drivers/rapidio/devices/tsi721.c
2128
priv->omsg_ring[mbox].omq_phys[i]);
drivers/rapidio/devices/tsi721.c
2130
priv->omsg_ring[mbox].omq_base[i] = NULL;
drivers/rapidio/devices/tsi721.c
2144
u32 mbox = ch - 4;
drivers/rapidio/devices/tsi721.c
2148
spin_lock(&priv->imsg_ring[mbox].lock);
drivers/rapidio/devices/tsi721.c
2153
tsi_info(&priv->pdev->dev, "IB MBOX%d SRIO timeout", mbox);
drivers/rapidio/devices/tsi721.c
2156
tsi_info(&priv->pdev->dev, "IB MBOX%d PCIe error", mbox);
drivers/rapidio/devices/tsi721.c
2159
tsi_info(&priv->pdev->dev, "IB MBOX%d IB free queue low", mbox);
drivers/rapidio/devices/tsi721.c
2166
mport->inb_msg[mbox].mcback)
drivers/rapidio/devices/tsi721.c
2167
mport->inb_msg[mbox].mcback(mport,
drivers/rapidio/devices/tsi721.c
2168
priv->imsg_ring[mbox].dev_id, mbox, -1);
drivers/rapidio/devices/tsi721.c
2179
spin_unlock(&priv->imsg_ring[mbox].lock);
drivers/rapidio/devices/tsi721.c
2192
int mbox, int entries)
drivers/rapidio/devices/tsi721.c
2195
int ch = mbox + 4;
drivers/rapidio/devices/tsi721.c
2202
(!is_power_of_2(entries)) || mbox >= RIO_MAX_MBOX) {
drivers/rapidio/devices/tsi721.c
2207
if ((mbox_sel & (1 << mbox)) == 0) {
drivers/rapidio/devices/tsi721.c
2213
priv->imsg_ring[mbox].dev_id = dev_id;
drivers/rapidio/devices/tsi721.c
2214
priv->imsg_ring[mbox].size = entries;
drivers/rapidio/devices/tsi721.c
2215
priv->imsg_ring[mbox].rx_slot = 0;
drivers/rapidio/devices/tsi721.c
2216
priv->imsg_ring[mbox].desc_rdptr = 0;
drivers/rapidio/devices/tsi721.c
2217
priv->imsg_ring[mbox].fq_wrptr = 0;
drivers/rapidio/devices/tsi721.c
2218
for (i = 0; i < priv->imsg_ring[mbox].size; i++)
drivers/rapidio/devices/tsi721.c
2219
priv->imsg_ring[mbox].imq_base[i] = NULL;
drivers/rapidio/devices/tsi721.c
2220
spin_lock_init(&priv->imsg_ring[mbox].lock);
drivers/rapidio/devices/tsi721.c
2223
priv->imsg_ring[mbox].buf_base =
drivers/rapidio/devices/tsi721.c
2226
&priv->imsg_ring[mbox].buf_phys,
drivers/rapidio/devices/tsi721.c
2229
if (priv->imsg_ring[mbox].buf_base == NULL) {
drivers/rapidio/devices/tsi721.c
2231
"Failed to allocate buffers for IB MBOX%d", mbox);
drivers/rapidio/devices/tsi721.c
2237
priv->imsg_ring[mbox].imfq_base =
drivers/rapidio/devices/tsi721.c
2240
&priv->imsg_ring[mbox].imfq_phys,
drivers/rapidio/devices/tsi721.c
2243
if (priv->imsg_ring[mbox].imfq_base == NULL) {
drivers/rapidio/devices/tsi721.c
2245
"Failed to allocate free queue for IB MBOX%d", mbox);
drivers/rapidio/devices/tsi721.c
2251
priv->imsg_ring[mbox].imd_base =
drivers/rapidio/devices/tsi721.c
2254
&priv->imsg_ring[mbox].imd_phys, GFP_KERNEL);
drivers/rapidio/devices/tsi721.c
2256
if (priv->imsg_ring[mbox].imd_base == NULL) {
drivers/rapidio/devices/tsi721.c
2259
mbox);
drivers/rapidio/devices/tsi721.c
2265
free_ptr = priv->imsg_ring[mbox].imfq_base;
drivers/rapidio/devices/tsi721.c
2268
(u64)(priv->imsg_ring[mbox].buf_phys) +
drivers/rapidio/devices/tsi721.c
2289
iowrite32(((u64)priv->imsg_ring[mbox].imfq_phys >> 32),
drivers/rapidio/devices/tsi721.c
2291
iowrite32(((u64)priv->imsg_ring[mbox].imfq_phys &
drivers/rapidio/devices/tsi721.c
2298
iowrite32(((u64)priv->imsg_ring[mbox].imd_phys >> 32),
drivers/rapidio/devices/tsi721.c
2300
iowrite32(((u32)priv->imsg_ring[mbox].imd_phys &
drivers/rapidio/devices/tsi721.c
2310
int idx = TSI721_VECT_IMB0_RCV + mbox;
drivers/rapidio/devices/tsi721.c
2319
mbox);
drivers/rapidio/devices/tsi721.c
2323
idx = TSI721_VECT_IMB0_INT + mbox;
drivers/rapidio/devices/tsi721.c
2329
"Unable to get MSI-X IRQ for IBOX%d-INT", mbox);
drivers/rapidio/devices/tsi721.c
2331
priv->msix[TSI721_VECT_IMB0_RCV + mbox].vector,
drivers/rapidio/devices/tsi721.c
2344
priv->imsg_ring[mbox].fq_wrptr = entries - 1;
drivers/rapidio/devices/tsi721.c
2347
priv->imsg_init[mbox] = 1;
drivers/rapidio/devices/tsi721.c
2353
priv->imsg_ring[mbox].size * sizeof(struct tsi721_imsg_desc),
drivers/rapidio/devices/tsi721.c
2354
priv->imsg_ring[mbox].imd_base,
drivers/rapidio/devices/tsi721.c
2355
priv->imsg_ring[mbox].imd_phys);
drivers/rapidio/devices/tsi721.c
2357
priv->imsg_ring[mbox].imd_base = NULL;
drivers/rapidio/devices/tsi721.c
2362
priv->imsg_ring[mbox].size * 8,
drivers/rapidio/devices/tsi721.c
2363
priv->imsg_ring[mbox].imfq_base,
drivers/rapidio/devices/tsi721.c
2364
priv->imsg_ring[mbox].imfq_phys);
drivers/rapidio/devices/tsi721.c
2366
priv->imsg_ring[mbox].imfq_base = NULL;
drivers/rapidio/devices/tsi721.c
2370
priv->imsg_ring[mbox].size * TSI721_MSG_BUFFER_SIZE,
drivers/rapidio/devices/tsi721.c
2371
priv->imsg_ring[mbox].buf_base,
drivers/rapidio/devices/tsi721.c
2372
priv->imsg_ring[mbox].buf_phys);
drivers/rapidio/devices/tsi721.c
2374
priv->imsg_ring[mbox].buf_base = NULL;
drivers/rapidio/devices/tsi721.c
2385
static void tsi721_close_inb_mbox(struct rio_mport *mport, int mbox)
drivers/rapidio/devices/tsi721.c
2389
int ch = mbox + 4;
drivers/rapidio/devices/tsi721.c
2391
if (!priv->imsg_init[mbox]) /* mbox isn't initialized yet */
drivers/rapidio/devices/tsi721.c
2393
priv->imsg_init[mbox] = 0;
drivers/rapidio/devices/tsi721.c
2402
free_irq(priv->msix[TSI721_VECT_IMB0_RCV + mbox].vector,
drivers/rapidio/devices/tsi721.c
2404
free_irq(priv->msix[TSI721_VECT_IMB0_INT + mbox].vector,
drivers/rapidio/devices/tsi721.c
2410
for (rx_slot = 0; rx_slot < priv->imsg_ring[mbox].size; rx_slot++)
drivers/rapidio/devices/tsi721.c
2411
priv->imsg_ring[mbox].imq_base[rx_slot] = NULL;
drivers/rapidio/devices/tsi721.c
2415
priv->imsg_ring[mbox].size * TSI721_MSG_BUFFER_SIZE,
drivers/rapidio/devices/tsi721.c
2416
priv->imsg_ring[mbox].buf_base,
drivers/rapidio/devices/tsi721.c
2417
priv->imsg_ring[mbox].buf_phys);
drivers/rapidio/devices/tsi721.c
2419
priv->imsg_ring[mbox].buf_base = NULL;
drivers/rapidio/devices/tsi721.c
2423
priv->imsg_ring[mbox].size * 8,
drivers/rapidio/devices/tsi721.c
2424
priv->imsg_ring[mbox].imfq_base,
drivers/rapidio/devices/tsi721.c
2425
priv->imsg_ring[mbox].imfq_phys);
drivers/rapidio/devices/tsi721.c
2427
priv->imsg_ring[mbox].imfq_base = NULL;
drivers/rapidio/devices/tsi721.c
2431
priv->imsg_ring[mbox].size * sizeof(struct tsi721_imsg_desc),
drivers/rapidio/devices/tsi721.c
2432
priv->imsg_ring[mbox].imd_base,
drivers/rapidio/devices/tsi721.c
2433
priv->imsg_ring[mbox].imd_phys);
drivers/rapidio/devices/tsi721.c
2435
priv->imsg_ring[mbox].imd_base = NULL;
drivers/rapidio/devices/tsi721.c
2446
static int tsi721_add_inb_buffer(struct rio_mport *mport, int mbox, void *buf)
drivers/rapidio/devices/tsi721.c
2452
rx_slot = priv->imsg_ring[mbox].rx_slot;
drivers/rapidio/devices/tsi721.c
2453
if (priv->imsg_ring[mbox].imq_base[rx_slot]) {
drivers/rapidio/devices/tsi721.c
2461
priv->imsg_ring[mbox].imq_base[rx_slot] = buf;
drivers/rapidio/devices/tsi721.c
2463
if (++priv->imsg_ring[mbox].rx_slot == priv->imsg_ring[mbox].size)
drivers/rapidio/devices/tsi721.c
2464
priv->imsg_ring[mbox].rx_slot = 0;
drivers/rapidio/devices/tsi721.c
2477
static void *tsi721_get_inb_message(struct rio_mport *mport, int mbox)
drivers/rapidio/devices/tsi721.c
2486
int ch = mbox + 4;
drivers/rapidio/devices/tsi721.c
2489
if (!priv->imsg_init[mbox])
drivers/rapidio/devices/tsi721.c
2492
desc = priv->imsg_ring[mbox].imd_base;
drivers/rapidio/devices/tsi721.c
2493
desc += priv->imsg_ring[mbox].desc_rdptr;
drivers/rapidio/devices/tsi721.c
2498
rx_slot = priv->imsg_ring[mbox].rx_slot;
drivers/rapidio/devices/tsi721.c
2499
while (priv->imsg_ring[mbox].imq_base[rx_slot] == NULL) {
drivers/rapidio/devices/tsi721.c
2500
if (++rx_slot == priv->imsg_ring[mbox].size)
drivers/rapidio/devices/tsi721.c
2507
rx_virt = priv->imsg_ring[mbox].buf_base +
drivers/rapidio/devices/tsi721.c
2508
(rx_phys - (u64)priv->imsg_ring[mbox].buf_phys);
drivers/rapidio/devices/tsi721.c
2510
buf = priv->imsg_ring[mbox].imq_base[rx_slot];
drivers/rapidio/devices/tsi721.c
2516
priv->imsg_ring[mbox].imq_base[rx_slot] = NULL;
drivers/rapidio/devices/tsi721.c
2519
if (++priv->imsg_ring[mbox].desc_rdptr == priv->imsg_ring[mbox].size)
drivers/rapidio/devices/tsi721.c
2520
priv->imsg_ring[mbox].desc_rdptr = 0;
drivers/rapidio/devices/tsi721.c
2522
iowrite32(priv->imsg_ring[mbox].desc_rdptr,
drivers/rapidio/devices/tsi721.c
2526
free_ptr = priv->imsg_ring[mbox].imfq_base;
drivers/rapidio/devices/tsi721.c
2527
free_ptr[priv->imsg_ring[mbox].fq_wrptr] = cpu_to_le64(rx_phys);
drivers/rapidio/devices/tsi721.c
2529
if (++priv->imsg_ring[mbox].fq_wrptr == priv->imsg_ring[mbox].size)
drivers/rapidio/devices/tsi721.c
2530
priv->imsg_ring[mbox].fq_wrptr = 0;
drivers/rapidio/devices/tsi721.c
2532
iowrite32(priv->imsg_ring[mbox].fq_wrptr,
drivers/rapidio/devices/tsi721.c
628
int mbox;
drivers/rapidio/devices/tsi721.c
630
mbox = (irq - priv->msix[TSI721_VECT_OMB0_DONE].vector) % RIO_MAX_MBOX;
drivers/rapidio/devices/tsi721.c
631
tsi721_omsg_handler(priv, mbox);
drivers/rapidio/devices/tsi721.c
647
int mbox;
drivers/rapidio/devices/tsi721.c
649
mbox = (irq - priv->msix[TSI721_VECT_IMB0_RCV].vector) % RIO_MAX_MBOX;
drivers/rapidio/devices/tsi721.c
650
tsi721_imsg_handler(priv, mbox + 4);
drivers/rapidio/rio.c
234
int mbox,
drivers/rapidio/rio.c
236
void (*minb) (struct rio_mport * mport, void *dev_id, int mbox,
drivers/rapidio/rio.c
247
rio_init_mbox_res(res, mbox, mbox);
drivers/rapidio/rio.c
257
mport->inb_msg[mbox].res = res;
drivers/rapidio/rio.c
260
mport->inb_msg[mbox].mcback = minb;
drivers/rapidio/rio.c
262
rc = mport->ops->open_inb_mbox(mport, dev_id, mbox, entries);
drivers/rapidio/rio.c
264
mport->inb_msg[mbox].mcback = NULL;
drivers/rapidio/rio.c
265
mport->inb_msg[mbox].res = NULL;
drivers/rapidio/rio.c
285
int rio_release_inb_mbox(struct rio_mport *mport, int mbox)
drivers/rapidio/rio.c
289
if (!mport->ops->close_inb_mbox || !mport->inb_msg[mbox].res)
drivers/rapidio/rio.c
292
mport->ops->close_inb_mbox(mport, mbox);
drivers/rapidio/rio.c
293
mport->inb_msg[mbox].mcback = NULL;
drivers/rapidio/rio.c
295
rc = release_resource(mport->inb_msg[mbox].res);
drivers/rapidio/rio.c
299
kfree(mport->inb_msg[mbox].res);
drivers/rapidio/rio.c
300
mport->inb_msg[mbox].res = NULL;
drivers/rapidio/rio.c
319
int mbox,
drivers/rapidio/rio.c
321
void (*moutb) (struct rio_mport * mport, void *dev_id, int mbox, int slot))
drivers/rapidio/rio.c
331
rio_init_mbox_res(res, mbox, mbox);
drivers/rapidio/rio.c
341
mport->outb_msg[mbox].res = res;
drivers/rapidio/rio.c
344
mport->outb_msg[mbox].mcback = moutb;
drivers/rapidio/rio.c
346
rc = mport->ops->open_outb_mbox(mport, dev_id, mbox, entries);
drivers/rapidio/rio.c
348
mport->outb_msg[mbox].mcback = NULL;
drivers/rapidio/rio.c
349
mport->outb_msg[mbox].res = NULL;
drivers/rapidio/rio.c
369
int rio_release_outb_mbox(struct rio_mport *mport, int mbox)
drivers/rapidio/rio.c
373
if (!mport->ops->close_outb_mbox || !mport->outb_msg[mbox].res)
drivers/rapidio/rio.c
376
mport->ops->close_outb_mbox(mport, mbox);
drivers/rapidio/rio.c
377
mport->outb_msg[mbox].mcback = NULL;
drivers/rapidio/rio.c
379
rc = release_resource(mport->outb_msg[mbox].res);
drivers/rapidio/rio.c
383
kfree(mport->outb_msg[mbox].res);
drivers/rapidio/rio.c
384
mport->outb_msg[mbox].res = NULL;
drivers/rapidio/rio_cm.c
614
int mbox, int slot)
drivers/rapidio/rio_cm.c
691
int mbox, int slot)
drivers/remoteproc/omap_remoteproc.c
108
struct mbox_chan *mbox;
drivers/remoteproc/omap_remoteproc.c
553
ret = mbox_send_message(oproc->mbox, (void *)vqid);
drivers/remoteproc/omap_remoteproc.c
616
oproc->mbox = mbox_request_channel(client, 0);
drivers/remoteproc/omap_remoteproc.c
617
if (IS_ERR(oproc->mbox)) {
drivers/remoteproc/omap_remoteproc.c
620
PTR_ERR(oproc->mbox));
drivers/remoteproc/omap_remoteproc.c
631
ret = mbox_send_message(oproc->mbox, (void *)RP_MBOX_ECHO_REQUEST);
drivers/remoteproc/omap_remoteproc.c
665
mbox_free_channel(oproc->mbox);
drivers/remoteproc/omap_remoteproc.c
698
mbox_free_channel(oproc->mbox);
drivers/remoteproc/omap_remoteproc.c
786
ret = mbox_send_message(oproc->mbox, (void *)suspend_msg);
drivers/remoteproc/ti_k3_common.c
105
ret = mbox_send_message(kproc->mbox, (void *)(uintptr_t)msg);
drivers/remoteproc/ti_k3_common.c
162
mbox_free_channel(kproc->mbox);
drivers/remoteproc/ti_k3_common.c
178
kproc->mbox = mbox_request_channel(client, 0);
drivers/remoteproc/ti_k3_common.c
179
if (IS_ERR(kproc->mbox))
drivers/remoteproc/ti_k3_common.c
180
return dev_err_probe(dev, PTR_ERR(kproc->mbox),
drivers/remoteproc/ti_k3_common.h
93
struct mbox_chan *mbox;
drivers/scsi/be2iscsi/be_cmds.c
641
struct be_mcc_mailbox *mbox = mbox_mem->va;
drivers/scsi/be2iscsi/be_cmds.c
669
status = beiscsi_process_mbox_compl(ctrl, &mbox->compl);
drivers/scsi/csiostor/csio_hw.c
1180
csio_hw_fw_halt(struct csio_hw *hw, uint32_t mbox, int32_t force)
drivers/scsi/csiostor/csio_hw.c
1188
if (mbox <= PCIE_FW_MASTER_M) {
drivers/scsi/csiostor/csio_hw.c
1259
csio_hw_fw_restart(struct csio_hw *hw, uint32_t mbox, int32_t reset)
drivers/scsi/csiostor/csio_hw.c
1276
if (mbox <= PCIE_FW_MASTER_M) {
drivers/scsi/csiostor/csio_hw.c
1322
csio_hw_fw_upgrade(struct csio_hw *hw, uint32_t mbox,
drivers/scsi/csiostor/csio_hw.c
1328
ret = csio_hw_fw_halt(hw, mbox, force);
drivers/scsi/csiostor/csio_hw.c
1345
return csio_hw_fw_restart(hw, mbox, reset);
drivers/scsi/lpfc/lpfc.h
1044
MAILBOX_t *mbox;
drivers/scsi/lpfc/lpfc_attr.c
1965
LPFC_MBOXQ_t *mbox = NULL;
drivers/scsi/lpfc/lpfc_attr.c
2001
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_attr.c
2002
if (!mbox)
drivers/scsi/lpfc/lpfc_attr.c
2007
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_attr.c
2012
&mbox->u.mqe.un.set_trunk_mode,
drivers/scsi/lpfc/lpfc_attr.c
2014
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_attr.c
2019
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_bsg.c
100
struct lpfc_bsg_mbox mbox;
drivers/scsi/lpfc/lpfc_bsg.c
2499
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_bsg.c
2503
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_bsg.c
2504
if (!mbox)
drivers/scsi/lpfc/lpfc_bsg.c
2510
mbox, *rpi);
drivers/scsi/lpfc/lpfc_bsg.c
2514
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_bsg.c
2520
mbox, *rpi);
drivers/scsi/lpfc/lpfc_bsg.c
2524
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_bsg.c
2530
dmabuff = mbox->ctx_buf;
drivers/scsi/lpfc/lpfc_bsg.c
2531
mbox->ctx_buf = NULL;
drivers/scsi/lpfc/lpfc_bsg.c
2532
mbox->ctx_ndlp = NULL;
drivers/scsi/lpfc/lpfc_bsg.c
2533
status = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO);
drivers/scsi/lpfc/lpfc_bsg.c
2535
if ((status != MBX_SUCCESS) || (mbox->u.mb.mbxStatus)) {
drivers/scsi/lpfc/lpfc_bsg.c
2539
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_bsg.c
2546
*rpi = mbox->u.mb.un.varWords[0];
drivers/scsi/lpfc/lpfc_bsg.c
2550
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_bsg.c
2563
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_bsg.c
2567
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_bsg.c
2568
if (mbox == NULL)
drivers/scsi/lpfc/lpfc_bsg.c
2572
lpfc_unreg_login(phba, 0, rpi, mbox);
drivers/scsi/lpfc/lpfc_bsg.c
2575
phba->sli4_hba.rpi_ids[rpi], mbox);
drivers/scsi/lpfc/lpfc_bsg.c
2577
status = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO);
drivers/scsi/lpfc/lpfc_bsg.c
2579
if ((status != MBX_SUCCESS) || (mbox->u.mb.mbxStatus)) {
drivers/scsi/lpfc/lpfc_bsg.c
2581
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_bsg.c
2584
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_bsg.c
3401
pmb_buf = (uint8_t *)dd_data->context_un.mbox.mb;
drivers/scsi/lpfc/lpfc_bsg.c
3426
mempool_free(dd_data->context_un.mbox.pmboxq, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_bsg.c
3427
lpfc_bsg_dma_page_free(phba, dd_data->context_un.mbox.dmabuffers);
drivers/scsi/lpfc/lpfc_bsg.c
3686
pmb_buf = (uint8_t *)dd_data->context_un.mbox.mb;
drivers/scsi/lpfc/lpfc_bsg.c
4132
dd_data->context_un.mbox.pmboxq = pmboxq;
drivers/scsi/lpfc/lpfc_bsg.c
4133
dd_data->context_un.mbox.mb = (MAILBOX_t *)pmbx;
drivers/scsi/lpfc/lpfc_bsg.c
4304
dd_data->context_un.mbox.pmboxq = pmboxq;
drivers/scsi/lpfc/lpfc_bsg.c
4305
dd_data->context_un.mbox.mb = (MAILBOX_t *)mbx;
drivers/scsi/lpfc/lpfc_bsg.c
4653
dd_data->context_un.mbox.pmboxq = pmboxq;
drivers/scsi/lpfc/lpfc_bsg.c
4654
dd_data->context_un.mbox.mb = (MAILBOX_t *)pbuf;
drivers/scsi/lpfc/lpfc_bsg.c
5071
dd_data->context_un.mbox.dmabuffers = dmabuf;
drivers/scsi/lpfc/lpfc_bsg.c
5080
dd_data->context_un.mbox.pmboxq = pmboxq;
drivers/scsi/lpfc/lpfc_bsg.c
5081
dd_data->context_un.mbox.mb = (MAILBOX_t *)pmbx;
drivers/scsi/lpfc/lpfc_bsg.c
5082
dd_data->context_un.mbox.ext = ext;
drivers/scsi/lpfc/lpfc_bsg.c
5083
dd_data->context_un.mbox.mbOffset = mbox_req->mbOffset;
drivers/scsi/lpfc/lpfc_bsg.c
5084
dd_data->context_un.mbox.inExtWLen = mbox_req->inExtWLen;
drivers/scsi/lpfc/lpfc_bsg.c
5085
dd_data->context_un.mbox.outExtWLen = mbox_req->outExtWLen;
drivers/scsi/lpfc/lpfc_crtn.h
277
void lpfc_reg_fcfi_mrq(struct lpfc_hba *phba, struct lpfcMboxq *mbox, int mode);
drivers/scsi/lpfc/lpfc_crtn.h
35
int lpfc_mbox_rsrc_prep(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox);
drivers/scsi/lpfc/lpfc_crtn.h
36
void lpfc_mbox_rsrc_cleanup(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox,
drivers/scsi/lpfc/lpfc_crtn.h
606
int lpfc_sli4_dump_page_a0(struct lpfc_hba *phba, struct lpfcMboxq *mbox);
drivers/scsi/lpfc/lpfc_els.c
10452
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_els.c
10876
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_els.c
10877
if (!mbox)
drivers/scsi/lpfc/lpfc_els.c
10880
lpfc_init_link(phba, mbox,
drivers/scsi/lpfc/lpfc_els.c
10883
mbox->u.mb.un.varInitLnk.lipsr_AL_PA = 0;
drivers/scsi/lpfc/lpfc_els.c
10884
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_els.c
10885
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_els.c
10886
if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT) ==
drivers/scsi/lpfc/lpfc_els.c
10888
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_els.c
11225
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_els.c
11227
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_els.c
11228
if (mbox) {
drivers/scsi/lpfc/lpfc_els.c
11229
lpfc_reg_vpi(vport, mbox);
drivers/scsi/lpfc/lpfc_els.c
11230
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_els.c
11231
mbox->ctx_ndlp = lpfc_nlp_get(ndlp);
drivers/scsi/lpfc/lpfc_els.c
11232
if (!mbox->ctx_ndlp) {
drivers/scsi/lpfc/lpfc_els.c
11233
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_els.c
11237
mbox->mbox_cmpl = lpfc_cmpl_reg_new_vport;
drivers/scsi/lpfc/lpfc_els.c
11238
if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT)
drivers/scsi/lpfc/lpfc_els.c
11244
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_els.c
3332
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_els.c
3348
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_els.c
3349
if (!mbox) {
drivers/scsi/lpfc/lpfc_els.c
3358
(u8 *)&ns_ndlp->fc_sparam, mbox, fc_ndlp->nlp_rpi);
drivers/scsi/lpfc/lpfc_els.c
3365
mbox->mbox_cmpl = lpfc_mbx_cmpl_fc_reg_login;
drivers/scsi/lpfc/lpfc_els.c
3366
mbox->ctx_ndlp = lpfc_nlp_get(fc_ndlp);
drivers/scsi/lpfc/lpfc_els.c
3367
if (!mbox->ctx_ndlp) {
drivers/scsi/lpfc/lpfc_els.c
3372
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_els.c
3373
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_els.c
3385
lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED);
drivers/scsi/lpfc/lpfc_els.c
353
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_els.c
366
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_els.c
367
if (!mbox) {
drivers/scsi/lpfc/lpfc_els.c
373
lpfc_config_link(phba, mbox);
drivers/scsi/lpfc/lpfc_els.c
374
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_els.c
375
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_els.c
377
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_els.c
383
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_els.c
384
if (!mbox) {
drivers/scsi/lpfc/lpfc_els.c
388
rc = lpfc_reg_rpi(phba, vport->vpi, Fabric_DID, (uint8_t *)sp, mbox,
drivers/scsi/lpfc/lpfc_els.c
395
mbox->mbox_cmpl = lpfc_mbx_cmpl_fabric_reg_login;
drivers/scsi/lpfc/lpfc_els.c
396
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_els.c
400
mbox->ctx_ndlp = lpfc_nlp_get(ndlp);
drivers/scsi/lpfc/lpfc_els.c
401
if (!mbox->ctx_ndlp) {
drivers/scsi/lpfc/lpfc_els.c
406
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_els.c
420
lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED);
drivers/scsi/lpfc/lpfc_els.c
4620
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_els.c
4626
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_els.c
4627
if (!mbox) {
drivers/scsi/lpfc/lpfc_els.c
4644
lpfc_init_link(phba, mbox, phba->cfg_topology,
drivers/scsi/lpfc/lpfc_els.c
4646
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_els.c
4647
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_els.c
4648
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_els.c
4653
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_els.c
5432
LPFC_MBOXQ_t *mbox = NULL;
drivers/scsi/lpfc/lpfc_els.c
5441
if (cmdiocb->context_un.mbox)
drivers/scsi/lpfc/lpfc_els.c
5442
mbox = cmdiocb->context_un.mbox;
drivers/scsi/lpfc/lpfc_els.c
5459
if (mbox)
drivers/scsi/lpfc/lpfc_els.c
5460
lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED);
drivers/scsi/lpfc/lpfc_els.c
5476
ndlp->nlp_rpi, kref_read(&ndlp->kref), mbox, ndlp);
drivers/scsi/lpfc/lpfc_els.c
5477
if (mbox && !test_bit(FC_PT2PT, &vport->fc_flag)) {
drivers/scsi/lpfc/lpfc_els.c
5501
mbox->ctx_ndlp = lpfc_nlp_get(ndlp);
drivers/scsi/lpfc/lpfc_els.c
5502
if (!mbox->ctx_ndlp)
drivers/scsi/lpfc/lpfc_els.c
5505
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_els.c
5507
mbox->mbox_flag |= LPFC_MBX_IMED_UNREG;
drivers/scsi/lpfc/lpfc_els.c
5508
mbox->mbox_cmpl = lpfc_mbx_cmpl_dflt_rpi;
drivers/scsi/lpfc/lpfc_els.c
5510
mbox->mbox_cmpl = lpfc_mbx_cmpl_reg_login;
drivers/scsi/lpfc/lpfc_els.c
5517
if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT)
drivers/scsi/lpfc/lpfc_els.c
5535
lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED);
drivers/scsi/lpfc/lpfc_els.c
5536
} else if (mbox && test_bit(FC_PT2PT, &vport->fc_flag) &&
drivers/scsi/lpfc/lpfc_els.c
5538
lpfc_mbx_cmpl_reg_login(phba, mbox);
drivers/scsi/lpfc/lpfc_els.c
5543
if (mbox)
drivers/scsi/lpfc/lpfc_els.c
5623
LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_els.c
5704
if (mbox)
drivers/scsi/lpfc/lpfc_els.c
5705
elsiocb->context_un.mbox = mbox;
drivers/scsi/lpfc/lpfc_els.c
5893
LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_els.c
5929
if (mbox)
drivers/scsi/lpfc/lpfc_els.c
5930
elsiocb->context_un.mbox = mbox;
drivers/scsi/lpfc/lpfc_els.c
7318
LPFC_MBOXQ_t *mbox = NULL;
drivers/scsi/lpfc/lpfc_els.c
7321
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_els.c
7322
if (!mbox) {
drivers/scsi/lpfc/lpfc_els.c
7328
if (lpfc_sli4_dump_page_a0(phba, mbox))
drivers/scsi/lpfc/lpfc_els.c
7330
mbox->vport = rdp_context->ndlp->vport;
drivers/scsi/lpfc/lpfc_els.c
7331
mbox->mbox_cmpl = lpfc_mbx_cmpl_rdp_page_a0;
drivers/scsi/lpfc/lpfc_els.c
7332
mbox->ctx_u.rdp = rdp_context;
drivers/scsi/lpfc/lpfc_els.c
7333
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_els.c
7335
lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED);
drivers/scsi/lpfc/lpfc_els.c
7342
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_els.c
7349
LPFC_MBOXQ_t *mbox = NULL;
drivers/scsi/lpfc/lpfc_els.c
7356
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_els.c
7357
if (!mbox) {
drivers/scsi/lpfc/lpfc_els.c
7363
if (lpfc_sli4_dump_page_a0(phba, mbox))
drivers/scsi/lpfc/lpfc_els.c
7365
mp = mbox->ctx_buf;
drivers/scsi/lpfc/lpfc_els.c
7369
mb = &mbox->u.mb;
drivers/scsi/lpfc/lpfc_els.c
7381
mbox->in_ext_byte_len = DMP_SFF_PAGE_A0_SIZE;
drivers/scsi/lpfc/lpfc_els.c
7382
mbox->out_ext_byte_len = DMP_SFF_PAGE_A0_SIZE;
drivers/scsi/lpfc/lpfc_els.c
7383
mbox->mbox_offset_word = 5;
drivers/scsi/lpfc/lpfc_els.c
7384
mbox->ext_buf = virt;
drivers/scsi/lpfc/lpfc_els.c
7387
&mbox->u.mqe.un.mem_dump_type3, DMP_SFF_PAGE_A0_SIZE);
drivers/scsi/lpfc/lpfc_els.c
7388
mbox->u.mqe.un.mem_dump_type3.addr_lo = putPaddrLow(mp->phys);
drivers/scsi/lpfc/lpfc_els.c
7389
mbox->u.mqe.un.mem_dump_type3.addr_hi = putPaddrHigh(mp->phys);
drivers/scsi/lpfc/lpfc_els.c
7391
mbox->vport = phba->pport;
drivers/scsi/lpfc/lpfc_els.c
7392
rc = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_SLI4_CONFIG_TMO);
drivers/scsi/lpfc/lpfc_els.c
7400
mp = mbox->ctx_buf;
drivers/scsi/lpfc/lpfc_els.c
7404
if (bf_get(lpfc_mqe_status, &mbox->u.mqe)) {
drivers/scsi/lpfc/lpfc_els.c
7412
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_els.c
7417
mbox->ctx_buf = mp;
drivers/scsi/lpfc/lpfc_els.c
7418
mbox->vport = phba->pport;
drivers/scsi/lpfc/lpfc_els.c
7420
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_DUMP_MEMORY);
drivers/scsi/lpfc/lpfc_els.c
7422
&mbox->u.mqe.un.mem_dump_type3, DMP_LMSD);
drivers/scsi/lpfc/lpfc_els.c
7424
&mbox->u.mqe.un.mem_dump_type3, phba->sli4_hba.physical_port);
drivers/scsi/lpfc/lpfc_els.c
7426
&mbox->u.mqe.un.mem_dump_type3, DMP_PAGE_A2);
drivers/scsi/lpfc/lpfc_els.c
7428
mb = &mbox->u.mb;
drivers/scsi/lpfc/lpfc_els.c
7440
mbox->in_ext_byte_len = DMP_SFF_PAGE_A2_SIZE;
drivers/scsi/lpfc/lpfc_els.c
7441
mbox->out_ext_byte_len = DMP_SFF_PAGE_A2_SIZE;
drivers/scsi/lpfc/lpfc_els.c
7442
mbox->mbox_offset_word = 5;
drivers/scsi/lpfc/lpfc_els.c
7443
mbox->ext_buf = virt;
drivers/scsi/lpfc/lpfc_els.c
7446
&mbox->u.mqe.un.mem_dump_type3, DMP_SFF_PAGE_A2_SIZE);
drivers/scsi/lpfc/lpfc_els.c
7447
mbox->u.mqe.un.mem_dump_type3.addr_lo = putPaddrLow(mp->phys);
drivers/scsi/lpfc/lpfc_els.c
7448
mbox->u.mqe.un.mem_dump_type3.addr_hi = putPaddrHigh(mp->phys);
drivers/scsi/lpfc/lpfc_els.c
7451
rc = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_SLI4_CONFIG_TMO);
drivers/scsi/lpfc/lpfc_els.c
7455
if (bf_get(lpfc_mqe_status, &mbox->u.mqe)) {
drivers/scsi/lpfc/lpfc_els.c
7465
if (mbox->mbox_flag & LPFC_MBX_WAKE) {
drivers/scsi/lpfc/lpfc_els.c
7466
mbox->ctx_buf = mpsave;
drivers/scsi/lpfc/lpfc_els.c
7467
lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED);
drivers/scsi/lpfc/lpfc_els.c
7473
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_els.c
7726
LPFC_MBOXQ_t *mbox = NULL;
drivers/scsi/lpfc/lpfc_els.c
7730
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_els.c
7731
if (!mbox)
drivers/scsi/lpfc/lpfc_els.c
7734
cfg_shdr = &mbox->u.mqe.un.sli4_config.header.cfg_shdr;
drivers/scsi/lpfc/lpfc_els.c
7737
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_els.c
7740
mbox->ctx_u.lcb = lcb_context;
drivers/scsi/lpfc/lpfc_els.c
7741
mbox->vport = phba->pport;
drivers/scsi/lpfc/lpfc_els.c
7742
mbox->mbox_cmpl = lpfc_els_lcb_rsp;
drivers/scsi/lpfc/lpfc_els.c
7743
bf_set(lpfc_mbx_set_beacon_port_num, &mbox->u.mqe.un.beacon_config,
drivers/scsi/lpfc/lpfc_els.c
7745
bf_set(lpfc_mbx_set_beacon_state, &mbox->u.mqe.un.beacon_config,
drivers/scsi/lpfc/lpfc_els.c
7747
mbox->u.mqe.un.beacon_config.word5 = 0; /* Reserved */
drivers/scsi/lpfc/lpfc_els.c
7760
&mbox->u.mqe.un.beacon_config, 0);
drivers/scsi/lpfc/lpfc_els.c
7762
&mbox->u.mqe.un.beacon_config,
drivers/scsi/lpfc/lpfc_els.c
7767
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_els.c
7773
&mbox->u.mqe.un.beacon_config, beacon_state);
drivers/scsi/lpfc/lpfc_els.c
7775
&mbox->u.mqe.un.beacon_config, 1);
drivers/scsi/lpfc/lpfc_els.c
7777
&mbox->u.mqe.un.beacon_config,
drivers/scsi/lpfc/lpfc_els.c
7781
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_els.c
7783
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_els.c
806
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_els.c
8432
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_els.c
8473
mbox = mempool_alloc(phba->mbox_mem_pool,
drivers/scsi/lpfc/lpfc_els.c
8475
if (!mbox)
drivers/scsi/lpfc/lpfc_els.c
8478
lpfc_init_link(phba, mbox,
drivers/scsi/lpfc/lpfc_els.c
8481
mbox->u.mb.un.varInitLnk.lipsr_AL_PA = 0;
drivers/scsi/lpfc/lpfc_els.c
8482
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_els.c
8483
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_els.c
8484
rc = lpfc_sli_issue_mbox(phba, mbox,
drivers/scsi/lpfc/lpfc_els.c
8488
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_els.c
865
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_els.c
866
if (!mbox)
drivers/scsi/lpfc/lpfc_els.c
869
lpfc_config_link(phba, mbox);
drivers/scsi/lpfc/lpfc_els.c
871
mbox->mbox_cmpl = lpfc_mbx_cmpl_local_config_link;
drivers/scsi/lpfc/lpfc_els.c
872
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_els.c
873
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_els.c
875
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_els.c
8843
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_els.c
8853
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_ATOMIC);
drivers/scsi/lpfc/lpfc_els.c
8854
if (mbox) {
drivers/scsi/lpfc/lpfc_els.c
8855
lpfc_read_lnk_stat(phba, mbox);
drivers/scsi/lpfc/lpfc_els.c
8856
mbox->ctx_u.ox_rx_id = ox_id << 16 | ctx;
drivers/scsi/lpfc/lpfc_els.c
8857
mbox->ctx_ndlp = lpfc_nlp_get(ndlp);
drivers/scsi/lpfc/lpfc_els.c
8858
if (!mbox->ctx_ndlp)
drivers/scsi/lpfc/lpfc_els.c
8860
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_els.c
8861
mbox->mbox_cmpl = lpfc_els_rsp_rls_acc;
drivers/scsi/lpfc/lpfc_els.c
8862
if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT)
drivers/scsi/lpfc/lpfc_els.c
8871
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_hbadisc.c
3954
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_hbadisc.c
3957
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_hbadisc.c
3958
if (!mbox)
drivers/scsi/lpfc/lpfc_hbadisc.c
3961
lpfc_unreg_vpi(phba, vport->vpi, mbox);
drivers/scsi/lpfc/lpfc_hbadisc.c
3962
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_hbadisc.c
3963
mbox->mbox_cmpl = lpfc_mbx_cmpl_unreg_vpi;
drivers/scsi/lpfc/lpfc_hbadisc.c
3964
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_hbadisc.c
3968
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_hbadisc.c
5207
struct lpfc_nodelist *ndlp, LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_hbadisc.c
5212
mbox->ctx_ndlp = lpfc_nlp_get(ndlp);
drivers/scsi/lpfc/lpfc_hbadisc.c
5213
if (!mbox->ctx_ndlp)
drivers/scsi/lpfc/lpfc_hbadisc.c
5217
mbox->mbox_cmpl = lpfc_nlp_logo_unreg;
drivers/scsi/lpfc/lpfc_hbadisc.c
5223
mbox->mbox_cmpl = lpfc_sli4_unreg_rpi_cmpl_clr;
drivers/scsi/lpfc/lpfc_hbadisc.c
5225
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_hbadisc.c
5242
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_hbadisc.c
5272
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_hbadisc.c
5273
if (mbox) {
drivers/scsi/lpfc/lpfc_hbadisc.c
5279
lpfc_unreg_login(phba, vport->vpi, rpi, mbox);
drivers/scsi/lpfc/lpfc_hbadisc.c
5280
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_hbadisc.c
5281
lpfc_set_unreg_login_mbx_cmpl(phba, vport, ndlp, mbox);
drivers/scsi/lpfc/lpfc_hbadisc.c
5282
if (!mbox->ctx_ndlp) {
drivers/scsi/lpfc/lpfc_hbadisc.c
5283
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_hbadisc.c
5288
if (mbox->mbox_cmpl == lpfc_sli4_unreg_rpi_cmpl_clr)
drivers/scsi/lpfc/lpfc_hbadisc.c
5302
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_hbadisc.c
5305
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_hbadisc.c
5390
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_hbadisc.c
5398
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_hbadisc.c
5399
if (mbox) {
drivers/scsi/lpfc/lpfc_hbadisc.c
5401
mbox);
drivers/scsi/lpfc/lpfc_hbadisc.c
5402
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_hbadisc.c
5403
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_hbadisc.c
5404
mbox->ctx_ndlp = NULL;
drivers/scsi/lpfc/lpfc_hbadisc.c
5405
rc = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO);
drivers/scsi/lpfc/lpfc_hbadisc.c
5407
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_hbadisc.c
5421
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_hbadisc.c
5428
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_hbadisc.c
5429
if (mbox) {
drivers/scsi/lpfc/lpfc_hbadisc.c
5431
mbox);
drivers/scsi/lpfc/lpfc_hbadisc.c
5432
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_hbadisc.c
5433
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_hbadisc.c
5434
mbox->ctx_ndlp = NULL;
drivers/scsi/lpfc/lpfc_hbadisc.c
5435
rc = lpfc_sli_issue_mbox_wait(phba, mbox, LPFC_MBOX_TMO);
drivers/scsi/lpfc/lpfc_hbadisc.c
5437
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_hbadisc.c
5799
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_hbadisc.c
5815
if ((mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL)) != NULL) {
drivers/scsi/lpfc/lpfc_hbadisc.c
5817
lpfc_clear_la(phba, mbox);
drivers/scsi/lpfc/lpfc_hbadisc.c
5818
mbox->mbox_cmpl = lpfc_mbx_cmpl_clear_la;
drivers/scsi/lpfc/lpfc_hbadisc.c
5819
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_hbadisc.c
5820
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_hbadisc.c
5822
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_hbadisc.c
6829
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_hbadisc.c
6832
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_hbadisc.c
6833
if (!mbox) {
drivers/scsi/lpfc/lpfc_hbadisc.c
6839
lpfc_unreg_fcfi(mbox, phba->fcf.fcfi);
drivers/scsi/lpfc/lpfc_hbadisc.c
6840
mbox->vport = phba->pport;
drivers/scsi/lpfc/lpfc_hbadisc.c
6841
mbox->mbox_cmpl = lpfc_unregister_fcfi_cmpl;
drivers/scsi/lpfc/lpfc_hbadisc.c
6842
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_init.c
9304
phba->mbox = phba->slim2p.virt + offsetof(struct lpfc_sli2_slim, mbx);
drivers/scsi/lpfc/lpfc_mbox.c
100
lpfc_mbox_rsrc_cleanup(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox,
drivers/scsi/lpfc/lpfc_mbox.c
105
mp = mbox->ctx_buf;
drivers/scsi/lpfc/lpfc_mbox.c
106
mbox->ctx_buf = NULL;
drivers/scsi/lpfc/lpfc_mbox.c
117
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_mbox.c
1375
offset = (uint8_t *)phba->mbox - (uint8_t *)phba->slim2p.virt;
drivers/scsi/lpfc/lpfc_mbox.c
1432
&phba->mbox->us.s2.host[0];
drivers/scsi/lpfc/lpfc_mbox.c
1434
offset = (uint8_t *)&phba->mbox->us.s2.host -
drivers/scsi/lpfc/lpfc_mbox.c
1677
MAILBOX_t *mbox = &mboxq->u.mb;
drivers/scsi/lpfc/lpfc_mbox.c
1680
switch (mbox->mbxCommand) {
drivers/scsi/lpfc/lpfc_mbox.c
1737
lpfc_sli4_mbx_sge_set(struct lpfcMboxq *mbox, uint32_t sgentry,
drivers/scsi/lpfc/lpfc_mbox.c
1743
&mbox->u.mqe.un.nembed_cmd;
drivers/scsi/lpfc/lpfc_mbox.c
1759
lpfc_sli4_mbx_sge_get(struct lpfcMboxq *mbox, uint32_t sgentry,
drivers/scsi/lpfc/lpfc_mbox.c
1765
&mbox->u.mqe.un.nembed_cmd;
drivers/scsi/lpfc/lpfc_mbox.c
1781
lpfc_sli4_mbox_cmd_free(struct lpfc_hba *phba, struct lpfcMboxq *mbox)
drivers/scsi/lpfc/lpfc_mbox.c
1788
sli4_cfg = &mbox->u.mqe.un.sli4_config;
drivers/scsi/lpfc/lpfc_mbox.c
1792
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_mbox.c
1799
if (unlikely(!mbox->sge_array)) {
drivers/scsi/lpfc/lpfc_mbox.c
1800
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_mbox.c
1805
lpfc_sli4_mbx_sge_get(mbox, sgentry, &sge);
drivers/scsi/lpfc/lpfc_mbox.c
1808
mbox->sge_array->addr[sgentry], phyaddr);
drivers/scsi/lpfc/lpfc_mbox.c
1811
mbox->ctx_buf = NULL;
drivers/scsi/lpfc/lpfc_mbox.c
1812
memset(&mbox->ctx_u, 0, sizeof(mbox->ctx_u));
drivers/scsi/lpfc/lpfc_mbox.c
1813
kfree(mbox->sge_array);
drivers/scsi/lpfc/lpfc_mbox.c
1815
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_mbox.c
1834
lpfc_sli4_config(struct lpfc_hba *phba, struct lpfcMboxq *mbox,
drivers/scsi/lpfc/lpfc_mbox.c
1846
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
1847
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_SLI4_CONFIG);
drivers/scsi/lpfc/lpfc_mbox.c
1850
sli4_config = &mbox->u.mqe.un.sli4_config;
drivers/scsi/lpfc/lpfc_mbox.c
1872
mbox->sge_array = kzalloc_obj(struct lpfc_mbx_nembed_sge_virt);
drivers/scsi/lpfc/lpfc_mbox.c
1873
if (!mbox->sge_array) {
drivers/scsi/lpfc/lpfc_mbox.c
1891
mbox->sge_array->addr[pagen] = viraddr;
drivers/scsi/lpfc/lpfc_mbox.c
1897
lpfc_sli4_mbx_sge_set(mbox, pagen, phyaddr,
drivers/scsi/lpfc/lpfc_mbox.c
1901
lpfc_sli4_mbx_sge_set(mbox, pagen, phyaddr,
drivers/scsi/lpfc/lpfc_mbox.c
1941
lpfc_sli4_mbox_rsrc_extent(struct lpfc_hba *phba, struct lpfcMboxq *mbox,
drivers/scsi/lpfc/lpfc_mbox.c
1951
virtaddr = mbox->sge_array->addr[0];
drivers/scsi/lpfc/lpfc_mbox.c
1963
&mbox->u.mqe.un.alloc_rsrc_extents.u.req,
drivers/scsi/lpfc/lpfc_mbox.c
1975
opcode = lpfc_sli_config_mbox_opcode_get(phba, mbox);
drivers/scsi/lpfc/lpfc_mbox.c
1980
&mbox->u.mqe.un.alloc_rsrc_extents.u.req,
drivers/scsi/lpfc/lpfc_mbox.c
2012
lpfc_sli_config_mbox_subsys_get(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_mbox.c
2017
if (mbox->u.mb.mbxCommand != MBX_SLI4_CONFIG)
drivers/scsi/lpfc/lpfc_mbox.c
2019
sli4_cfg = &mbox->u.mqe.un.sli4_config;
drivers/scsi/lpfc/lpfc_mbox.c
2023
cfg_shdr = &mbox->u.mqe.un.sli4_config.header.cfg_shdr;
drivers/scsi/lpfc/lpfc_mbox.c
2028
if (unlikely(!mbox->sge_array))
drivers/scsi/lpfc/lpfc_mbox.c
2030
cfg_shdr = (union lpfc_sli4_cfg_shdr *)mbox->sge_array->addr[0];
drivers/scsi/lpfc/lpfc_mbox.c
2045
lpfc_sli_config_mbox_opcode_get(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_mbox.c
2050
if (mbox->u.mb.mbxCommand != MBX_SLI4_CONFIG)
drivers/scsi/lpfc/lpfc_mbox.c
2052
sli4_cfg = &mbox->u.mqe.un.sli4_config;
drivers/scsi/lpfc/lpfc_mbox.c
2056
cfg_shdr = &mbox->u.mqe.un.sli4_config.header.cfg_shdr;
drivers/scsi/lpfc/lpfc_mbox.c
2061
if (unlikely(!mbox->sge_array))
drivers/scsi/lpfc/lpfc_mbox.c
2063
cfg_shdr = (union lpfc_sli4_cfg_shdr *)mbox->sge_array->addr[0];
drivers/scsi/lpfc/lpfc_mbox.c
2179
lpfc_init_vfi(struct lpfcMboxq *mbox, struct lpfc_vport *vport)
drivers/scsi/lpfc/lpfc_mbox.c
2183
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
2184
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_mbox.c
2185
init_vfi = &mbox->u.mqe.un.init_vfi;
drivers/scsi/lpfc/lpfc_mbox.c
2186
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_INIT_VFI);
drivers/scsi/lpfc/lpfc_mbox.c
2210
lpfc_reg_vfi(struct lpfcMboxq *mbox, struct lpfc_vport *vport, dma_addr_t phys)
drivers/scsi/lpfc/lpfc_mbox.c
2216
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
2217
reg_vfi = &mbox->u.mqe.un.reg_vfi;
drivers/scsi/lpfc/lpfc_mbox.c
2218
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_REG_VFI);
drivers/scsi/lpfc/lpfc_mbox.c
2290
lpfc_init_vpi(struct lpfc_hba *phba, struct lpfcMboxq *mbox, uint16_t vpi)
drivers/scsi/lpfc/lpfc_mbox.c
2292
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
2293
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_INIT_VPI);
drivers/scsi/lpfc/lpfc_mbox.c
2294
bf_set(lpfc_init_vpi_vpi, &mbox->u.mqe.un.init_vpi,
drivers/scsi/lpfc/lpfc_mbox.c
2296
bf_set(lpfc_init_vpi_vfi, &mbox->u.mqe.un.init_vpi,
drivers/scsi/lpfc/lpfc_mbox.c
2312
lpfc_unreg_vfi(struct lpfcMboxq *mbox, struct lpfc_vport *vport)
drivers/scsi/lpfc/lpfc_mbox.c
2314
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
2315
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_UNREG_VFI);
drivers/scsi/lpfc/lpfc_mbox.c
2316
bf_set(lpfc_unreg_vfi_vfi, &mbox->u.mqe.un.unreg_vfi,
drivers/scsi/lpfc/lpfc_mbox.c
2329
lpfc_sli4_dump_cfg_rg23(struct lpfc_hba *phba, struct lpfcMboxq *mbox)
drivers/scsi/lpfc/lpfc_mbox.c
2335
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
2336
mb = &mbox->u.mb;
drivers/scsi/lpfc/lpfc_mbox.c
2338
rc = lpfc_mbox_rsrc_prep(phba, mbox);
drivers/scsi/lpfc/lpfc_mbox.c
2350
mp = mbox->ctx_buf;
drivers/scsi/lpfc/lpfc_mbox.c
2377
lpfc_mbx_cmpl_rdp_page_a2(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_mbox.c
2379
struct lpfc_dmabuf *mp = mbox->ctx_buf;
drivers/scsi/lpfc/lpfc_mbox.c
2380
struct lpfc_rdp_context *rdp_context = mbox->ctx_u.rdp;
drivers/scsi/lpfc/lpfc_mbox.c
2382
if (bf_get(lpfc_mqe_status, &mbox->u.mqe))
drivers/scsi/lpfc/lpfc_mbox.c
2388
lpfc_read_lnk_stat(phba, mbox);
drivers/scsi/lpfc/lpfc_mbox.c
2389
mbox->vport = rdp_context->ndlp->vport;
drivers/scsi/lpfc/lpfc_mbox.c
2392
mbox->ctx_buf = mp;
drivers/scsi/lpfc/lpfc_mbox.c
2393
mbox->mbox_cmpl = lpfc_mbx_cmpl_rdp_link_stat;
drivers/scsi/lpfc/lpfc_mbox.c
2394
mbox->ctx_u.rdp = rdp_context;
drivers/scsi/lpfc/lpfc_mbox.c
2395
if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT) == MBX_NOT_FINISHED)
drivers/scsi/lpfc/lpfc_mbox.c
2401
lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED);
drivers/scsi/lpfc/lpfc_mbox.c
2406
lpfc_mbx_cmpl_rdp_page_a0(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_mbox.c
2409
struct lpfc_dmabuf *mp = mbox->ctx_buf;
drivers/scsi/lpfc/lpfc_mbox.c
2410
struct lpfc_rdp_context *rdp_context = mbox->ctx_u.rdp;
drivers/scsi/lpfc/lpfc_mbox.c
2412
if (bf_get(lpfc_mqe_status, &mbox->u.mqe))
drivers/scsi/lpfc/lpfc_mbox.c
2418
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
2424
mbox->ctx_buf = mp;
drivers/scsi/lpfc/lpfc_mbox.c
2425
mbox->vport = rdp_context->ndlp->vport;
drivers/scsi/lpfc/lpfc_mbox.c
2427
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_DUMP_MEMORY);
drivers/scsi/lpfc/lpfc_mbox.c
2429
&mbox->u.mqe.un.mem_dump_type3, DMP_LMSD);
drivers/scsi/lpfc/lpfc_mbox.c
2431
&mbox->u.mqe.un.mem_dump_type3, phba->sli4_hba.physical_port);
drivers/scsi/lpfc/lpfc_mbox.c
2433
&mbox->u.mqe.un.mem_dump_type3, DMP_PAGE_A2);
drivers/scsi/lpfc/lpfc_mbox.c
2435
&mbox->u.mqe.un.mem_dump_type3, DMP_SFF_PAGE_A2_SIZE);
drivers/scsi/lpfc/lpfc_mbox.c
2436
mbox->u.mqe.un.mem_dump_type3.addr_lo = putPaddrLow(mp->phys);
drivers/scsi/lpfc/lpfc_mbox.c
2437
mbox->u.mqe.un.mem_dump_type3.addr_hi = putPaddrHigh(mp->phys);
drivers/scsi/lpfc/lpfc_mbox.c
2439
mbox->mbox_cmpl = lpfc_mbx_cmpl_rdp_page_a2;
drivers/scsi/lpfc/lpfc_mbox.c
2440
mbox->ctx_u.rdp = rdp_context;
drivers/scsi/lpfc/lpfc_mbox.c
2441
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_mbox.c
2448
lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED);
drivers/scsi/lpfc/lpfc_mbox.c
2462
lpfc_sli4_dump_page_a0(struct lpfc_hba *phba, struct lpfcMboxq *mbox)
drivers/scsi/lpfc/lpfc_mbox.c
2467
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
2469
rc = lpfc_mbox_rsrc_prep(phba, mbox);
drivers/scsi/lpfc/lpfc_mbox.c
2476
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_DUMP_MEMORY);
drivers/scsi/lpfc/lpfc_mbox.c
2478
&mbox->u.mqe.un.mem_dump_type3, DMP_LMSD);
drivers/scsi/lpfc/lpfc_mbox.c
2480
&mbox->u.mqe.un.mem_dump_type3, phba->sli4_hba.physical_port);
drivers/scsi/lpfc/lpfc_mbox.c
2482
&mbox->u.mqe.un.mem_dump_type3, DMP_PAGE_A0);
drivers/scsi/lpfc/lpfc_mbox.c
2484
&mbox->u.mqe.un.mem_dump_type3, DMP_SFF_PAGE_A0_SIZE);
drivers/scsi/lpfc/lpfc_mbox.c
2486
mp = mbox->ctx_buf;
drivers/scsi/lpfc/lpfc_mbox.c
2487
mbox->u.mqe.un.mem_dump_type3.addr_lo = putPaddrLow(mp->phys);
drivers/scsi/lpfc/lpfc_mbox.c
2488
mbox->u.mqe.un.mem_dump_type3.addr_hi = putPaddrHigh(mp->phys);
drivers/scsi/lpfc/lpfc_mbox.c
2507
lpfc_reg_fcfi(struct lpfc_hba *phba, struct lpfcMboxq *mbox)
drivers/scsi/lpfc/lpfc_mbox.c
2511
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
2512
reg_fcfi = &mbox->u.mqe.un.reg_fcfi;
drivers/scsi/lpfc/lpfc_mbox.c
2513
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_REG_FCFI);
drivers/scsi/lpfc/lpfc_mbox.c
2577
lpfc_reg_fcfi_mrq(struct lpfc_hba *phba, struct lpfcMboxq *mbox, int mode)
drivers/scsi/lpfc/lpfc_mbox.c
2585
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
2586
reg_fcfi = &mbox->u.mqe.un.reg_fcfi_mrq;
drivers/scsi/lpfc/lpfc_mbox.c
2587
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_REG_FCFI_MRQ);
drivers/scsi/lpfc/lpfc_mbox.c
2635
lpfc_unreg_fcfi(struct lpfcMboxq *mbox, uint16_t fcfi)
drivers/scsi/lpfc/lpfc_mbox.c
2637
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
2638
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_UNREG_FCFI);
drivers/scsi/lpfc/lpfc_mbox.c
2639
bf_set(lpfc_unreg_fcfi, &mbox->u.mqe.un.unreg_fcfi, fcfi);
drivers/scsi/lpfc/lpfc_mbox.c
2651
lpfc_resume_rpi(struct lpfcMboxq *mbox, struct lpfc_nodelist *ndlp)
drivers/scsi/lpfc/lpfc_mbox.c
2656
memset(mbox, 0, sizeof(*mbox));
drivers/scsi/lpfc/lpfc_mbox.c
2657
resume_rpi = &mbox->u.mqe.un.resume_rpi;
drivers/scsi/lpfc/lpfc_mbox.c
2658
bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_RESUME_RPI);
drivers/scsi/lpfc/lpfc_mbox.c
63
lpfc_mbox_rsrc_prep(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_mbox.c
81
mbox->ctx_buf = mp;
drivers/scsi/lpfc/lpfc_mbox.c
897
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_mbox.c
900
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_mbox.c
901
if (mbox) {
drivers/scsi/lpfc/lpfc_mbox.c
910
mbox);
drivers/scsi/lpfc/lpfc_mbox.c
911
mbox->u.mb.un.varUnregLogin.rsvd1 = 0x4000;
drivers/scsi/lpfc/lpfc_mbox.c
912
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_mbox.c
913
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_mbox.c
914
mbox->ctx_ndlp = NULL;
drivers/scsi/lpfc/lpfc_mbox.c
915
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_mbox.c
917
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_mem.c
311
LPFC_MBOXQ_t *mbox, *next_mbox;
drivers/scsi/lpfc/lpfc_mem.c
314
list_for_each_entry_safe(mbox, next_mbox, &psli->mboxq, list) {
drivers/scsi/lpfc/lpfc_mem.c
315
list_del(&mbox->list);
drivers/scsi/lpfc/lpfc_mem.c
316
lpfc_mem_free_sli_mbox(phba, mbox);
drivers/scsi/lpfc/lpfc_mem.c
319
list_for_each_entry_safe(mbox, next_mbox, &psli->mboxq_cmpl, list) {
drivers/scsi/lpfc/lpfc_mem.c
320
list_del(&mbox->list);
drivers/scsi/lpfc/lpfc_mem.c
321
lpfc_mem_free_sli_mbox(phba, mbox);
drivers/scsi/lpfc/lpfc_mem.c
328
mbox = psli->mbox_active;
drivers/scsi/lpfc/lpfc_mem.c
329
lpfc_mem_free_sli_mbox(phba, mbox);
drivers/scsi/lpfc/lpfc_mem.c
60
lpfc_mem_free_sli_mbox(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_mem.c
67
bf_get(lpfc_mqe_command, &mbox->u.mqe) == MBX_SLI4_CONFIG) {
drivers/scsi/lpfc/lpfc_mem.c
68
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_mem.c
70
lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED);
drivers/scsi/lpfc/lpfc_nportdisc.c
1364
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_nportdisc.c
1453
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_nportdisc.c
1454
if (!mbox) {
drivers/scsi/lpfc/lpfc_nportdisc.c
1465
lpfc_config_link(phba, mbox);
drivers/scsi/lpfc/lpfc_nportdisc.c
1467
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_nportdisc.c
1468
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_nportdisc.c
1469
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_nportdisc.c
1471
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_nportdisc.c
1479
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_nportdisc.c
1480
if (!mbox) {
drivers/scsi/lpfc/lpfc_nportdisc.c
1492
(uint8_t *) sp, mbox, ndlp->nlp_rpi) == 0) {
drivers/scsi/lpfc/lpfc_nportdisc.c
1495
mbox->mbox_cmpl = lpfc_mbx_cmpl_ns_reg_login;
drivers/scsi/lpfc/lpfc_nportdisc.c
1500
mbox->mbox_cmpl = lpfc_mbx_cmpl_fdmi_reg_login;
drivers/scsi/lpfc/lpfc_nportdisc.c
1504
mbox->mbox_cmpl = lpfc_mbx_cmpl_reg_login;
drivers/scsi/lpfc/lpfc_nportdisc.c
1507
mbox->ctx_ndlp = lpfc_nlp_get(ndlp);
drivers/scsi/lpfc/lpfc_nportdisc.c
1508
if (!mbox->ctx_ndlp)
drivers/scsi/lpfc/lpfc_nportdisc.c
1511
mbox->vport = vport;
drivers/scsi/lpfc/lpfc_nportdisc.c
1512
if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT)
drivers/scsi/lpfc/lpfc_nportdisc.c
1523
lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED);
drivers/scsi/lpfc/lpfc_nportdisc.c
1530
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
12417
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
12434
if (cmdiocb->context_un.mbox) {
drivers/scsi/lpfc/lpfc_sli.c
12435
mbox = cmdiocb->context_un.mbox;
drivers/scsi/lpfc/lpfc_sli.c
12436
lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED);
drivers/scsi/lpfc/lpfc_sli.c
12437
cmdiocb->context_un.mbox = NULL;
drivers/scsi/lpfc/lpfc_sli.c
13697
MAILBOX_t *mbox, *pmbox;
drivers/scsi/lpfc/lpfc_sli.c
13848
mbox = phba->mbox;
drivers/scsi/lpfc/lpfc_sli.c
13852
lpfc_sli_pcimem_bcopy(mbox, pmbox, sizeof(uint32_t));
drivers/scsi/lpfc/lpfc_sli.c
13874
lpfc_sli_pcimem_bcopy(mbox, pmbox,
drivers/scsi/lpfc/lpfc_sli.c
14341
MAILBOX_t *mbox, *pmbox;
drivers/scsi/lpfc/lpfc_sli.c
14367
mbox = phba->mbox;
drivers/scsi/lpfc/lpfc_sli.c
14375
if (pmb->mbox_cmpl && mbox)
drivers/scsi/lpfc/lpfc_sli.c
14376
lpfc_sli4_pcimem_bcopy(mbox, mqe, sizeof(struct lpfc_mqe));
drivers/scsi/lpfc/lpfc_sli.c
16034
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
16069
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
16070
if (!mbox) {
drivers/scsi/lpfc/lpfc_sli.c
16078
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
16081
eq_delay = &mbox->u.mqe.un.eq_delay;
drivers/scsi/lpfc/lpfc_sli.c
16104
mbox->vport = phba->pport;
drivers/scsi/lpfc/lpfc_sli.c
16105
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_sli.c
16106
mbox->ctx_ndlp = NULL;
drivers/scsi/lpfc/lpfc_sli.c
16107
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
16117
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
16145
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
16159
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
16160
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
16164
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
16167
eq_create = &mbox->u.mqe.un.eq_create;
drivers/scsi/lpfc/lpfc_sli.c
16225
mbox->vport = phba->pport;
drivers/scsi/lpfc/lpfc_sli.c
16226
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_sli.c
16227
mbox->ctx_buf = NULL;
drivers/scsi/lpfc/lpfc_sli.c
16228
mbox->ctx_ndlp = NULL;
drivers/scsi/lpfc/lpfc_sli.c
16229
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
16248
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
16346
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
16355
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
16356
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
16360
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
16363
cq_create = &mbox->u.mqe.un.cq_create;
drivers/scsi/lpfc/lpfc_sli.c
16426
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
16459
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
16496
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
16508
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
16509
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
16515
alloclen = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_sli.c
16526
cq_set = mbox->sge_array->addr[0];
drivers/scsi/lpfc/lpfc_sli.c
16685
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
16712
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
16732
LPFC_MBOXQ_t *mbox, struct lpfc_queue *cq)
drivers/scsi/lpfc/lpfc_sli.c
16740
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
16743
mq_create = &mbox->u.mqe.un.mq_create;
drivers/scsi/lpfc/lpfc_sli.c
16803
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
16815
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
16816
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
16820
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
16824
mq_create_ext = &mbox->u.mqe.un.mq_create_ext;
drivers/scsi/lpfc/lpfc_sli.c
16885
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
16893
lpfc_mq_create_fb_init(phba, mq, mbox, cq);
drivers/scsi/lpfc/lpfc_sli.c
16894
mq_create = &mbox->u.mqe.un.mq_create;
drivers/scsi/lpfc/lpfc_sli.c
16895
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
16925
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
16957
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
16976
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
16977
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
16981
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_sli.c
16984
wq_create = &mbox->u.mqe.un.wq_create;
drivers/scsi/lpfc/lpfc_sli.c
17042
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
17185
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
17219
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
17236
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
17237
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
17241
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_sli.c
17244
rq_create = &mbox->u.mqe.un.rq_create;
drivers/scsi/lpfc/lpfc_sli.c
17308
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
17378
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_sli.c
17449
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
17475
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
17511
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
17525
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
17526
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
17533
alloclen = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_sli.c
17547
rq_create = mbox->sge_array->addr[0];
drivers/scsi/lpfc/lpfc_sli.c
17642
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
17669
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
17689
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
17701
mbox = mempool_alloc(eq->phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
17702
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
17706
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
17709
bf_set(lpfc_mbx_eq_destroy_q_id, &mbox->u.mqe.un.eq_destroy.u.request,
drivers/scsi/lpfc/lpfc_sli.c
17711
mbox->vport = eq->phba->pport;
drivers/scsi/lpfc/lpfc_sli.c
17712
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_sli.c
17714
rc = lpfc_sli_issue_mbox(eq->phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
17717
&mbox->u.mqe.un.eq_destroy.header.cfg_shdr;
drivers/scsi/lpfc/lpfc_sli.c
17727
mempool_free(mbox, eq->phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
17752
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
17764
mbox = mempool_alloc(cq->phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
17765
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
17769
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
17772
bf_set(lpfc_mbx_cq_destroy_q_id, &mbox->u.mqe.un.cq_destroy.u.request,
drivers/scsi/lpfc/lpfc_sli.c
17774
mbox->vport = cq->phba->pport;
drivers/scsi/lpfc/lpfc_sli.c
17775
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_sli.c
17776
rc = lpfc_sli_issue_mbox(cq->phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
17779
&mbox->u.mqe.un.wq_create.header.cfg_shdr;
drivers/scsi/lpfc/lpfc_sli.c
17789
mempool_free(mbox, cq->phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
17813
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
17825
mbox = mempool_alloc(mq->phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
17826
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
17830
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
17833
bf_set(lpfc_mbx_mq_destroy_q_id, &mbox->u.mqe.un.mq_destroy.u.request,
drivers/scsi/lpfc/lpfc_sli.c
17835
mbox->vport = mq->phba->pport;
drivers/scsi/lpfc/lpfc_sli.c
17836
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_sli.c
17837
rc = lpfc_sli_issue_mbox(mq->phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
17840
&mbox->u.mqe.un.mq_destroy.header.cfg_shdr;
drivers/scsi/lpfc/lpfc_sli.c
17850
mempool_free(mbox, mq->phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
17874
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
17886
mbox = mempool_alloc(wq->phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
17887
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
17891
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_sli.c
17894
bf_set(lpfc_mbx_wq_destroy_q_id, &mbox->u.mqe.un.wq_destroy.u.request,
drivers/scsi/lpfc/lpfc_sli.c
17896
mbox->vport = wq->phba->pport;
drivers/scsi/lpfc/lpfc_sli.c
17897
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_sli.c
17898
rc = lpfc_sli_issue_mbox(wq->phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
17900
&mbox->u.mqe.un.wq_destroy.header.cfg_shdr;
drivers/scsi/lpfc/lpfc_sli.c
17910
mempool_free(mbox, wq->phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
17938
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
17950
mbox = mempool_alloc(hrq->phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
17951
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
17955
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_sli.c
17958
bf_set(lpfc_mbx_rq_destroy_q_id, &mbox->u.mqe.un.rq_destroy.u.request,
drivers/scsi/lpfc/lpfc_sli.c
17960
mbox->vport = hrq->phba->pport;
drivers/scsi/lpfc/lpfc_sli.c
17961
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_sli.c
17962
rc = lpfc_sli_issue_mbox(hrq->phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
17965
&mbox->u.mqe.un.rq_destroy.header.cfg_shdr;
drivers/scsi/lpfc/lpfc_sli.c
17973
mempool_free(mbox, hrq->phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
17976
bf_set(lpfc_mbx_rq_destroy_q_id, &mbox->u.mqe.un.rq_destroy.u.request,
drivers/scsi/lpfc/lpfc_sli.c
17978
rc = lpfc_sli_issue_mbox(drq->phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
17980
&mbox->u.mqe.un.rq_destroy.header.cfg_shdr;
drivers/scsi/lpfc/lpfc_sli.c
17990
mempool_free(mbox, hrq->phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
18027
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
18039
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
18040
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
18043
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_sli.c
18049
&mbox->u.mqe.un.post_sgl_pages;
drivers/scsi/lpfc/lpfc_sli.c
18063
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
18065
mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
18066
rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
drivers/scsi/lpfc/lpfc_sli.c
18073
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
18075
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
18199
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
18216
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
18217
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
18221
alloclen = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_sli.c
18230
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
18234
viraddr = mbox->sge_array->addr[0];
drivers/scsi/lpfc/lpfc_sli.c
18263
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
18265
mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
18266
rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
drivers/scsi/lpfc/lpfc_sli.c
18272
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
18274
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
18304
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
18322
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
18323
if (!mbox) {
drivers/scsi/lpfc/lpfc_sli.c
18330
alloclen = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_sli.c
18339
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
18344
viraddr = mbox->sge_array->addr[0];
drivers/scsi/lpfc/lpfc_sli.c
18378
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
18380
mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
18381
rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
drivers/scsi/lpfc/lpfc_sli.c
18387
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
18389
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
20568
lpfc_mbx_cmpl_redisc_fcf_table(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_sli.c
20573
redisc_fcf = &mbox->u.mqe.un.redisc_fcf_tbl;
drivers/scsi/lpfc/lpfc_sli.c
20614
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
20627
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
20634
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
20635
if (!mbox) {
drivers/scsi/lpfc/lpfc_sli.c
20644
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
drivers/scsi/lpfc/lpfc_sli.c
20648
redisc_fcf = &mbox->u.mqe.un.redisc_fcf_tbl;
drivers/scsi/lpfc/lpfc_sli.c
20653
mbox->vport = phba->pport;
drivers/scsi/lpfc/lpfc_sli.c
20654
mbox->mbox_cmpl = lpfc_mbx_cmpl_redisc_fcf_table;
drivers/scsi/lpfc/lpfc_sli.c
20655
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_sli.c
20658
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
21003
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
21013
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
21014
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
21017
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
21022
wr_object = (struct lpfc_mbx_wr_object *)&mbox->u.mqe.un.wr_object;
drivers/scsi/lpfc/lpfc_sli.c
21051
mbox_status = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
21053
mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
21054
mbox_status = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
drivers/scsi/lpfc/lpfc_sli.c
21093
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
21095
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
22290
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
22297
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
22298
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
22302
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
22305
read_object = &mbox->u.mqe.un.read_object;
drivers/scsi/lpfc/lpfc_sli.c
22325
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
22335
mbox->vport = phba->pport;
drivers/scsi/lpfc/lpfc_sli.c
22336
mbox->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
drivers/scsi/lpfc/lpfc_sli.c
22337
mbox->ctx_ndlp = NULL;
drivers/scsi/lpfc/lpfc_sli.c
22339
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
22378
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
398
q->phba->mbox = (MAILBOX_t *)temp_mqe;
drivers/scsi/lpfc/lpfc_sli.c
429
q->phba->mbox = NULL;
drivers/scsi/lpfc/lpfc_sli.c
4881
volatile struct MAILBOX_word0 mbox;
drivers/scsi/lpfc/lpfc_sli.c
4915
mbox.word0 = 0;
drivers/scsi/lpfc/lpfc_sli.c
4916
mbox.mbxCommand = MBX_KILL_BOARD;
drivers/scsi/lpfc/lpfc_sli.c
4917
mbox.mbxOwner = OWN_CHIP;
drivers/scsi/lpfc/lpfc_sli.c
4921
writel(mbox.word0, mbox_buf);
drivers/scsi/lpfc/lpfc_sli.c
4942
mbox.mbxOwner = OWN_HOST;
drivers/scsi/lpfc/lpfc_sli.c
4947
if (resp_data != mbox.word0)
drivers/scsi/lpfc/lpfc_sli.c
5675
phba->hbq_get = phba->mbox->us.s3_pgp.hbq_get;
drivers/scsi/lpfc/lpfc_sli.c
5676
phba->port_gp = phba->mbox->us.s3_pgp.port;
drivers/scsi/lpfc/lpfc_sli.c
5689
phba->port_gp = phba->mbox->us.s2.port;
drivers/scsi/lpfc/lpfc_sli.c
6212
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
6217
mbox = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
6218
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
6224
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
6229
rc = lpfc_sli4_mbox_rsrc_extent(phba, mbox, 0, type,
drivers/scsi/lpfc/lpfc_sli.c
6237
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
6239
mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
6240
rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
drivers/scsi/lpfc/lpfc_sli.c
6247
rsrc_info = &mbox->u.mqe.un.rsrc_extent_info;
drivers/scsi/lpfc/lpfc_sli.c
6271
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
6355
uint16_t type, bool *emb, LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_sli.c
6384
alloc_len = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
6394
rc = lpfc_sli4_mbox_rsrc_extent(phba, mbox, extnt_cnt, type, *emb);
drivers/scsi/lpfc/lpfc_sli.c
6399
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
6401
mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
6402
rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
drivers/scsi/lpfc/lpfc_sli.c
6429
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
6456
mbox = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
6457
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
6460
rc = lpfc_sli4_cfg_post_extnts(phba, rsrc_cnt, type, &emb, mbox);
drivers/scsi/lpfc/lpfc_sli.c
6473
rsrc_ext = &mbox->u.mqe.un.alloc_rsrc_extents;
drivers/scsi/lpfc/lpfc_sli.c
6477
virtaddr = mbox->sge_array->addr[0];
drivers/scsi/lpfc/lpfc_sli.c
6635
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
6655
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
6659
mbox = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
6660
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
6670
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
6675
rc = lpfc_sli4_mbox_rsrc_extent(phba, mbox, 0, type,
drivers/scsi/lpfc/lpfc_sli.c
6682
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
6684
mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
6685
rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
drivers/scsi/lpfc/lpfc_sli.c
6692
dealloc_rsrc = &mbox->u.mqe.un.dealloc_rsrc_extents;
drivers/scsi/lpfc/lpfc_sli.c
6755
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
6760
lpfc_set_features(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox,
drivers/scsi/lpfc/lpfc_sli.c
6768
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
6775
&mbox->u.mqe.un.set_feature, 1);
drivers/scsi/lpfc/lpfc_sli.c
6776
mbox->u.mqe.un.set_feature.feature = LPFC_SET_UE_RECOVERY;
drivers/scsi/lpfc/lpfc_sli.c
6777
mbox->u.mqe.un.set_feature.param_len = 8;
drivers/scsi/lpfc/lpfc_sli.c
6781
&mbox->u.mqe.un.set_feature, 1);
drivers/scsi/lpfc/lpfc_sli.c
6783
&mbox->u.mqe.un.set_feature, 1);
drivers/scsi/lpfc/lpfc_sli.c
6784
mbox->u.mqe.un.set_feature.feature = LPFC_SET_MDS_DIAGS;
drivers/scsi/lpfc/lpfc_sli.c
6785
mbox->u.mqe.un.set_feature.param_len = 8;
drivers/scsi/lpfc/lpfc_sli.c
6795
&mbox->u.mqe.un.set_feature, sig_freq);
drivers/scsi/lpfc/lpfc_sli.c
6797
&mbox->u.mqe.un.set_feature, sig_freq);
drivers/scsi/lpfc/lpfc_sli.c
6802
&mbox->u.mqe.un.set_feature, sig_freq);
drivers/scsi/lpfc/lpfc_sli.c
6811
&mbox->u.mqe.un.set_feature, sig_freq);
drivers/scsi/lpfc/lpfc_sli.c
6813
mbox->u.mqe.un.set_feature.feature = LPFC_SET_CGN_SIGNAL;
drivers/scsi/lpfc/lpfc_sli.c
6814
mbox->u.mqe.un.set_feature.param_len = 12;
drivers/scsi/lpfc/lpfc_sli.c
6818
&mbox->u.mqe.un.set_feature, LPFC_ENABLE_DUAL_DUMP);
drivers/scsi/lpfc/lpfc_sli.c
6820
&mbox->u.mqe.un.set_feature, 0);
drivers/scsi/lpfc/lpfc_sli.c
6821
mbox->u.mqe.un.set_feature.feature = LPFC_SET_DUAL_DUMP;
drivers/scsi/lpfc/lpfc_sli.c
6822
mbox->u.mqe.un.set_feature.param_len = 4;
drivers/scsi/lpfc/lpfc_sli.c
6825
mbox->u.mqe.un.set_feature.feature = LPFC_SET_ENABLE_MI;
drivers/scsi/lpfc/lpfc_sli.c
6826
mbox->u.mqe.un.set_feature.param_len = 4;
drivers/scsi/lpfc/lpfc_sli.c
6827
bf_set(lpfc_mbx_set_feature_milunq, &mbox->u.mqe.un.set_feature,
drivers/scsi/lpfc/lpfc_sli.c
6829
bf_set(lpfc_mbx_set_feature_mi, &mbox->u.mqe.un.set_feature,
drivers/scsi/lpfc/lpfc_sli.c
6833
mbox->u.mqe.un.set_feature.feature = LPFC_SET_LD_SIGNAL;
drivers/scsi/lpfc/lpfc_sli.c
6834
mbox->u.mqe.un.set_feature.param_len = 16;
drivers/scsi/lpfc/lpfc_sli.c
6836
&mbox->u.mqe.un.set_feature, LPFC_QUERY_LDS_OP);
drivers/scsi/lpfc/lpfc_sli.c
6839
mbox->u.mqe.un.set_feature.feature = LPFC_SET_ENABLE_CMF;
drivers/scsi/lpfc/lpfc_sli.c
6840
mbox->u.mqe.un.set_feature.param_len = 4;
drivers/scsi/lpfc/lpfc_sli.c
6842
&mbox->u.mqe.un.set_feature, 1);
drivers/scsi/lpfc/lpfc_sli.c
7038
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
7064
mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
7065
if (!mbox) {
drivers/scsi/lpfc/lpfc_sli.c
7076
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_LOWLEVEL,
drivers/scsi/lpfc/lpfc_sli.c
7080
mbx_fwlog = (struct lpfc_mbx_set_ras_fwlog *)&mbox->u.mqe.un.ras_fwlog;
drivers/scsi/lpfc/lpfc_sli.c
7108
mbox->vport = phba->pport;
drivers/scsi/lpfc/lpfc_sli.c
7109
mbox->mbox_cmpl = lpfc_sli4_ras_mbox_cmpl;
drivers/scsi/lpfc/lpfc_sli.c
7111
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT);
drivers/scsi/lpfc/lpfc_sli.c
7117
bf_get(lpfc_mqe_status, &mbox->u.mqe));
drivers/scsi/lpfc/lpfc_sli.c
7118
mempool_free(mbox, phba->mbox_mem_pool);
drivers/scsi/lpfc/lpfc_sli.c
7445
LPFC_MBOXQ_t *mbox;
drivers/scsi/lpfc/lpfc_sli.c
7503
mbox = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
drivers/scsi/lpfc/lpfc_sli.c
7504
if (!mbox)
drivers/scsi/lpfc/lpfc_sli.c
7506
memset(mbox, 0, sizeof(LPFC_MBOXQ_t));
drivers/scsi/lpfc/lpfc_sli.c
7508
alloc_len = lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
7519
rc = lpfc_sli4_mbox_rsrc_extent(phba, mbox, curr_blks, type, emb);
drivers/scsi/lpfc/lpfc_sli.c
7526
rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL);
drivers/scsi/lpfc/lpfc_sli.c
7528
mbox_tmo = lpfc_mbox_tmo_val(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
7529
rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo);
drivers/scsi/lpfc/lpfc_sli.c
7544
rsrc_ext = &mbox->u.mqe.un.alloc_rsrc_extents;
drivers/scsi/lpfc/lpfc_sli.c
7548
virtaddr = mbox->sge_array->addr[0];
drivers/scsi/lpfc/lpfc_sli.c
7565
lpfc_sli4_mbox_cmd_free(phba, mbox);
drivers/scsi/lpfc/lpfc_sli.c
7753
lpfc_set_host_data(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox)
drivers/scsi/lpfc/lpfc_sli.c
7759
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_COMMON,
drivers/scsi/lpfc/lpfc_sli.c
7763
mbox->u.mqe.un.set_host_data.param_id = LPFC_SET_HOST_OS_DRIVER_VERSION;
drivers/scsi/lpfc/lpfc_sli.c
7764
mbox->u.mqe.un.set_host_data.param_len =
drivers/scsi/lpfc/lpfc_sli.c
7766
snprintf(mbox->u.mqe.un.set_host_data.un.data,
drivers/scsi/lpfc/lpfc_sli.c
9622
- (uint8_t *)phba->mbox;
drivers/scsi/lpfc/lpfc_sli.c
9632
lpfc_sli_pcimem_bcopy(mbx, phba->mbox, MAILBOX_CMD_SIZE);
drivers/scsi/lpfc/lpfc_sli.c
9647
lpfc_sli_pcimem_bcopy(mbx, phba->mbox,
drivers/scsi/lpfc/lpfc_sli.c
9688
word0 = *((uint32_t *)phba->mbox);
drivers/scsi/lpfc/lpfc_sli.c
9733
word0 = *((uint32_t *)phba->mbox);
drivers/scsi/lpfc/lpfc_sli.c
9762
lpfc_sli_pcimem_bcopy(phba->mbox, mbx,
drivers/scsi/lpfc/lpfc_sli.h
135
struct lpfcMboxq *mbox;
drivers/scsi/megaraid.c
1102
volatile mbox_t *mbox = adapter->mbox;
drivers/scsi/megaraid.c
1105
if(unlikely(mbox->m_in.busy)) {
drivers/scsi/megaraid.c
1109
} while( mbox->m_in.busy && (i < max_mbox_busy_wait) );
drivers/scsi/megaraid.c
1111
if(mbox->m_in.busy) return -1;
drivers/scsi/megaraid.c
1115
memcpy((char *)&mbox->m_out, (char *)scb->raw_mbox,
drivers/scsi/megaraid.c
1118
mbox->m_out.cmdid = scb->idx; /* Set cmdid */
drivers/scsi/megaraid.c
1119
mbox->m_in.busy = 1; /* Set busy */
drivers/scsi/megaraid.c
1127
switch (mbox->m_out.cmd) {
drivers/scsi/megaraid.c
1132
mbox64->xfer_segment_lo = mbox->m_out.xferaddr;
drivers/scsi/megaraid.c
1134
mbox->m_out.xferaddr = 0xFFFFFFFF;
drivers/scsi/megaraid.c
1147
mbox->m_in.poll = 0;
drivers/scsi/megaraid.c
1148
mbox->m_in.ack = 0;
drivers/scsi/megaraid.c
1165
if (adapter->mbox->m_in.busy)
drivers/scsi/megaraid.c
1181
volatile mbox_t *mbox = adapter->mbox;
drivers/scsi/megaraid.c
1189
memcpy((char *) mbox, raw_mbox, sizeof(struct mbox_out));
drivers/scsi/megaraid.c
1190
mbox->m_out.cmdid = 0xFE;
drivers/scsi/megaraid.c
1191
mbox->m_in.busy = 1;
drivers/scsi/megaraid.c
1198
mbox64->xfer_segment_lo = mbox->m_out.xferaddr;
drivers/scsi/megaraid.c
1200
mbox->m_out.xferaddr = 0xFFFFFFFF;
drivers/scsi/megaraid.c
1208
mbox->m_in.poll = 0;
drivers/scsi/megaraid.c
1209
mbox->m_in.ack = 0;
drivers/scsi/megaraid.c
1210
mbox->m_in.numstatus = 0xFF;
drivers/scsi/megaraid.c
1211
mbox->m_in.status = 0xFF;
drivers/scsi/megaraid.c
1214
while((volatile u8)mbox->m_in.numstatus == 0xFF)
drivers/scsi/megaraid.c
1217
mbox->m_in.numstatus = 0xFF;
drivers/scsi/megaraid.c
1219
while( (volatile u8)mbox->m_in.poll != 0x77 )
drivers/scsi/megaraid.c
1222
mbox->m_in.poll = 0;
drivers/scsi/megaraid.c
1223
mbox->m_in.ack = 0x77;
drivers/scsi/megaraid.c
1242
return mbox->m_in.status;
drivers/scsi/megaraid.c
1288
while((nstatus = (volatile u8)adapter->mbox->m_in.numstatus)
drivers/scsi/megaraid.c
1291
adapter->mbox->m_in.numstatus = 0xFF;
drivers/scsi/megaraid.c
1293
status = adapter->mbox->m_in.status;
drivers/scsi/megaraid.c
1300
memcpy(completed, (void *)adapter->mbox->m_in.completed,
drivers/scsi/megaraid.c
1364
while((nstatus = (volatile u8)adapter->mbox->m_in.numstatus)
drivers/scsi/megaraid.c
1368
adapter->mbox->m_in.numstatus = 0xFF;
drivers/scsi/megaraid.c
1370
status = adapter->mbox->m_in.status;
drivers/scsi/megaraid.c
1377
memcpy(completed, (void *)adapter->mbox->m_in.completed,
drivers/scsi/megaraid.c
1421
mbox_t *mbox = NULL;
drivers/scsi/megaraid.c
147
adapter->mbox = &adapter->una_mbox64->mbox;
drivers/scsi/megaraid.c
149
adapter->mbox = (mbox_t *)((((unsigned long) adapter->mbox) + 15) &
drivers/scsi/megaraid.c
1507
mbox = (mbox_t *)scb->raw_mbox;
drivers/scsi/megaraid.c
1512
int logdrv = mbox->m_out.logdrv;
drivers/scsi/megaraid.c
152
adapter->mbox64 = (mbox64_t *)(((unsigned long)adapter->mbox) - 8);
drivers/scsi/megaraid.c
154
align = ((void *)adapter->mbox) - ((void *)&adapter->una_mbox64->mbox);
drivers/scsi/megaraid.c
1580
if( mbox->m_out.cmd == MEGA_MBOXCMD_PASSTHRU ||
drivers/scsi/megaraid.c
1581
mbox->m_out.cmd == MEGA_MBOXCMD_PASSTHRU64 ) {
drivers/scsi/megaraid.c
1589
if (mbox->m_out.cmd == MEGA_MBOXCMD_EXTPTHRU) {
drivers/scsi/megaraid.c
1693
volatile mbox_t *mbox = adapter->mbox;
drivers/scsi/megaraid.c
1697
if (!mbox->m_in.busy)
drivers/scsi/megaraid.c
199
struct mbox_out mbox;
drivers/scsi/megaraid.c
200
u8 *raw_mbox = (u8 *)&mbox;
drivers/scsi/megaraid.c
206
memset(&mbox, 0, sizeof(mbox));
drivers/scsi/megaraid.c
213
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
2145
volatile mbox_t *mbox = adapter->mbox;
drivers/scsi/megaraid.c
2148
seq_printf(m, " Fw Command = 0x%02x\n", mbox->m_out.cmd);
drivers/scsi/megaraid.c
2149
seq_printf(m, " Cmd Sequence = 0x%02x\n", mbox->m_out.cmdid);
drivers/scsi/megaraid.c
2150
seq_printf(m, " No of Sectors= %04d\n", mbox->m_out.numsectors);
drivers/scsi/megaraid.c
2151
seq_printf(m, " LBA = 0x%02x\n", mbox->m_out.lba);
drivers/scsi/megaraid.c
2152
seq_printf(m, " DTA = 0x%08x\n", mbox->m_out.xferaddr);
drivers/scsi/megaraid.c
2153
seq_printf(m, " Logical Drive= 0x%02x\n", mbox->m_out.logdrv);
drivers/scsi/megaraid.c
2154
seq_printf(m, " No of SG Elmt= 0x%02x\n", mbox->m_out.numsgelements);
drivers/scsi/megaraid.c
2155
seq_printf(m, " Busy = %01x\n", mbox->m_in.busy);
drivers/scsi/megaraid.c
2156
seq_printf(m, " Status = 0x%02x\n", mbox->m_in.status);
drivers/scsi/megaraid.c
237
mbox.xferaddr = (u32)dma_handle;
drivers/scsi/megaraid.c
240
mbox.cmd = MEGA_MBOXCMD_ADPEXTINQ;
drivers/scsi/megaraid.c
267
mbox.xferaddr = prod_info_dma_handle;
drivers/scsi/megaraid.c
3454
memcpy(uioc->uioc_rmbox, uioc_mimd.mbox, 18);
drivers/scsi/megaraid.c
3468
memcpy(uioc->uioc_rmbox, uioc_mimd.mbox, 18);
drivers/scsi/megaraid.c
3533
if( put_user(mc->status, (u8 __user *)&uioc_mimd->mbox[17]) )
drivers/scsi/megaraid.c
3538
umc = (megacmd_t __user *)uioc_mimd->mbox;
drivers/scsi/megaraid.c
3565
struct mbox_out mbox;
drivers/scsi/megaraid.c
3566
unsigned char *raw_mbox = (u8 *)&mbox;
drivers/scsi/megaraid.c
3568
memset(&mbox, 0, sizeof(mbox));
drivers/scsi/megaraid.c
3572
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
3594
struct mbox_out mbox;
drivers/scsi/megaraid.c
3595
unsigned char *raw_mbox = (u8 *)&mbox;
drivers/scsi/megaraid.c
3598
memset(&mbox, 0, sizeof(mbox));
drivers/scsi/megaraid.c
3608
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
3647
struct mbox_out mbox;
drivers/scsi/megaraid.c
3648
unsigned char *raw_mbox = (u8 *)&mbox;
drivers/scsi/megaraid.c
3654
memset(&mbox, 0, sizeof(mbox));
drivers/scsi/megaraid.c
3661
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
3711
struct mbox_out mbox;
drivers/scsi/megaraid.c
3712
unsigned char *raw_mbox = (u8 *)&mbox;
drivers/scsi/megaraid.c
3715
memset(&mbox, 0, sizeof(mbox));
drivers/scsi/megaraid.c
3738
struct mbox_out mbox;
drivers/scsi/megaraid.c
3739
unsigned char *raw_mbox = (u8 *)&mbox;
drivers/scsi/megaraid.c
3742
memset(&mbox, 0, sizeof(mbox));
drivers/scsi/megaraid.c
3851
struct mbox_out mbox;
drivers/scsi/megaraid.c
3852
unsigned char *raw_mbox = (u8 *)&mbox;
drivers/scsi/megaraid.c
3854
memset(&mbox, 0, sizeof(mbox));
drivers/scsi/megaraid.c
3858
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
3894
struct mbox_out mbox;
drivers/scsi/megaraid.c
3895
unsigned char *raw_mbox = (u8 *)&mbox;
drivers/scsi/megaraid.c
3897
memset(&mbox, 0, sizeof(mbox));
drivers/scsi/megaraid.c
3901
mbox.xferaddr = (u32)adapter->buf_dma_handle;
drivers/scsi/megaraid.c
4480
mbox_t *mbox = (mbox_t *)raw_mbox;
drivers/scsi/megaraid.c
4484
memset(&mbox->m_out, 0, sizeof(raw_mbox));
drivers/scsi/megaraid.c
4493
memset(&mbox->m_out, 0, sizeof(raw_mbox));
drivers/scsi/megaraid.c
526
mbox_t *mbox;
drivers/scsi/megaraid.c
697
mbox = (mbox_t *)scb->raw_mbox;
drivers/scsi/megaraid.c
698
memset(mbox, 0, sizeof(scb->raw_mbox));
drivers/scsi/megaraid.c
710
mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU64;
drivers/scsi/megaraid.c
713
mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU;
drivers/scsi/megaraid.c
721
mbox->m_out.xferaddr = scb->pthru_dma_addr;
drivers/scsi/megaraid.c
737
mbox = (mbox_t *)scb->raw_mbox;
drivers/scsi/megaraid.c
739
memset(mbox, 0, sizeof(scb->raw_mbox));
drivers/scsi/megaraid.c
740
mbox->m_out.logdrv = ldrv_num;
drivers/scsi/megaraid.c
747
mbox->m_out.cmd = (*cmd->cmnd & 0x02) ?
drivers/scsi/megaraid.c
752
mbox->m_out.cmd = (*cmd->cmnd & 0x02) ?
drivers/scsi/megaraid.c
761
mbox->m_out.numsectors = (u32) cmd->cmnd[4];
drivers/scsi/megaraid.c
762
mbox->m_out.lba =
drivers/scsi/megaraid.c
767
mbox->m_out.lba &= 0x1FFFFF;
drivers/scsi/megaraid.c
778
mbox->m_out.numsectors;
drivers/scsi/megaraid.c
782
mbox->m_out.numsectors;
drivers/scsi/megaraid.c
791
mbox->m_out.numsectors =
drivers/scsi/megaraid.c
794
mbox->m_out.lba =
drivers/scsi/megaraid.c
804
mbox->m_out.numsectors;
drivers/scsi/megaraid.c
808
mbox->m_out.numsectors;
drivers/scsi/megaraid.c
817
mbox->m_out.lba =
drivers/scsi/megaraid.c
823
mbox->m_out.numsectors =
drivers/scsi/megaraid.c
833
mbox->m_out.numsectors;
drivers/scsi/megaraid.c
837
mbox->m_out.numsectors;
drivers/scsi/megaraid.c
853
mbox->m_out.numsgelements = mega_build_sglist(adapter, scb,
drivers/scsi/megaraid.c
854
(u32 *)&mbox->m_out.xferaddr, &seg);
drivers/scsi/megaraid.c
906
mbox = (mbox_t *)scb->raw_mbox;
drivers/scsi/megaraid.c
907
memset(mbox, 0, sizeof(scb->raw_mbox));
drivers/scsi/megaraid.c
914
mbox->m_out.cmd = MEGA_MBOXCMD_EXTPTHRU;
drivers/scsi/megaraid.c
916
mbox->m_out.xferaddr = scb->epthru_dma_addr;
drivers/scsi/megaraid.c
926
mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU64;
drivers/scsi/megaraid.c
929
mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU;
drivers/scsi/megaraid.c
932
mbox->m_out.xferaddr = scb->pthru_dma_addr;
drivers/scsi/megaraid.h
118
mbox_t mbox;
drivers/scsi/megaraid.h
489
u8 mbox[18]; /* 16 bytes + 2 status bytes */
drivers/scsi/megaraid.h
799
volatile mbox_t *mbox; /* ptr to standard mailbox */
drivers/scsi/megaraid/megaraid_mbox.c
1046
ccb->mbox = (mbox_t *)(mbox_pci_blk[i].vaddr + 16);
drivers/scsi/megaraid/megaraid_mbox.c
1047
ccb->raw_mbox = (uint8_t *)ccb->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
1382
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
1389
mbox = raid_dev->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
1398
if (unlikely(mbox->busy)) {
drivers/scsi/megaraid/megaraid_mbox.c
1403
} while(mbox->busy && (i < max_mbox_busy_wait));
drivers/scsi/megaraid/megaraid_mbox.c
1405
if (mbox->busy) {
drivers/scsi/megaraid/megaraid_mbox.c
1416
mbox->cmdid = scb->sno;
drivers/scsi/megaraid/megaraid_mbox.c
1420
mbox->busy = 1; // Set busy
drivers/scsi/megaraid/megaraid_mbox.c
1421
mbox->poll = 0;
drivers/scsi/megaraid/megaraid_mbox.c
1422
mbox->ack = 0;
drivers/scsi/megaraid/megaraid_mbox.c
1492
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
1613
mbox = ccb->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
1624
mbox->cmd = MBOXCMD_PASSTHRU64;
drivers/scsi/megaraid/megaraid_mbox.c
1632
mbox->xferaddr = 0xFFFFFFFF;
drivers/scsi/megaraid/megaraid_mbox.c
1656
mbox = ccb->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
1658
mbox->logdrv = target;
drivers/scsi/megaraid/megaraid_mbox.c
1664
mbox->cmd = (scp->cmnd[0] & 0x02) ? MBOXCMD_LWRITE64:
drivers/scsi/megaraid/megaraid_mbox.c
1671
mbox->numsectors = (uint32_t)scp->cmnd[4];
drivers/scsi/megaraid/megaraid_mbox.c
1672
mbox->lba =
drivers/scsi/megaraid/megaraid_mbox.c
1677
mbox->lba &= 0x1FFFFF;
drivers/scsi/megaraid/megaraid_mbox.c
1684
mbox->numsectors =
drivers/scsi/megaraid/megaraid_mbox.c
1687
mbox->lba =
drivers/scsi/megaraid/megaraid_mbox.c
1698
mbox->lba =
drivers/scsi/megaraid/megaraid_mbox.c
1704
mbox->numsectors =
drivers/scsi/megaraid/megaraid_mbox.c
1724
mbox->numsge = megaraid_mbox_mksgl(adapter,
drivers/scsi/megaraid/megaraid_mbox.c
1726
mbox->xferaddr = 0xFFFFFFFF;
drivers/scsi/megaraid/megaraid_mbox.c
1822
mbox = ccb->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
1827
mbox->cmd = MBOXCMD_EXTPTHRU;
drivers/scsi/megaraid/megaraid_mbox.c
1833
mbox->xferaddr = 0xFFFFFFFF;
drivers/scsi/megaraid/megaraid_mbox.c
1836
mbox->cmd = MBOXCMD_PASSTHRU64;
drivers/scsi/megaraid/megaraid_mbox.c
1842
mbox->xferaddr = 0xFFFFFFFF;
drivers/scsi/megaraid/megaraid_mbox.c
2037
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
2048
mbox = raid_dev->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
2071
if (mbox->numstatus != 0xFF) {
drivers/scsi/megaraid/megaraid_mbox.c
2072
nstatus = mbox->numstatus;
drivers/scsi/megaraid/megaraid_mbox.c
2077
mbox->numstatus = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
2085
if (mbox->completed[i] != 0xFF) break;
drivers/scsi/megaraid/megaraid_mbox.c
2088
completed[i] = mbox->completed[i];
drivers/scsi/megaraid/megaraid_mbox.c
2089
mbox->completed[i] = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
2110
scb->status = mbox->status;
drivers/scsi/megaraid/megaraid_mbox.c
2187
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
2215
mbox = ccb->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
2299
if (mbox->cmd == MBOXCMD_PASSTHRU ||
drivers/scsi/megaraid/megaraid_mbox.c
2300
mbox->cmd == MBOXCMD_PASSTHRU64) {
drivers/scsi/megaraid/megaraid_mbox.c
2308
if (mbox->cmd == MBOXCMD_EXTPTHRU) {
drivers/scsi/megaraid/megaraid_mbox.c
2672
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
2676
mbox = raid_dev->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
2687
memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16);
drivers/scsi/megaraid/megaraid_mbox.c
2688
mbox->cmdid = 0xFE;
drivers/scsi/megaraid/megaraid_mbox.c
2689
mbox->busy = 1;
drivers/scsi/megaraid/megaraid_mbox.c
2690
mbox->poll = 0;
drivers/scsi/megaraid/megaraid_mbox.c
2691
mbox->ack = 0;
drivers/scsi/megaraid/megaraid_mbox.c
2692
mbox->numstatus = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
2693
mbox->status = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
2701
if (mbox->numstatus == 0xFF) { // status not yet available
drivers/scsi/megaraid/megaraid_mbox.c
2704
for (i = 0; mbox->numstatus == 0xFF && i < 1000; i++) {
drivers/scsi/megaraid/megaraid_mbox.c
2714
for (i = 0; (mbox->numstatus == 0xFF) &&
drivers/scsi/megaraid/megaraid_mbox.c
2734
if (mbox->poll != 0x77) {
drivers/scsi/megaraid/megaraid_mbox.c
2737
for (i = 0; (mbox->poll != 0x77) && (i < 1000); i++) {
drivers/scsi/megaraid/megaraid_mbox.c
2767
mbox->poll = 0;
drivers/scsi/megaraid/megaraid_mbox.c
2768
mbox->ack = 0x77;
drivers/scsi/megaraid/megaraid_mbox.c
2770
status = mbox->status;
drivers/scsi/megaraid/megaraid_mbox.c
2774
mbox->numstatus = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
2775
mbox->status = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
2777
mbox->completed[i] = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
2802
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
2806
mbox = raid_dev->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
2809
if (mbox->busy) return -1;
drivers/scsi/megaraid/megaraid_mbox.c
2812
memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 14);
drivers/scsi/megaraid/megaraid_mbox.c
2813
mbox->cmdid = 0xFE;
drivers/scsi/megaraid/megaraid_mbox.c
2814
mbox->busy = 1;
drivers/scsi/megaraid/megaraid_mbox.c
2815
mbox->poll = 0;
drivers/scsi/megaraid/megaraid_mbox.c
2816
mbox->ack = 0;
drivers/scsi/megaraid/megaraid_mbox.c
2817
mbox->numstatus = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
2818
mbox->status = 0xFF;
drivers/scsi/megaraid/megaraid_mbox.c
2824
if (mbox->numstatus != 0xFF) break;
drivers/scsi/megaraid/megaraid_mbox.c
2838
return mbox->status;
drivers/scsi/megaraid/megaraid_mbox.c
2852
mbox_t *mbox = raid_dev->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
2855
if (mbox->busy) {
drivers/scsi/megaraid/megaraid_mbox.c
2857
for (i = 0; mbox->busy && i < 1000; i++)
drivers/scsi/megaraid/megaraid_mbox.c
2877
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
2886
mbox = (mbox_t *)raw_mbox;
drivers/scsi/megaraid/megaraid_mbox.c
2902
mbox->xferaddr = (uint32_t)adapter->ibuf_dma_h;
drivers/scsi/megaraid/megaraid_mbox.c
2935
mbox->xferaddr = (uint32_t)pinfo_dma_h;
drivers/scsi/megaraid/megaraid_mbox.c
2999
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3003
mbox = (mbox_t *)raw_mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3006
mbox->xferaddr = (uint32_t)adapter->ibuf_dma_h;
drivers/scsi/megaraid/megaraid_mbox.c
3035
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3040
mbox = (mbox_t *)raw_mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3044
mbox->xferaddr = (uint32_t)adapter->ibuf_dma_h;
drivers/scsi/megaraid/megaraid_mbox.c
3127
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3132
mbox = (mbox_t *)raw_mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3136
mbox->xferaddr = (uint32_t)adapter->ibuf_dma_h;
drivers/scsi/megaraid/megaraid_mbox.c
3168
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3172
mbox = (mbox_t *)raw_mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3176
mbox->xferaddr = (uint32_t)adapter->ibuf_dma_h;
drivers/scsi/megaraid/megaraid_mbox.c
3232
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3243
mbox = raid_dev->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3252
memcpy((caddr_t)mbox, (caddr_t)raw_mbox, 16);
drivers/scsi/megaraid/megaraid_mbox.c
3253
mbox->cmdid = 0xFE;
drivers/scsi/megaraid/megaraid_mbox.c
3254
mbox->busy = 1;
drivers/scsi/megaraid/megaraid_mbox.c
3255
mbox->poll = 0;
drivers/scsi/megaraid/megaraid_mbox.c
3256
mbox->ack = 0;
drivers/scsi/megaraid/megaraid_mbox.c
3257
mbox->numstatus = 0;
drivers/scsi/megaraid/megaraid_mbox.c
3258
mbox->status = 0;
drivers/scsi/megaraid/megaraid_mbox.c
3273
while (!mbox->numstatus && mbox->cmd == 0xFF) {
drivers/scsi/megaraid/megaraid_mbox.c
3282
if (mbox->numstatus == 1)
drivers/scsi/megaraid/megaraid_mbox.c
3310
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3317
mbox = ccb->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3323
mbox->cmd, scb->sno));
drivers/scsi/megaraid/megaraid_mbox.c
3326
mbox->numsectors, mbox->lba, mbox->xferaddr, mbox->logdrv,
drivers/scsi/megaraid/megaraid_mbox.c
3327
mbox->numsge));
drivers/scsi/megaraid/megaraid_mbox.c
3435
ccb->mbox = &ccb->mbox64->mbox32;
drivers/scsi/megaraid/megaraid_mbox.c
3436
ccb->raw_mbox = (uint8_t *)ccb->mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3876
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3895
mbox = &mbox64->mbox32;
drivers/scsi/megaraid/megaraid_mbox.c
3896
raw_mbox = (char *)mbox;
drivers/scsi/megaraid/megaraid_mbox.c
3906
mbox->xferaddr = (uint32_t)raid_dev->sysfs_buffer_dma;
drivers/scsi/megaraid/megaraid_mbox.c
3939
rval = mbox->status;
drivers/scsi/megaraid/megaraid_mbox.c
984
raid_dev->mbox = &raid_dev->una_mbox64->mbox32;
drivers/scsi/megaraid/megaraid_mbox.c
986
raid_dev->mbox = (mbox_t *)((((unsigned long)raid_dev->mbox) + 15) &
drivers/scsi/megaraid/megaraid_mbox.c
989
raid_dev->mbox64 = (mbox64_t *)(((unsigned long)raid_dev->mbox) - 8);
drivers/scsi/megaraid/megaraid_mbox.c
991
align = ((void *)raid_dev->mbox -
drivers/scsi/megaraid/megaraid_mbox.h
130
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mbox.h
187
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mm.c
357
mbox_t *mbox;
drivers/scsi/megaraid/megaraid_mm.c
370
if ((mimd.mbox[0] == MBOXCMD_PASSTHRU64) ||
drivers/scsi/megaraid/megaraid_mm.c
371
(mimd.mbox[0] == MBOXCMD_EXTPTHRU))
drivers/scsi/megaraid/megaraid_mm.c
451
mbox = &mbox64->mbox32;
drivers/scsi/megaraid/megaraid_mm.c
452
memcpy(mbox, mimd.mbox, 14);
drivers/scsi/megaraid/megaraid_mm.c
454
if (mbox->cmd != MBOXCMD_PASSTHRU) { // regular DCMD
drivers/scsi/megaraid/megaraid_mm.c
456
mbox->xferaddr = (uint32_t)kioc->buf_paddr;
drivers/scsi/megaraid/megaraid_mm.c
476
mbox->xferaddr = (uint32_t)kioc->pthru32_h;
drivers/scsi/megaraid/megaraid_mm.c
866
if (copy_to_user(&mimd->mbox[17],
drivers/scsi/megaraid/megaraid_mm.h
82
uint8_t mbox[18]; /* 16 bytes + 2 status bytes */
drivers/scsi/megaraid/megaraid_sas.h
1921
} mbox;
drivers/scsi/megaraid/megaraid_sas_base.c
2410
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
2517
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
2683
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
2685
dcmd->mbox.s[0] = cpu_to_le16(sizeof(struct MR_CTRL_HB_HOST_MEM));
drivers/scsi/megaraid/megaraid_sas_base.c
3717
&& (cmd->frame->dcmd.mbox.b[1] == 1)) {
drivers/scsi/megaraid/megaraid_sas_base.c
3768
(cmd->frame->dcmd.mbox.b[0] == 1)) {
drivers/scsi/megaraid/megaraid_sas_base.c
4555
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
4557
dcmd->mbox.s[0] = cpu_to_le16(device_id);
drivers/scsi/megaraid/megaraid_sas_base.c
4647
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
4649
dcmd->mbox.b[0] = MR_PD_QUERY_TYPE_EXPOSED_TO_HOST;
drivers/scsi/megaraid/megaraid_sas_base.c
4650
dcmd->mbox.b[1] = 0;
drivers/scsi/megaraid/megaraid_sas_base.c
4778
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
4781
dcmd->mbox.b[0] = 1;
drivers/scsi/megaraid/megaraid_sas_base.c
4896
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
4898
dcmd->mbox.b[0] = query_type;
drivers/scsi/megaraid/megaraid_sas_base.c
4900
dcmd->mbox.b[2] = 1;
drivers/scsi/megaraid/megaraid_sas_base.c
5019
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
5021
dcmd->mbox.b[0] = is_probe ? 0 : 1;
drivers/scsi/megaraid/megaraid_sas_base.c
5205
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
5287
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
5297
dcmd->mbox.b[0] = 1;
drivers/scsi/megaraid/megaraid_sas_base.c
5436
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
5437
dcmd->mbox.b[0] = crash_buf_state;
drivers/scsi/megaraid/megaraid_sas_base.c
6610
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
6687
le32_to_cpu(instance->aen_cmd->frame->dcmd.mbox.w[1]);
drivers/scsi/megaraid/megaraid_sas_base.c
6746
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
6756
dcmd->mbox.w[0] = cpu_to_le32(seq_num);
drivers/scsi/megaraid/megaraid_sas_base.c
6758
dcmd->mbox.w[1] = cpu_to_le32(curr_aen.word);
drivers/scsi/megaraid/megaraid_sas_base.c
6822
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
6823
dcmd->mbox.b[0] = MEGASAS_IS_LOGICAL(sdev);
drivers/scsi/megaraid/megaraid_sas_base.c
6825
dcmd->mbox.s[1] = cpu_to_le16(targetId);
drivers/scsi/megaraid/megaraid_sas_base.c
7660
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
7670
dcmd->mbox.b[0] = MR_FLUSH_CTRL_CACHE | MR_FLUSH_DISK_CACHE;
drivers/scsi/megaraid/megaraid_sas_base.c
7713
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_base.c
8203
crash_support = cmd->frame->dcmd.mbox.w[0];
drivers/scsi/megaraid/megaraid_sas_fusion.c
1327
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_fusion.c
1330
dcmd->mbox.b[0] = MEGASAS_DCMD_MBOX_PEND_FLAG;
drivers/scsi/megaraid/megaraid_sas_fusion.c
1432
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_fusion.c
1518
memset(dcmd->mbox.b, 0, MFI_MBOX_SIZE);
drivers/scsi/megaraid/megaraid_sas_fusion.c
1543
dcmd->mbox.b[0] = num_lds;
drivers/scsi/megaraid/megaraid_sas_fusion.c
1544
dcmd->mbox.b[1] = MEGASAS_DCMD_MBOX_PEND_FLAG;
drivers/scsi/myrb.c
1269
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
1289
mbox->type3.opcode = MYRB_CMD_DCDB;
drivers/scsi/myrb.c
1290
mbox->type3.id = rq->tag + 3;
drivers/scsi/myrb.c
1291
mbox->type3.addr = dcdb_addr;
drivers/scsi/myrb.c
1424
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
153
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
155
memset(mbox, 0, sizeof(union myrb_cmd_mbox));
drivers/scsi/myrb.c
1554
mbox->type5.id = scsi_cmd_to_rq(scmd)->tag + 3;
drivers/scsi/myrb.c
1561
mbox->type5.opcode = MYRB_CMD_READ;
drivers/scsi/myrb.c
1563
mbox->type5.opcode = MYRB_CMD_WRITE;
drivers/scsi/myrb.c
1565
mbox->type5.ld.xfer_len = block_cnt;
drivers/scsi/myrb.c
1566
mbox->type5.ld.ldev_num = sdev->id;
drivers/scsi/myrb.c
1567
mbox->type5.lba = lba;
drivers/scsi/myrb.c
1568
mbox->type5.addr = (u32)sg_dma_address(sgl);
drivers/scsi/myrb.c
1582
mbox->type5.opcode = MYRB_CMD_READ_SG;
drivers/scsi/myrb.c
1584
mbox->type5.opcode = MYRB_CMD_WRITE_SG;
drivers/scsi/myrb.c
1586
mbox->type5.ld.xfer_len = block_cnt;
drivers/scsi/myrb.c
1587
mbox->type5.ld.ldev_num = sdev->id;
drivers/scsi/myrb.c
1588
mbox->type5.lba = lba;
drivers/scsi/myrb.c
1589
mbox->type5.addr = hw_sgl_addr;
drivers/scsi/myrb.c
1590
mbox->type5.sg_count = nsge;
drivers/scsi/myrb.c
165
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
168
cb->write_cmd_mbox(next_mbox, mbox);
drivers/scsi/myrb.c
1923
union myrb_cmd_mbox *mbox;
drivers/scsi/myrb.c
1945
mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
1946
mbox->type3D.opcode = MYRB_CMD_REBUILD_ASYNC;
drivers/scsi/myrb.c
1947
mbox->type3D.id = MYRB_DCMD_TAG;
drivers/scsi/myrb.c
1948
mbox->type3D.channel = sdev->channel;
drivers/scsi/myrb.c
1949
mbox->type3D.target = sdev->id;
drivers/scsi/myrb.c
1973
mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
1974
mbox->type3R.opcode = MYRB_CMD_REBUILD_CONTROL;
drivers/scsi/myrb.c
1975
mbox->type3R.id = MYRB_DCMD_TAG;
drivers/scsi/myrb.c
1976
mbox->type3R.rbld_rate = 0xFF;
drivers/scsi/myrb.c
1977
mbox->type3R.addr = rate_addr;
drivers/scsi/myrb.c
2029
union myrb_cmd_mbox *mbox;
drivers/scsi/myrb.c
2052
mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
2053
mbox->type3C.opcode = MYRB_CMD_CHECK_CONSISTENCY_ASYNC;
drivers/scsi/myrb.c
2054
mbox->type3C.id = MYRB_DCMD_TAG;
drivers/scsi/myrb.c
2055
mbox->type3C.ldev_num = sdev->id;
drivers/scsi/myrb.c
2056
mbox->type3C.auto_restore = true;
drivers/scsi/myrb.c
2080
mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
2081
mbox->type3R.opcode = MYRB_CMD_REBUILD_CONTROL;
drivers/scsi/myrb.c
2082
mbox->type3R.id = MYRB_DCMD_TAG;
drivers/scsi/myrb.c
2083
mbox->type3R.rbld_rate = 0xFF;
drivers/scsi/myrb.c
2084
mbox->type3R.addr = rate_addr;
drivers/scsi/myrb.c
209
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
214
mbox->type3.id = MYRB_DCMD_TAG;
drivers/scsi/myrb.c
215
mbox->type3.opcode = op;
drivers/scsi/myrb.c
216
mbox->type3.addr = addr;
drivers/scsi/myrb.c
232
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
244
mbox->type3D.id = MYRB_DCMD_TAG;
drivers/scsi/myrb.c
245
mbox->type3D.opcode = op;
drivers/scsi/myrb.c
246
mbox->type3D.channel = sdev->channel;
drivers/scsi/myrb.c
247
mbox->type3D.target = sdev->id;
drivers/scsi/myrb.c
248
mbox->type3D.addr = pdev_info_addr;
drivers/scsi/myrb.c
254
mbox->type3D.opcode == MYRB_CMD_GET_DEVICE_STATE_OLD)
drivers/scsi/myrb.c
2584
union myrb_cmd_mbox *mbox)
drivers/scsi/myrb.c
2586
mem_mbox->words[1] = mbox->words[1];
drivers/scsi/myrb.c
2587
mem_mbox->words[2] = mbox->words[2];
drivers/scsi/myrb.c
2588
mem_mbox->words[3] = mbox->words[3];
drivers/scsi/myrb.c
2591
mem_mbox->words[0] = mbox->words[0];
drivers/scsi/myrb.c
2597
union myrb_cmd_mbox *mbox)
drivers/scsi/myrb.c
2599
writel(mbox->words[0], base + DAC960_LA_CMDOP_OFFSET);
drivers/scsi/myrb.c
2600
writel(mbox->words[1], base + DAC960_LA_MBOX4_OFFSET);
drivers/scsi/myrb.c
2601
writel(mbox->words[2], base + DAC960_LA_MBOX8_OFFSET);
drivers/scsi/myrb.c
2602
writeb(mbox->bytes[12], base + DAC960_LA_MBOX12_OFFSET);
drivers/scsi/myrb.c
2629
union myrb_cmd_mbox *mbox)
drivers/scsi/myrb.c
2645
DAC960_LA_write_hw_mbox(base, mbox);
drivers/scsi/myrb.c
2830
union myrb_cmd_mbox *mbox)
drivers/scsi/myrb.c
2832
mem_mbox->words[1] = mbox->words[1];
drivers/scsi/myrb.c
2833
mem_mbox->words[2] = mbox->words[2];
drivers/scsi/myrb.c
2834
mem_mbox->words[3] = mbox->words[3];
drivers/scsi/myrb.c
2837
mem_mbox->words[0] = mbox->words[0];
drivers/scsi/myrb.c
2843
union myrb_cmd_mbox *mbox)
drivers/scsi/myrb.c
2845
writel(mbox->words[0], base + DAC960_PG_CMDOP_OFFSET);
drivers/scsi/myrb.c
2846
writel(mbox->words[1], base + DAC960_PG_MBOX4_OFFSET);
drivers/scsi/myrb.c
2847
writel(mbox->words[2], base + DAC960_PG_MBOX8_OFFSET);
drivers/scsi/myrb.c
2848
writeb(mbox->bytes[12], base + DAC960_PG_MBOX12_OFFSET);
drivers/scsi/myrb.c
286
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
2875
union myrb_cmd_mbox *mbox)
drivers/scsi/myrb.c
2891
DAC960_PG_write_hw_mbox(base, mbox);
drivers/scsi/myrb.c
298
mbox->type3E.id = MYRB_MCMD_TAG;
drivers/scsi/myrb.c
299
mbox->type3E.opcode = MYRB_CMD_EVENT_LOG_OPERATION;
drivers/scsi/myrb.c
300
mbox->type3E.optype = DAC960_V1_GetEventLogEntry;
drivers/scsi/myrb.c
301
mbox->type3E.opqual = 1;
drivers/scsi/myrb.c
302
mbox->type3E.ev_seq = event;
drivers/scsi/myrb.c
303
mbox->type3E.addr = ev_addr;
drivers/scsi/myrb.c
3062
union myrb_cmd_mbox *mbox)
drivers/scsi/myrb.c
3064
writel(mbox->words[0], base + DAC960_PD_CMDOP_OFFSET);
drivers/scsi/myrb.c
3065
writel(mbox->words[1], base + DAC960_PD_MBOX4_OFFSET);
drivers/scsi/myrb.c
3066
writel(mbox->words[2], base + DAC960_PD_MBOX8_OFFSET);
drivers/scsi/myrb.c
3067
writeb(mbox->bytes[12], base + DAC960_PD_MBOX12_OFFSET);
drivers/scsi/myrb.c
3101
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
3105
DAC960_PD_write_cmd_mbox(base, mbox);
drivers/scsi/myrb.c
3219
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
3220
int ldev_num = mbox->type5.ld.ldev_num;
drivers/scsi/myrb.c
3222
mbox->bytes[3] &= 0x7;
drivers/scsi/myrb.c
3223
mbox->bytes[3] |= mbox->bytes[7] << 6;
drivers/scsi/myrb.c
3224
mbox->bytes[7] = ldev_num;
drivers/scsi/myrb.c
3229
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
3230
int ldev_num = mbox->bytes[7];
drivers/scsi/myrb.c
3232
mbox->bytes[7] = mbox->bytes[3] >> 6;
drivers/scsi/myrb.c
3233
mbox->bytes[3] &= 0x7;
drivers/scsi/myrb.c
3234
mbox->bytes[3] |= ldev_num << 3;
drivers/scsi/myrb.c
3240
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
3242
switch (mbox->common.opcode) {
drivers/scsi/myrb.c
3244
mbox->common.opcode = MYRB_CMD_ENQUIRY_OLD;
drivers/scsi/myrb.c
3247
mbox->common.opcode = MYRB_CMD_GET_DEVICE_STATE_OLD;
drivers/scsi/myrb.c
3250
mbox->common.opcode = MYRB_CMD_READ_OLD;
drivers/scsi/myrb.c
3254
mbox->common.opcode = MYRB_CMD_WRITE_OLD;
drivers/scsi/myrb.c
3258
mbox->common.opcode = MYRB_CMD_READ_SG_OLD;
drivers/scsi/myrb.c
3262
mbox->common.opcode = MYRB_CMD_WRITE_SG_OLD;
drivers/scsi/myrb.c
3270
DAC960_PD_write_cmd_mbox(base, mbox);
drivers/scsi/myrb.c
3328
union myrb_cmd_mbox *mbox;
drivers/scsi/myrb.c
3353
mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
3354
op = mbox->common.opcode;
drivers/scsi/myrb.c
3357
mbox->common.opcode = MYRB_CMD_ENQUIRY;
drivers/scsi/myrb.c
3361
mbox->common.opcode = MYRB_CMD_READ;
drivers/scsi/myrb.c
3365
mbox->common.opcode = MYRB_CMD_WRITE;
drivers/scsi/myrb.c
3369
mbox->common.opcode = MYRB_CMD_READ_SG;
drivers/scsi/myrb.c
3373
mbox->common.opcode = MYRB_CMD_WRITE_SG;
drivers/scsi/myrb.c
342
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
349
mbox->type3.id = MYRB_MCMD_TAG;
drivers/scsi/myrb.c
350
mbox->type3.opcode = MYRB_CMD_GET_ERROR_TABLE;
drivers/scsi/myrb.c
351
mbox->type3.addr = cb->err_table_addr;
drivers/scsi/myrb.c
441
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
453
mbox->type3.id = MYRB_MCMD_TAG;
drivers/scsi/myrb.c
454
mbox->type3.opcode = MYRB_CMD_GET_REBUILD_PROGRESS;
drivers/scsi/myrb.c
455
mbox->type3.addr = rbld_addr;
drivers/scsi/myrb.c
533
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
546
mbox->type3.id = MYRB_MCMD_TAG;
drivers/scsi/myrb.c
547
mbox->type3.opcode = MYRB_CMD_REBUILD_STAT;
drivers/scsi/myrb.c
548
mbox->type3.addr = rbld_addr;
drivers/scsi/myrb.c
580
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
594
mbox->type3B.id = MYRB_DCMD_TAG;
drivers/scsi/myrb.c
595
mbox->type3B.opcode = MYRB_CMD_BGI_CONTROL;
drivers/scsi/myrb.c
596
mbox->type3B.optype = 0x20;
drivers/scsi/myrb.c
597
mbox->type3B.addr = bgi_addr;
drivers/scsi/myrb.c
782
union myrb_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrb.c
786
mbox->type3D.opcode = MYRB_CMD_START_DEVICE;
drivers/scsi/myrb.c
787
mbox->type3D.id = MYRB_DCMD_TAG;
drivers/scsi/myrb.c
788
mbox->type3D.channel = sdev->channel;
drivers/scsi/myrb.c
789
mbox->type3D.target = sdev->id;
drivers/scsi/myrb.c
790
mbox->type3D.state = state & 0x1F;
drivers/scsi/myrb.c
813
union myrb_cmd_mbox mbox;
drivers/scsi/myrb.c
816
memset(&mbox, 0, sizeof(union myrb_cmd_mbox));
drivers/scsi/myrb.c
881
mbox.typeX.opcode = 0x2B;
drivers/scsi/myrb.c
882
mbox.typeX.id = 0;
drivers/scsi/myrb.c
883
mbox.typeX.opcode2 = 0x14;
drivers/scsi/myrb.c
884
mbox.typeX.cmd_mbox_addr = cb->cmd_mbox_addr;
drivers/scsi/myrb.c
885
mbox.typeX.stat_mbox_addr = cb->stat_mbox_addr;
drivers/scsi/myrb.c
887
status = mmio_init_fn(pdev, base, &mbox);
drivers/scsi/myrb.c
890
mbox.typeX.opcode2 = 0x10;
drivers/scsi/myrb.c
891
status = mmio_init_fn(pdev, base, &mbox);
drivers/scsi/myrb.h
683
union myrb_cmd_mbox mbox;
drivers/scsi/myrb.h
949
union myrb_cmd_mbox *mbox);
drivers/scsi/myrs.c
1020
mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
1021
mbox->common.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
1022
mbox->common.id = MYRS_DCMD_TAG;
drivers/scsi/myrs.c
1023
mbox->common.control.dma_ctrl_to_host = true;
drivers/scsi/myrs.c
1024
mbox->common.control.no_autosense = true;
drivers/scsi/myrs.c
1025
mbox->set_devstate.ioctl_opcode = MYRS_IOCTL_SET_DEVICE_STATE;
drivers/scsi/myrs.c
1026
mbox->set_devstate.state = new_state;
drivers/scsi/myrs.c
1027
mbox->set_devstate.ldev.ldev_num = ldev_num;
drivers/scsi/myrs.c
107
union myrs_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
110
cs->write_cmd_mbox(next_mbox, mbox);
drivers/scsi/myrs.c
1115
union myrs_cmd_mbox *mbox;
drivers/scsi/myrs.c
1154
mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
1155
mbox->common.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
1156
mbox->common.id = MYRS_DCMD_TAG;
drivers/scsi/myrs.c
1157
mbox->common.control.dma_ctrl_to_host = true;
drivers/scsi/myrs.c
1158
mbox->common.control.no_autosense = true;
drivers/scsi/myrs.c
1160
mbox->ldev_info.ldev.ldev_num = ldev_num;
drivers/scsi/myrs.c
1161
mbox->ldev_info.ioctl_opcode = MYRS_IOCTL_RBLD_DEVICE_START;
drivers/scsi/myrs.c
1163
mbox->ldev_info.ldev.ldev_num = ldev_num;
drivers/scsi/myrs.c
1164
mbox->ldev_info.ioctl_opcode = MYRS_IOCTL_RBLD_DEVICE_STOP;
drivers/scsi/myrs.c
1215
union myrs_cmd_mbox *mbox;
drivers/scsi/myrs.c
1255
mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
1256
mbox->common.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
1257
mbox->common.id = MYRS_DCMD_TAG;
drivers/scsi/myrs.c
1258
mbox->common.control.dma_ctrl_to_host = true;
drivers/scsi/myrs.c
1259
mbox->common.control.no_autosense = true;
drivers/scsi/myrs.c
1261
mbox->cc.ldev.ldev_num = ldev_num;
drivers/scsi/myrs.c
1262
mbox->cc.ioctl_opcode = MYRS_IOCTL_CC_START;
drivers/scsi/myrs.c
1263
mbox->cc.restore_consistency = true;
drivers/scsi/myrs.c
1264
mbox->cc.initialized_area_only = false;
drivers/scsi/myrs.c
1266
mbox->cc.ldev.ldev_num = ldev_num;
drivers/scsi/myrs.c
1267
mbox->cc.ioctl_opcode = MYRS_IOCTL_CC_STOP;
drivers/scsi/myrs.c
1434
union myrs_cmd_mbox *mbox;
drivers/scsi/myrs.c
1440
mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
1441
mbox->common.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
1442
mbox->common.id = MYRS_DCMD_TAG;
drivers/scsi/myrs.c
1443
mbox->common.control.dma_ctrl_to_host = true;
drivers/scsi/myrs.c
1444
mbox->common.control.no_autosense = true;
drivers/scsi/myrs.c
1445
mbox->common.ioctl_opcode = MYRS_IOCTL_START_DISCOVERY;
drivers/scsi/myrs.c
1590
union myrs_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
161
union myrs_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
1639
mbox->SCSI_10.opcode = MYRS_CMD_OP_SCSI_10;
drivers/scsi/myrs.c
1640
mbox->SCSI_10.pdev.lun = ldev_info->lun;
drivers/scsi/myrs.c
1641
mbox->SCSI_10.pdev.target = ldev_info->target;
drivers/scsi/myrs.c
1642
mbox->SCSI_10.pdev.channel = ldev_info->channel;
drivers/scsi/myrs.c
1643
mbox->SCSI_10.pdev.ctlr = 0;
drivers/scsi/myrs.c
1645
mbox->SCSI_10.opcode = MYRS_CMD_OP_SCSI_10_PASSTHRU;
drivers/scsi/myrs.c
1646
mbox->SCSI_10.pdev.lun = sdev->lun;
drivers/scsi/myrs.c
1647
mbox->SCSI_10.pdev.target = sdev->id;
drivers/scsi/myrs.c
1648
mbox->SCSI_10.pdev.channel = sdev->channel;
drivers/scsi/myrs.c
1650
mbox->SCSI_10.id = rq->tag + 3;
drivers/scsi/myrs.c
1651
mbox->SCSI_10.control.dma_ctrl_to_host =
drivers/scsi/myrs.c
1654
mbox->SCSI_10.control.fua = true;
drivers/scsi/myrs.c
1655
mbox->SCSI_10.dma_size = scsi_bufflen(scmd);
drivers/scsi/myrs.c
1656
mbox->SCSI_10.sense_addr = cmd_blk->sense_addr;
drivers/scsi/myrs.c
1657
mbox->SCSI_10.sense_len = MYRS_SENSE_SIZE;
drivers/scsi/myrs.c
1658
mbox->SCSI_10.cdb_len = scmd->cmd_len;
drivers/scsi/myrs.c
1660
mbox->SCSI_10.tmo.tmo_scale = MYRS_TMO_SCALE_MINUTES;
drivers/scsi/myrs.c
1661
mbox->SCSI_10.tmo.tmo_val = timeout / 60;
drivers/scsi/myrs.c
1663
mbox->SCSI_10.tmo.tmo_scale = MYRS_TMO_SCALE_SECONDS;
drivers/scsi/myrs.c
1664
mbox->SCSI_10.tmo.tmo_val = timeout;
drivers/scsi/myrs.c
1666
memcpy(&mbox->SCSI_10.cdb, scmd->cmnd, scmd->cmd_len);
drivers/scsi/myrs.c
1667
hw_sge = &mbox->SCSI_10.dma_addr;
drivers/scsi/myrs.c
1685
mbox->SCSI_255.opcode = MYRS_CMD_OP_SCSI_256;
drivers/scsi/myrs.c
1686
mbox->SCSI_255.pdev.lun = ldev_info->lun;
drivers/scsi/myrs.c
1687
mbox->SCSI_255.pdev.target = ldev_info->target;
drivers/scsi/myrs.c
1688
mbox->SCSI_255.pdev.channel = ldev_info->channel;
drivers/scsi/myrs.c
1689
mbox->SCSI_255.pdev.ctlr = 0;
drivers/scsi/myrs.c
1691
mbox->SCSI_255.opcode = MYRS_CMD_OP_SCSI_255_PASSTHRU;
drivers/scsi/myrs.c
1692
mbox->SCSI_255.pdev.lun = sdev->lun;
drivers/scsi/myrs.c
1693
mbox->SCSI_255.pdev.target = sdev->id;
drivers/scsi/myrs.c
1694
mbox->SCSI_255.pdev.channel = sdev->channel;
drivers/scsi/myrs.c
1696
mbox->SCSI_255.id = rq->tag + 3;
drivers/scsi/myrs.c
1697
mbox->SCSI_255.control.dma_ctrl_to_host =
drivers/scsi/myrs.c
1700
mbox->SCSI_255.control.fua = true;
drivers/scsi/myrs.c
1701
mbox->SCSI_255.dma_size = scsi_bufflen(scmd);
drivers/scsi/myrs.c
1702
mbox->SCSI_255.sense_addr = cmd_blk->sense_addr;
drivers/scsi/myrs.c
1703
mbox->SCSI_255.sense_len = MYRS_SENSE_SIZE;
drivers/scsi/myrs.c
1704
mbox->SCSI_255.cdb_len = scmd->cmd_len;
drivers/scsi/myrs.c
1705
mbox->SCSI_255.cdb_addr = cmd_blk->dcdb_dma;
drivers/scsi/myrs.c
1707
mbox->SCSI_255.tmo.tmo_scale = MYRS_TMO_SCALE_MINUTES;
drivers/scsi/myrs.c
1708
mbox->SCSI_255.tmo.tmo_val = timeout / 60;
drivers/scsi/myrs.c
1710
mbox->SCSI_255.tmo.tmo_scale = MYRS_TMO_SCALE_SECONDS;
drivers/scsi/myrs.c
1711
mbox->SCSI_255.tmo.tmo_val = timeout;
drivers/scsi/myrs.c
1714
hw_sge = &mbox->SCSI_255.dma_addr;
drivers/scsi/myrs.c
1749
mbox->SCSI_10.control.add_sge_mem = true;
drivers/scsi/myrs.c
1751
mbox->SCSI_255.control.add_sge_mem = true;
drivers/scsi/myrs.c
179
mbox->ctlr_info.id = MYRS_DCMD_TAG;
drivers/scsi/myrs.c
180
mbox->ctlr_info.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
181
mbox->ctlr_info.control.dma_ctrl_to_host = true;
drivers/scsi/myrs.c
182
mbox->ctlr_info.control.no_autosense = true;
drivers/scsi/myrs.c
183
mbox->ctlr_info.dma_size = sizeof(struct myrs_ctlr_info);
drivers/scsi/myrs.c
184
mbox->ctlr_info.ctlr_num = 0;
drivers/scsi/myrs.c
185
mbox->ctlr_info.ioctl_opcode = MYRS_IOCTL_GET_CTLR_INFO;
drivers/scsi/myrs.c
186
sgl = &mbox->ctlr_info.dma_addr;
drivers/scsi/myrs.c
188
sgl->sge[0].sge_count = mbox->ctlr_info.dma_size;
drivers/scsi/myrs.c
223
union myrs_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
238
mbox->ldev_info.id = MYRS_DCMD_TAG;
drivers/scsi/myrs.c
239
mbox->ldev_info.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
240
mbox->ldev_info.control.dma_ctrl_to_host = true;
drivers/scsi/myrs.c
241
mbox->ldev_info.control.no_autosense = true;
drivers/scsi/myrs.c
242
mbox->ldev_info.dma_size = sizeof(struct myrs_ldev_info);
drivers/scsi/myrs.c
243
mbox->ldev_info.ldev.ldev_num = ldev_num;
drivers/scsi/myrs.c
244
mbox->ldev_info.ioctl_opcode = MYRS_IOCTL_GET_LDEV_INFO_VALID;
drivers/scsi/myrs.c
245
sgl = &mbox->ldev_info.dma_addr;
drivers/scsi/myrs.c
247
sgl->sge[0].sge_count = mbox->ldev_info.dma_size;
drivers/scsi/myrs.c
2480
union myrs_cmd_mbox *mbox)
drivers/scsi/myrs.c
2482
memcpy(&mem_mbox->words[1], &mbox->words[1],
drivers/scsi/myrs.c
2486
mem_mbox->words[0] = mbox->words[0];
drivers/scsi/myrs.c
2697
union myrs_cmd_mbox *mbox)
drivers/scsi/myrs.c
2699
memcpy(&mem_mbox->words[1], &mbox->words[1],
drivers/scsi/myrs.c
2703
mem_mbox->words[0] = mbox->words[0];
drivers/scsi/myrs.c
2916
union myrs_cmd_mbox *mbox)
drivers/scsi/myrs.c
2918
memcpy(&mem_mbox->words[1], &mbox->words[1],
drivers/scsi/myrs.c
2922
mem_mbox->words[0] = mbox->words[0];
drivers/scsi/myrs.c
311
union myrs_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
324
mbox->pdev_info.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
325
mbox->pdev_info.id = MYRS_DCMD_TAG;
drivers/scsi/myrs.c
326
mbox->pdev_info.control.dma_ctrl_to_host = true;
drivers/scsi/myrs.c
327
mbox->pdev_info.control.no_autosense = true;
drivers/scsi/myrs.c
328
mbox->pdev_info.dma_size = sizeof(struct myrs_pdev_info);
drivers/scsi/myrs.c
329
mbox->pdev_info.pdev.lun = lun;
drivers/scsi/myrs.c
330
mbox->pdev_info.pdev.target = target;
drivers/scsi/myrs.c
331
mbox->pdev_info.pdev.channel = channel;
drivers/scsi/myrs.c
332
mbox->pdev_info.ioctl_opcode = MYRS_IOCTL_GET_PDEV_INFO_VALID;
drivers/scsi/myrs.c
333
sgl = &mbox->pdev_info.dma_addr;
drivers/scsi/myrs.c
335
sgl->sge[0].sge_count = mbox->pdev_info.dma_size;
drivers/scsi/myrs.c
354
union myrs_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
359
mbox->dev_op.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
360
mbox->dev_op.id = MYRS_DCMD_TAG;
drivers/scsi/myrs.c
361
mbox->dev_op.control.dma_ctrl_to_host = true;
drivers/scsi/myrs.c
362
mbox->dev_op.control.no_autosense = true;
drivers/scsi/myrs.c
363
mbox->dev_op.ioctl_opcode = opcode;
drivers/scsi/myrs.c
364
mbox->dev_op.opdev = opdev;
drivers/scsi/myrs.c
382
union myrs_cmd_mbox *mbox;
drivers/scsi/myrs.c
395
mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
396
mbox->pdev_info.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
397
mbox->pdev_info.control.dma_ctrl_to_host = true;
drivers/scsi/myrs.c
398
mbox->pdev_info.control.no_autosense = true;
drivers/scsi/myrs.c
399
mbox->pdev_info.dma_size = sizeof(struct myrs_devmap);
drivers/scsi/myrs.c
400
mbox->pdev_info.pdev.target = target;
drivers/scsi/myrs.c
401
mbox->pdev_info.pdev.channel = channel;
drivers/scsi/myrs.c
402
mbox->pdev_info.pdev.lun = lun;
drivers/scsi/myrs.c
403
mbox->pdev_info.ioctl_opcode = MYRS_IOCTL_XLATE_PDEV_TO_LDEV;
drivers/scsi/myrs.c
404
sgl = &mbox->pdev_info.dma_addr;
drivers/scsi/myrs.c
406
sgl->sge[0].sge_count = mbox->pdev_info.dma_size;
drivers/scsi/myrs.c
425
union myrs_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
434
mbox->get_event.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
435
mbox->get_event.dma_size = sizeof(struct myrs_event);
drivers/scsi/myrs.c
436
mbox->get_event.evnum_upper = event_num >> 16;
drivers/scsi/myrs.c
437
mbox->get_event.ctlr_num = 0;
drivers/scsi/myrs.c
438
mbox->get_event.ioctl_opcode = MYRS_IOCTL_GET_EVENT;
drivers/scsi/myrs.c
439
mbox->get_event.evnum_lower = event_num & 0xFFFF;
drivers/scsi/myrs.c
440
sgl = &mbox->get_event.dma_addr;
drivers/scsi/myrs.c
442
sgl->sge[0].sge_count = mbox->get_event.dma_size;
drivers/scsi/myrs.c
457
union myrs_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
462
mbox->common.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
463
mbox->common.id = MYRS_MCMD_TAG;
drivers/scsi/myrs.c
464
mbox->common.control.dma_ctrl_to_host = true;
drivers/scsi/myrs.c
465
mbox->common.control.no_autosense = true;
drivers/scsi/myrs.c
466
mbox->common.dma_size = sizeof(struct myrs_fwstat);
drivers/scsi/myrs.c
467
mbox->common.ioctl_opcode = MYRS_IOCTL_GET_HEALTH_STATUS;
drivers/scsi/myrs.c
468
sgl = &mbox->common.dma_addr;
drivers/scsi/myrs.c
470
sgl->sge[0].sge_count = mbox->ctlr_info.dma_size;
drivers/scsi/myrs.c
488
union myrs_cmd_mbox *mbox;
drivers/scsi/myrs.c
499
mbox = dma_alloc_coherent(&pdev->dev, sizeof(union myrs_cmd_mbox),
drivers/scsi/myrs.c
501
if (!mbox)
drivers/scsi/myrs.c
550
memset(mbox, 0, sizeof(union myrs_cmd_mbox));
drivers/scsi/myrs.c
551
mbox->set_mbox.id = 1;
drivers/scsi/myrs.c
552
mbox->set_mbox.opcode = MYRS_CMD_OP_IOCTL;
drivers/scsi/myrs.c
553
mbox->set_mbox.control.no_autosense = true;
drivers/scsi/myrs.c
554
mbox->set_mbox.first_cmd_mbox_size_kb =
drivers/scsi/myrs.c
556
mbox->set_mbox.first_stat_mbox_size_kb =
drivers/scsi/myrs.c
558
mbox->set_mbox.second_cmd_mbox_size_kb = 0;
drivers/scsi/myrs.c
559
mbox->set_mbox.second_stat_mbox_size_kb = 0;
drivers/scsi/myrs.c
560
mbox->set_mbox.sense_len = 0;
drivers/scsi/myrs.c
561
mbox->set_mbox.ioctl_opcode = MYRS_IOCTL_SET_MEM_MBOX;
drivers/scsi/myrs.c
562
mbox->set_mbox.fwstat_buf_size_kb = 1;
drivers/scsi/myrs.c
563
mbox->set_mbox.fwstat_buf_addr = cs->fwstat_addr;
drivers/scsi/myrs.c
564
mbox->set_mbox.first_cmd_mbox_addr = cs->cmd_mbox_addr;
drivers/scsi/myrs.c
565
mbox->set_mbox.first_stat_mbox_addr = cs->stat_mbox_addr;
drivers/scsi/myrs.c
570
mbox, mbox_addr);
drivers/scsi/myrs.c
95
union myrs_cmd_mbox *mbox = &cmd_blk->mbox;
drivers/scsi/myrs.c
97
memset(mbox, 0, sizeof(union myrs_cmd_mbox));
drivers/scsi/myrs.c
975
union myrs_cmd_mbox *mbox;
drivers/scsi/myrs.h
871
union myrs_cmd_mbox mbox;
drivers/scsi/qla4xxx/ql4_def.h
273
struct mbox_cmd_iocb *mbox;
drivers/scsi/qla4xxx/ql4_iocb.c
474
rval = qla4xxx_get_req_pkt(ha, (struct queue_entry **) &(mrb->mbox));
drivers/scsi/qla4xxx/ql4_iocb.c
492
mrb->mbox->handle = index;
drivers/scsi/qla4xxx/ql4_iocb.c
493
mrb->mbox->hdr.entryType = ET_MBOX_CMD;
drivers/scsi/qla4xxx/ql4_iocb.c
494
mrb->mbox->hdr.entryCount = mrb->iocb_cnt;
drivers/scsi/qla4xxx/ql4_iocb.c
495
memcpy(mrb->mbox->in_mbox, in_mbox, 32);
drivers/soc/apple/mailbox.c
102
int apple_mbox_send(struct apple_mbox *mbox, const struct apple_mbox_msg msg,
drivers/soc/apple/mailbox.c
110
spin_lock_irqsave(&mbox->tx_lock, flags);
drivers/soc/apple/mailbox.c
111
mbox_ctrl = readl_relaxed(mbox->regs + mbox->hw->a2i_control);
drivers/soc/apple/mailbox.c
113
while (mbox_ctrl & mbox->hw->control_full) {
drivers/soc/apple/mailbox.c
116
mbox->regs + mbox->hw->a2i_control, mbox_ctrl,
drivers/soc/apple/mailbox.c
117
!(mbox_ctrl & mbox->hw->control_full), 100,
drivers/soc/apple/mailbox.c
121
spin_unlock_irqrestore(&mbox->tx_lock, flags);
drivers/soc/apple/mailbox.c
136
if (mbox->hw->has_irq_controls) {
drivers/soc/apple/mailbox.c
137
writel_relaxed(mbox->hw->irq_bit_send_empty,
drivers/soc/apple/mailbox.c
138
mbox->regs + mbox->hw->irq_ack);
drivers/soc/apple/mailbox.c
140
enable_irq(mbox->irq_send_empty);
drivers/soc/apple/mailbox.c
141
reinit_completion(&mbox->tx_empty);
drivers/soc/apple/mailbox.c
142
spin_unlock_irqrestore(&mbox->tx_lock, flags);
drivers/soc/apple/mailbox.c
145
&mbox->tx_empty,
drivers/soc/apple/mailbox.c
152
spin_lock_irqsave(&mbox->tx_lock, flags);
drivers/soc/apple/mailbox.c
153
mbox_ctrl = readl_relaxed(mbox->regs + mbox->hw->a2i_control);
drivers/soc/apple/mailbox.c
156
writeq_relaxed(msg.msg0, mbox->regs + mbox->hw->a2i_send0);
drivers/soc/apple/mailbox.c
158
mbox->regs + mbox->hw->a2i_send1);
drivers/soc/apple/mailbox.c
160
spin_unlock_irqrestore(&mbox->tx_lock, flags);
drivers/soc/apple/mailbox.c
168
struct apple_mbox *mbox = data;
drivers/soc/apple/mailbox.c
177
spin_lock(&mbox->tx_lock);
drivers/soc/apple/mailbox.c
178
disable_irq_nosync(mbox->irq_send_empty);
drivers/soc/apple/mailbox.c
179
complete(&mbox->tx_empty);
drivers/soc/apple/mailbox.c
180
spin_unlock(&mbox->tx_lock);
drivers/soc/apple/mailbox.c
185
static int apple_mbox_poll_locked(struct apple_mbox *mbox)
drivers/soc/apple/mailbox.c
190
u32 mbox_ctrl = readl_relaxed(mbox->regs + mbox->hw->i2a_control);
drivers/soc/apple/mailbox.c
192
while (!(mbox_ctrl & mbox->hw->control_empty)) {
drivers/soc/apple/mailbox.c
193
msg.msg0 = readq_relaxed(mbox->regs + mbox->hw->i2a_recv0);
drivers/soc/apple/mailbox.c
196
readq_relaxed(mbox->regs + mbox->hw->i2a_recv1));
drivers/soc/apple/mailbox.c
198
mbox->rx(mbox, msg, mbox->cookie);
drivers/soc/apple/mailbox.c
200
mbox_ctrl = readl_relaxed(mbox->regs + mbox->hw->i2a_control);
drivers/soc/apple/mailbox.c
211
if (mbox->hw->has_irq_controls) {
drivers/soc/apple/mailbox.c
212
writel_relaxed(mbox->hw->irq_bit_recv_not_empty,
drivers/soc/apple/mailbox.c
213
mbox->regs + mbox->hw->irq_ack);
drivers/soc/apple/mailbox.c
221
struct apple_mbox *mbox = data;
drivers/soc/apple/mailbox.c
223
spin_lock(&mbox->rx_lock);
drivers/soc/apple/mailbox.c
224
apple_mbox_poll_locked(mbox);
drivers/soc/apple/mailbox.c
225
spin_unlock(&mbox->rx_lock);
drivers/soc/apple/mailbox.c
230
int apple_mbox_poll(struct apple_mbox *mbox)
drivers/soc/apple/mailbox.c
235
spin_lock_irqsave(&mbox->rx_lock, flags);
drivers/soc/apple/mailbox.c
236
ret = apple_mbox_poll_locked(mbox);
drivers/soc/apple/mailbox.c
237
spin_unlock_irqrestore(&mbox->rx_lock, flags);
drivers/soc/apple/mailbox.c
243
int apple_mbox_start(struct apple_mbox *mbox)
drivers/soc/apple/mailbox.c
247
if (mbox->active)
drivers/soc/apple/mailbox.c
250
ret = pm_runtime_resume_and_get(mbox->dev);
drivers/soc/apple/mailbox.c
262
if (mbox->hw->has_irq_controls) {
drivers/soc/apple/mailbox.c
263
writel_relaxed(mbox->hw->irq_bit_recv_not_empty |
drivers/soc/apple/mailbox.c
264
mbox->hw->irq_bit_send_empty,
drivers/soc/apple/mailbox.c
265
mbox->regs + mbox->hw->irq_enable);
drivers/soc/apple/mailbox.c
268
enable_irq(mbox->irq_recv_not_empty);
drivers/soc/apple/mailbox.c
269
mbox->active = true;
drivers/soc/apple/mailbox.c
274
void apple_mbox_stop(struct apple_mbox *mbox)
drivers/soc/apple/mailbox.c
276
if (!mbox->active)
drivers/soc/apple/mailbox.c
279
mbox->active = false;
drivers/soc/apple/mailbox.c
280
disable_irq(mbox->irq_recv_not_empty);
drivers/soc/apple/mailbox.c
281
pm_runtime_mark_last_busy(mbox->dev);
drivers/soc/apple/mailbox.c
282
pm_runtime_put_autosuspend(mbox->dev);
drivers/soc/apple/mailbox.c
290
struct apple_mbox *mbox;
drivers/soc/apple/mailbox.c
304
mbox = platform_get_drvdata(pdev);
drivers/soc/apple/mailbox.c
305
if (!mbox) {
drivers/soc/apple/mailbox.c
306
mbox = ERR_PTR(-EPROBE_DEFER);
drivers/soc/apple/mailbox.c
311
mbox = ERR_PTR(-ENODEV);
drivers/soc/apple/mailbox.c
318
return mbox;
drivers/soc/apple/mailbox.c
338
struct apple_mbox *mbox;
drivers/soc/apple/mailbox.c
341
mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL);
drivers/soc/apple/mailbox.c
342
if (!mbox)
drivers/soc/apple/mailbox.c
345
mbox->dev = &pdev->dev;
drivers/soc/apple/mailbox.c
346
mbox->hw = of_device_get_match_data(dev);
drivers/soc/apple/mailbox.c
347
if (!mbox->hw)
drivers/soc/apple/mailbox.c
350
mbox->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/soc/apple/mailbox.c
351
if (IS_ERR(mbox->regs))
drivers/soc/apple/mailbox.c
352
return PTR_ERR(mbox->regs);
drivers/soc/apple/mailbox.c
354
mbox->irq_recv_not_empty =
drivers/soc/apple/mailbox.c
356
if (mbox->irq_recv_not_empty < 0)
drivers/soc/apple/mailbox.c
359
mbox->irq_send_empty = platform_get_irq_byname(pdev, "send-empty");
drivers/soc/apple/mailbox.c
360
if (mbox->irq_send_empty < 0)
drivers/soc/apple/mailbox.c
363
spin_lock_init(&mbox->rx_lock);
drivers/soc/apple/mailbox.c
364
spin_lock_init(&mbox->tx_lock);
drivers/soc/apple/mailbox.c
365
init_completion(&mbox->tx_empty);
drivers/soc/apple/mailbox.c
371
ret = devm_request_irq(dev, mbox->irq_recv_not_empty,
drivers/soc/apple/mailbox.c
373
IRQF_NO_AUTOEN | IRQF_NO_SUSPEND, irqname, mbox);
drivers/soc/apple/mailbox.c
381
ret = devm_request_irq(dev, mbox->irq_send_empty,
drivers/soc/apple/mailbox.c
383
IRQF_NO_AUTOEN | IRQF_NO_SUSPEND, irqname, mbox);
drivers/soc/apple/mailbox.c
391
platform_set_drvdata(pdev, mbox);
drivers/soc/apple/mailbox.h
35
void (*rx)(struct apple_mbox *mbox, struct apple_mbox_msg msg, void *cookie);
drivers/soc/apple/mailbox.h
42
int apple_mbox_start(struct apple_mbox *mbox);
drivers/soc/apple/mailbox.h
43
void apple_mbox_stop(struct apple_mbox *mbox);
drivers/soc/apple/mailbox.h
44
int apple_mbox_poll(struct apple_mbox *mbox);
drivers/soc/apple/mailbox.h
45
int apple_mbox_send(struct apple_mbox *mbox, struct apple_mbox_msg msg,
drivers/soc/apple/rtkit-internal.h
30
struct apple_mbox *mbox;
drivers/soc/apple/rtkit.c
569
static void apple_rtkit_rx(struct apple_mbox *mbox, struct apple_mbox_msg msg,
drivers/soc/apple/rtkit.c
632
return apple_mbox_send(rtk->mbox, msg, atomic);
drivers/soc/apple/rtkit.c
638
return apple_mbox_poll(rtk->mbox);
drivers/soc/apple/rtkit.c
686
rtk->mbox = apple_mbox_get_byname(dev, mbox_name);
drivers/soc/apple/rtkit.c
688
rtk->mbox = apple_mbox_get(dev, mbox_idx);
drivers/soc/apple/rtkit.c
690
if (IS_ERR(rtk->mbox)) {
drivers/soc/apple/rtkit.c
691
ret = PTR_ERR(rtk->mbox);
drivers/soc/apple/rtkit.c
695
rtk->mbox->rx = apple_rtkit_rx;
drivers/soc/apple/rtkit.c
696
rtk->mbox->cookie = rtk;
drivers/soc/apple/rtkit.c
705
ret = apple_mbox_start(rtk->mbox);
drivers/soc/apple/rtkit.c
736
apple_mbox_stop(rtk->mbox);
drivers/soc/apple/rtkit.c
761
return apple_mbox_start(rtk->mbox);
drivers/soc/apple/rtkit.c
940
apple_mbox_stop(rtk->mbox);
drivers/soc/hisilicon/kunpeng_hccs.c
206
mbox_chan->mbox->txdone_irq) {
drivers/soc/hisilicon/kunpeng_hccs.c
211
!mbox_chan->mbox->txdone_irq) {
drivers/soc/mediatek/mtk-cmdq-helper.c
158
dev = client->chan->mbox->dev;
drivers/soc/mediatek/mtk-cmdq-helper.c
176
dma_unmap_single(client->chan->mbox->dev, pkt->pa_base, pkt->buf_size,
drivers/soc/ti/wkup_m3_ipc.c
318
if (!m3_ipc->mbox) {
drivers/soc/ti/wkup_m3_ipc.c
331
ret = mbox_send_message(m3_ipc->mbox, NULL);
drivers/soc/ti/wkup_m3_ipc.c
346
mbox_client_txdone(m3_ipc->mbox, 0);
drivers/soc/ti/wkup_m3_ipc.c
355
if (!m3_ipc->mbox) {
drivers/soc/ti/wkup_m3_ipc.c
361
ret = mbox_send_message(m3_ipc->mbox, NULL);
drivers/soc/ti/wkup_m3_ipc.c
368
mbox_client_txdone(m3_ipc->mbox, 0);
drivers/soc/ti/wkup_m3_ipc.c
645
m3_ipc->mbox = mbox_request_channel(&m3_ipc->mbox_client, 0);
drivers/soc/ti/wkup_m3_ipc.c
647
if (IS_ERR(m3_ipc->mbox))
drivers/soc/ti/wkup_m3_ipc.c
648
return dev_err_probe(dev, PTR_ERR(m3_ipc->mbox),
drivers/soc/ti/wkup_m3_ipc.c
707
mbox_free_channel(m3_ipc->mbox);
drivers/soc/ti/wkup_m3_ipc.c
715
mbox_free_channel(m3_ipc_state->mbox);
drivers/ufs/host/ufs-exynos.c
1762
u32 mbox;
drivers/ufs/host/ufs-exynos.c
1769
mbox = ufshcd_readl(hba, PH2VH_MBOX);
drivers/ufs/host/ufs-exynos.c
1773
if ((mbox & MH_MSG_MASK) == MH_MSG_PH_READY)
drivers/usb/host/xhci-tegra.c
243
struct tegra_xusb_mbox_regs mbox;
drivers/usb/host/xhci-tegra.c
2561
.mbox = {
drivers/usb/host/xhci-tegra.c
2599
.mbox = {
drivers/usb/host/xhci-tegra.c
2642
.mbox = {
drivers/usb/host/xhci-tegra.c
2675
.mbox = {
drivers/usb/host/xhci-tegra.c
2708
.mbox = {
drivers/usb/host/xhci-tegra.c
553
value = ops->mbox_reg_readl(tegra, tegra->soc->mbox.owner);
drivers/usb/host/xhci-tegra.c
559
ops->mbox_reg_writel(tegra, MBOX_OWNER_SW, tegra->soc->mbox.owner);
drivers/usb/host/xhci-tegra.c
561
value = ops->mbox_reg_readl(tegra, tegra->soc->mbox.owner);
drivers/usb/host/xhci-tegra.c
571
ops->mbox_reg_writel(tegra, value, tegra->soc->mbox.data_in);
drivers/usb/host/xhci-tegra.c
573
value = ops->mbox_reg_readl(tegra, tegra->soc->mbox.cmd);
drivers/usb/host/xhci-tegra.c
575
ops->mbox_reg_writel(tegra, value, tegra->soc->mbox.cmd);
drivers/usb/host/xhci-tegra.c
581
value = ops->mbox_reg_readl(tegra, tegra->soc->mbox.owner);
drivers/usb/host/xhci-tegra.c
589
value = ops->mbox_reg_readl(tegra, tegra->soc->mbox.owner);
drivers/usb/host/xhci-tegra.c
605
value = ops->mbox_reg_readl(tegra, tegra->soc->mbox.smi_intr);
drivers/usb/host/xhci-tegra.c
606
ops->mbox_reg_writel(tegra, value, tegra->soc->mbox.smi_intr);
drivers/usb/host/xhci-tegra.c
768
value = ops->mbox_reg_readl(tegra, tegra->soc->mbox.data_out);
drivers/usb/host/xhci-tegra.c
771
value = ops->mbox_reg_readl(tegra, tegra->soc->mbox.cmd);
drivers/usb/host/xhci-tegra.c
773
ops->mbox_reg_writel(tegra, value, tegra->soc->mbox.cmd);
drivers/usb/host/xhci-tegra.c
777
ops->mbox_reg_writel(tegra, MBOX_OWNER_NONE, tegra->soc->mbox.owner);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
100
return iowrite32(word, &mbox->data[word_idx]);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
106
struct octep_mbox __iomem *mbox = octep_get_mbox(oct_hw);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
117
ret = octep_wait_for_mbox_avail(mbox);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
126
octep_write32_word(mbox, i, *p);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
130
octep_write32_word(mbox, 0, (u32)qid);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
131
octep_write_sts(mbox, 0);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
133
octep_write_hdr(mbox, id, MBOX_REQ_SIG);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
135
ret = octep_wait_for_mbox_rsp(mbox);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
141
val = octep_read_sig(mbox);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
147
val = octep_read_sts(mbox);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
156
*p++ = octep_read32_word(mbox, i);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
161
static void octep_mbox_init(struct octep_mbox __iomem *mbox)
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
163
iowrite32(1, &mbox->sts);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
446
struct octep_mbox __iomem *mbox;
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
544
mbox = octep_get_mbox(oct_hw);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
545
octep_mbox_init(mbox);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
546
dev_info(dev, "mbox mapped at: %p\n", mbox);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
56
static inline int octep_wait_for_mbox_avail(struct octep_mbox __iomem *mbox)
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
60
return readx_poll_timeout(ioread32, &mbox->sts, val, MBOX_AVAIL(val), 10,
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
64
static inline int octep_wait_for_mbox_rsp(struct octep_mbox __iomem *mbox)
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
68
return readx_poll_timeout(ioread32, &mbox->sts, val, MBOX_RSP(val), 10,
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
72
static inline void octep_write_hdr(struct octep_mbox __iomem *mbox, u16 id, u16 sig)
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
74
iowrite16(id, &mbox->hdr.id);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
75
iowrite16(sig, &mbox->hdr.sig);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
78
static inline u32 octep_read_sig(struct octep_mbox __iomem *mbox)
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
80
return ioread16(&mbox->hdr.sig);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
83
static inline void octep_write_sts(struct octep_mbox __iomem *mbox, u32 sts)
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
85
iowrite32(sts, &mbox->sts);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
88
static inline u32 octep_read_sts(struct octep_mbox __iomem *mbox)
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
90
return ioread32(&mbox->sts);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
93
static inline u32 octep_read32_word(struct octep_mbox __iomem *mbox, u16 word_idx)
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
95
return ioread32(&mbox->data[word_idx]);
drivers/vdpa/octeon_ep/octep_vdpa_hw.c
98
static inline void octep_write32_word(struct octep_mbox __iomem *mbox, u16 word_idx, u32 word)
include/linux/mailbox_controller.h
122
struct mbox_controller *mbox;
include/linux/mailbox_controller.h
133
int mbox_controller_register(struct mbox_controller *mbox); /* can sleep */
include/linux/mailbox_controller.h
134
void mbox_controller_unregister(struct mbox_controller *mbox); /* can sleep */
include/linux/mailbox_controller.h
139
struct mbox_controller *mbox);
include/linux/mailbox_controller.h
83
struct mbox_chan *(*fw_xlate)(struct mbox_controller *mbox,
include/linux/mailbox_controller.h
85
struct mbox_chan *(*of_xlate)(struct mbox_controller *mbox,
include/linux/rio.h
221
void (*mcback) (struct rio_mport * mport, void *dev_id, int mbox, int slot);
include/linux/rio.h
411
int mbox, int entries);
include/linux/rio.h
412
void (*close_outb_mbox)(struct rio_mport *mport, int mbox);
include/linux/rio.h
414
int mbox, int entries);
include/linux/rio.h
415
void (*close_inb_mbox)(struct rio_mport *mport, int mbox);
include/linux/rio.h
417
int mbox, void *buffer, size_t len);
include/linux/rio.h
418
int (*add_inb_buffer)(struct rio_mport *mport, int mbox, void *buf);
include/linux/rio.h
419
void *(*get_inb_message)(struct rio_mport *mport, int mbox);
include/linux/rio_drv.h
312
struct rio_dev *rdev, int mbox,
include/linux/rio_drv.h
315
return mport->ops->add_outb_message(mport, rdev, mbox,
include/linux/rio_drv.h
332
static inline int rio_add_inb_buffer(struct rio_mport *mport, int mbox,
include/linux/rio_drv.h
335
return mport->ops->add_inb_buffer(mport, mbox, buffer);
include/linux/rio_drv.h
345
static inline void *rio_get_inb_message(struct rio_mport *mport, int mbox)
include/linux/rio_drv.h
347
return mport->ops->get_inb_message(mport, mbox);
include/linux/wkup_m3_ipc.h
38
struct mbox_chan *mbox;
include/soc/tegra/bpmp.h
80
} mbox;