drivers/block/sunvdc.c
333
static int vdc_ack(struct vdc_port *port, void *msgbuf)
drivers/block/sunvdc.c
336
struct vio_dring_data *pkt = msgbuf;
drivers/block/sunvdc.c
348
static int vdc_nack(struct vdc_port *port, void *msgbuf)
drivers/block/sunvdc.c
384
} msgbuf;
drivers/block/sunvdc.c
386
err = ldc_read(vio->lp, &msgbuf, sizeof(msgbuf));
drivers/block/sunvdc.c
395
msgbuf.tag.type,
drivers/block/sunvdc.c
396
msgbuf.tag.stype,
drivers/block/sunvdc.c
397
msgbuf.tag.stype_env,
drivers/block/sunvdc.c
398
msgbuf.tag.sid);
drivers/block/sunvdc.c
399
err = vio_validate_sid(vio, &msgbuf.tag);
drivers/block/sunvdc.c
403
if (likely(msgbuf.tag.type == VIO_TYPE_DATA)) {
drivers/block/sunvdc.c
404
if (msgbuf.tag.stype == VIO_SUBTYPE_ACK)
drivers/block/sunvdc.c
405
err = vdc_ack(port, &msgbuf);
drivers/block/sunvdc.c
406
else if (msgbuf.tag.stype == VIO_SUBTYPE_NACK)
drivers/block/sunvdc.c
407
err = vdc_nack(port, &msgbuf);
drivers/block/sunvdc.c
409
err = vdc_handle_unknown(port, &msgbuf);
drivers/block/sunvdc.c
410
} else if (msgbuf.tag.type == VIO_TYPE_CTRL) {
drivers/block/sunvdc.c
411
err = vio_control_pkt_engine(vio, &msgbuf);
drivers/block/sunvdc.c
413
err = vdc_handle_unknown(port, &msgbuf);
drivers/i2c/i2c-slave-testunit.c
173
u8 msgbuf[256];
drivers/i2c/i2c-slave-testunit.c
178
msg.buf = msgbuf;
drivers/i2c/i2c-slave-testunit.c
191
msgbuf[0] = tu->client->addr;
drivers/i2c/i2c-slave-testunit.c
192
msgbuf[1] = tu->regs[TU_REG_DATAL];
drivers/i2c/i2c-slave-testunit.c
193
msgbuf[2] = tu->regs[TU_REG_DATAH];
drivers/net/ethernet/intel/igb/igb_main.c
7323
static int igb_set_vf_promisc(struct igb_adapter *adapter, u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
7333
if (*msgbuf & E1000_VF_SET_PROMISC_MULTICAST) {
drivers/net/ethernet/intel/igb/igb_main.c
7336
*msgbuf &= ~E1000_VF_SET_PROMISC_MULTICAST;
drivers/net/ethernet/intel/igb/igb_main.c
7356
if (*msgbuf & E1000_VT_MSGINFO_MASK)
drivers/net/ethernet/intel/igb/igb_main.c
7363
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
7365
int n = FIELD_GET(E1000_VT_MSGINFO_MASK, msgbuf[0]);
drivers/net/ethernet/intel/igb/igb_main.c
7366
u16 *hash_list = (u16 *)&msgbuf[1];
drivers/net/ethernet/intel/igb/igb_main.c
7623
static int igb_set_vf_vlan_msg(struct igb_adapter *adapter, u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/igb/igb_main.c
7625
int add = FIELD_GET(E1000_VT_MSGINFO_MASK, msgbuf[0]);
drivers/net/ethernet/intel/igb/igb_main.c
7626
int vid = (msgbuf[1] & E1000_VLVF_VLANID_MASK);
drivers/net/ethernet/intel/igb/igb_main.c
7681
u32 reg, msgbuf[3] = {};
drivers/net/ethernet/intel/igb/igb_main.c
7682
u8 *addr = (u8 *)(&msgbuf[1]);
drivers/net/ethernet/intel/igb/igb_main.c
7700
msgbuf[0] = E1000_VF_RESET | E1000_VT_MSGTYPE_ACK;
drivers/net/ethernet/intel/igb/igb_main.c
7703
msgbuf[0] = E1000_VF_RESET | E1000_VT_MSGTYPE_NACK;
drivers/net/ethernet/intel/igb/igb_main.c
7705
igb_write_mbx(hw, msgbuf, 3, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8041
u32 msgbuf[E1000_VFMAILBOX_SIZE];
drivers/net/ethernet/intel/igb/igb_main.c
8046
retval = igb_read_mbx(hw, msgbuf, E1000_VFMAILBOX_SIZE, vf, false);
drivers/net/ethernet/intel/igb/igb_main.c
8058
if (msgbuf[0] & (E1000_VT_MSGTYPE_ACK | E1000_VT_MSGTYPE_NACK))
drivers/net/ethernet/intel/igb/igb_main.c
8064
if (msgbuf[0] == E1000_VF_RESET) {
drivers/net/ethernet/intel/igb/igb_main.c
8077
switch ((msgbuf[0] & 0xFFFF)) {
drivers/net/ethernet/intel/igb/igb_main.c
8079
retval = igb_set_vf_mac_addr(adapter, msgbuf, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8082
retval = igb_set_vf_promisc(adapter, msgbuf, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8085
retval = igb_set_vf_multicasts(adapter, msgbuf, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8088
retval = igb_set_vf_rlpml(adapter, msgbuf[1], vf);
drivers/net/ethernet/intel/igb/igb_main.c
8097
retval = igb_set_vf_vlan_msg(adapter, msgbuf, vf);
drivers/net/ethernet/intel/igb/igb_main.c
8100
dev_err(&pdev->dev, "Unhandled Msg %08x\n", msgbuf[0]);
drivers/net/ethernet/intel/igb/igb_main.c
8105
msgbuf[0] |= E1000_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/igb/igb_main.c
8109
msgbuf[0] |= E1000_VT_MSGTYPE_NACK;
drivers/net/ethernet/intel/igb/igb_main.c
8111
msgbuf[0] |= E1000_VT_MSGTYPE_ACK;
drivers/net/ethernet/intel/igb/igb_main.c
8114
igb_write_mbx(hw, msgbuf, 1, vf);
drivers/net/ethernet/intel/igbvf/vf.c
109
u32 msgbuf[3];
drivers/net/ethernet/intel/igbvf/vf.c
110
u8 *addr = (u8 *)(&msgbuf[1]);
drivers/net/ethernet/intel/igbvf/vf.c
128
msgbuf[0] = E1000_VF_RESET;
drivers/net/ethernet/intel/igbvf/vf.c
129
mbx->ops.write_posted(hw, msgbuf, 1);
drivers/net/ethernet/intel/igbvf/vf.c
134
ret_val = mbx->ops.read_posted(hw, msgbuf, 3);
drivers/net/ethernet/intel/igbvf/vf.c
136
switch (msgbuf[0]) {
drivers/net/ethernet/intel/igbvf/vf.c
213
u32 msgbuf[E1000_VFMAILBOX_SIZE];
drivers/net/ethernet/intel/igbvf/vf.c
214
u16 *hash_list = (u16 *)&msgbuf[1];
drivers/net/ethernet/intel/igbvf/vf.c
229
msgbuf[0] = E1000_VF_SET_MULTICAST;
drivers/net/ethernet/intel/igbvf/vf.c
230
msgbuf[0] |= cnt << E1000_VT_MSGINFO_SHIFT;
drivers/net/ethernet/intel/igbvf/vf.c
238
ret_val = mbx->ops.write_posted(hw, msgbuf, E1000_VFMAILBOX_SIZE);
drivers/net/ethernet/intel/igbvf/vf.c
240
mbx->ops.read_posted(hw, msgbuf, 1);
drivers/net/ethernet/intel/igbvf/vf.c
252
u32 msgbuf[2];
drivers/net/ethernet/intel/igbvf/vf.c
255
msgbuf[0] = E1000_VF_SET_VLAN;
drivers/net/ethernet/intel/igbvf/vf.c
256
msgbuf[1] = vid;
drivers/net/ethernet/intel/igbvf/vf.c
259
msgbuf[0] |= BIT(E1000_VT_MSGINFO_SHIFT);
drivers/net/ethernet/intel/igbvf/vf.c
261
mbx->ops.write_posted(hw, msgbuf, 2);
drivers/net/ethernet/intel/igbvf/vf.c
263
err = mbx->ops.read_posted(hw, msgbuf, 2);
drivers/net/ethernet/intel/igbvf/vf.c
265
msgbuf[0] &= ~E1000_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/igbvf/vf.c
268
if (!err && (msgbuf[0] == (E1000_VF_SET_VLAN | E1000_VT_MSGTYPE_NACK)))
drivers/net/ethernet/intel/igbvf/vf.c
282
u32 msgbuf[2];
drivers/net/ethernet/intel/igbvf/vf.c
285
msgbuf[0] = E1000_VF_SET_LPE;
drivers/net/ethernet/intel/igbvf/vf.c
286
msgbuf[1] = max_size;
drivers/net/ethernet/intel/igbvf/vf.c
288
ret_val = mbx->ops.write_posted(hw, msgbuf, 2);
drivers/net/ethernet/intel/igbvf/vf.c
290
mbx->ops.read_posted(hw, msgbuf, 1);
drivers/net/ethernet/intel/igbvf/vf.c
302
u32 msgbuf[3];
drivers/net/ethernet/intel/igbvf/vf.c
303
u8 *msg_addr = (u8 *)(&msgbuf[1]);
drivers/net/ethernet/intel/igbvf/vf.c
306
memset(msgbuf, 0, 12);
drivers/net/ethernet/intel/igbvf/vf.c
307
msgbuf[0] = E1000_VF_SET_MAC_ADDR;
drivers/net/ethernet/intel/igbvf/vf.c
309
ret_val = mbx->ops.write_posted(hw, msgbuf, 3);
drivers/net/ethernet/intel/igbvf/vf.c
312
ret_val = mbx->ops.read_posted(hw, msgbuf, 3);
drivers/net/ethernet/intel/igbvf/vf.c
314
msgbuf[0] &= ~E1000_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/igbvf/vf.c
318
(msgbuf[0] == (E1000_VF_SET_MAC_ADDR | E1000_VT_MSGTYPE_NACK)))
drivers/net/ethernet/intel/igbvf/vf.c
342
u32 msgbuf[3], msgbuf_chk;
drivers/net/ethernet/intel/igbvf/vf.c
343
u8 *msg_addr = (u8 *)(&msgbuf[1]);
drivers/net/ethernet/intel/igbvf/vf.c
346
memset(msgbuf, 0, sizeof(msgbuf));
drivers/net/ethernet/intel/igbvf/vf.c
347
msgbuf[0] |= sub_cmd;
drivers/net/ethernet/intel/igbvf/vf.c
348
msgbuf[0] |= E1000_VF_SET_MAC_ADDR;
drivers/net/ethernet/intel/igbvf/vf.c
349
msgbuf_chk = msgbuf[0];
drivers/net/ethernet/intel/igbvf/vf.c
354
ret_val = mbx->ops.write_posted(hw, msgbuf, 3);
drivers/net/ethernet/intel/igbvf/vf.c
357
ret_val = mbx->ops.read_posted(hw, msgbuf, 3);
drivers/net/ethernet/intel/igbvf/vf.c
359
msgbuf[0] &= ~E1000_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/igbvf/vf.c
362
msgbuf[0] &= ~E1000_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/igbvf/vf.c
364
if (msgbuf[0] == (msgbuf_chk | E1000_VT_MSGTYPE_NACK))
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
874
int ixgbe_ipsec_vf_add_sa(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
885
sam = (struct sa_mbx_msg *)(&msgbuf[1]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
953
msgbuf[1] = xs->xso.offload_handle;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
962
msgbuf[1] = err;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
984
int ixgbe_ipsec_vf_del_sa(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
988
u32 pfsa = msgbuf[1];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1039
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1041
int api = msgbuf[1];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1063
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1085
msgbuf[IXGBE_VF_TX_QUEUES] = __ALIGN_MASK(1, ~vmdq->mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1086
msgbuf[IXGBE_VF_RX_QUEUES] = __ALIGN_MASK(1, ~vmdq->mask);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1094
msgbuf[IXGBE_VF_TRANS_VLAN] = num_tcs;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1096
msgbuf[IXGBE_VF_TRANS_VLAN] = 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1098
msgbuf[IXGBE_VF_TRANS_VLAN] = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1101
msgbuf[IXGBE_VF_DEF_QUEUE] = default_tc;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1106
static int ixgbe_get_vf_reta(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1109
u32 *out_buf = &msgbuf[1];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1144
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1146
u32 *rss_key = &msgbuf[1];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1170
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1173
int xcast_mode = msgbuf[1];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1242
msgbuf[1] = xcast_mode;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1248
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1250
u32 *link_state = &msgbuf[1];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1280
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1296
msgbuf[1] = adapter->link_speed;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1297
msgbuf[2] = adapter->link_up;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1311
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1313
u32 features = msgbuf[1];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1323
msgbuf[1] = features;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1331
u32 msgbuf[IXGBE_VFMAILBOX_SIZE];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1335
retval = ixgbe_read_mbx(hw, msgbuf, mbx_size, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1343
if (msgbuf[0] & (IXGBE_VT_MSGTYPE_ACK | IXGBE_VT_MSGTYPE_NACK))
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1349
if (msgbuf[0] == IXGBE_VF_RESET)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1357
msgbuf[0] |= IXGBE_VT_MSGTYPE_NACK;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1358
ixgbe_write_mbx(hw, msgbuf, 1, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1362
switch ((msgbuf[0] & 0xFFFF)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1364
retval = ixgbe_set_vf_mac_addr(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1367
retval = ixgbe_set_vf_multicasts(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1370
retval = ixgbe_set_vf_vlan_msg(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1373
retval = ixgbe_set_vf_lpe(adapter, msgbuf[1], vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1376
retval = ixgbe_set_vf_macvlan_msg(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1379
retval = ixgbe_negotiate_vf_api(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1382
retval = ixgbe_get_vf_queues(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1385
retval = ixgbe_get_vf_reta(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1388
retval = ixgbe_get_vf_rss_key(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1391
retval = ixgbe_update_vf_xcast_mode(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1394
retval = ixgbe_get_vf_link_state(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1397
retval = ixgbe_ipsec_vf_add_sa(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1400
retval = ixgbe_ipsec_vf_del_sa(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1403
retval = ixgbe_send_vf_link_status(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1406
retval = ixgbe_negotiate_vf_features(adapter, msgbuf, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1409
e_err(drv, "Unhandled Msg %8.8x\n", msgbuf[0]);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1416
msgbuf[0] |= IXGBE_VT_MSGTYPE_NACK;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1418
msgbuf[0] |= IXGBE_VT_MSGTYPE_ACK;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1420
msgbuf[0] |= IXGBE_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
1422
ixgbe_write_mbx(hw, msgbuf, mbx_size, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
367
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
369
int entries = FIELD_GET(IXGBE_VT_MSGINFO_MASK, msgbuf[0]);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
370
u16 *hash_list = (u16 *)&msgbuf[1];
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
887
u32 msgbuf[4] = {0, 0, 0, 0};
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
888
u8 *addr = (u8 *)(&msgbuf[1]);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
933
msgbuf[0] = IXGBE_VF_RESET;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
935
msgbuf[0] |= IXGBE_VT_MSGTYPE_ACK;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
938
msgbuf[0] |= IXGBE_VT_MSGTYPE_NACK;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
945
msgbuf[3] = hw->mac.mc_filter_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
946
ixgbe_write_mbx(hw, msgbuf, IXGBE_VF_PERMADDR_MSG_LEN, vf);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
952
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
954
u8 *new_mac = ((u8 *)(&msgbuf[1]));
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
974
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
976
u32 add = FIELD_GET(IXGBE_VT_MSGINFO_MASK, msgbuf[0]);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
977
u32 vid = (msgbuf[1] & IXGBE_VLVF_VLANID_MASK);
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
996
u32 *msgbuf, u32 vf)
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
998
u8 *new_mac = ((u8 *)(&msgbuf[1]));
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
999
int index = FIELD_GET(IXGBE_VT_MSGINFO_MASK, msgbuf[0]);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
21
u32 msgbuf[IXGBE_VFMAILBOX_SIZE] = { 0 };
drivers/net/ethernet/intel/ixgbevf/ipsec.c
27
sam = (struct sa_mbx_msg *)(&msgbuf[1]);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
39
msgbuf[0] = IXGBE_VF_IPSEC_ADD;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
43
ret = ixgbevf_write_mbx(hw, msgbuf, IXGBE_VFMAILBOX_SIZE);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
47
ret = ixgbevf_poll_mbx(hw, msgbuf, 2);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
51
ret = (int)msgbuf[1];
drivers/net/ethernet/intel/ixgbevf/ipsec.c
52
if (msgbuf[0] & IXGBE_VT_MSGTYPE_FAILURE && ret >= 0)
drivers/net/ethernet/intel/ixgbevf/ipsec.c
71
u32 msgbuf[2];
drivers/net/ethernet/intel/ixgbevf/ipsec.c
74
memset(msgbuf, 0, sizeof(msgbuf));
drivers/net/ethernet/intel/ixgbevf/ipsec.c
75
msgbuf[0] = IXGBE_VF_IPSEC_DEL;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
76
msgbuf[1] = (u32)pfsa;
drivers/net/ethernet/intel/ixgbevf/ipsec.c
80
err = ixgbevf_write_mbx(hw, msgbuf, 2);
drivers/net/ethernet/intel/ixgbevf/ipsec.c
84
err = ixgbevf_poll_mbx(hw, msgbuf, 2);
drivers/net/ethernet/intel/ixgbevf/vf.c
105
ret_val = ixgbevf_poll_mbx(hw, msgbuf, IXGBE_VF_PERMADDR_MSG_LEN);
drivers/net/ethernet/intel/ixgbevf/vf.c
113
if (msgbuf[0] != (IXGBE_VF_RESET | IXGBE_VT_MSGTYPE_SUCCESS) &&
drivers/net/ethernet/intel/ixgbevf/vf.c
114
msgbuf[0] != (IXGBE_VF_RESET | IXGBE_VT_MSGTYPE_FAILURE))
drivers/net/ethernet/intel/ixgbevf/vf.c
117
if (msgbuf[0] == (IXGBE_VF_RESET | IXGBE_VT_MSGTYPE_SUCCESS))
drivers/net/ethernet/intel/ixgbevf/vf.c
120
hw->mac.mc_filter_type = msgbuf[IXGBE_VF_MC_TYPE_WORD];
drivers/net/ethernet/intel/ixgbevf/vf.c
252
u32 msgbuf[3], msgbuf_chk;
drivers/net/ethernet/intel/ixgbevf/vf.c
253
u8 *msg_addr = (u8 *)(&msgbuf[1]);
drivers/net/ethernet/intel/ixgbevf/vf.c
256
memset(msgbuf, 0, sizeof(msgbuf));
drivers/net/ethernet/intel/ixgbevf/vf.c
262
msgbuf[0] |= index << IXGBE_VT_MSGINFO_SHIFT;
drivers/net/ethernet/intel/ixgbevf/vf.c
263
msgbuf[0] |= IXGBE_VF_SET_MACVLAN;
drivers/net/ethernet/intel/ixgbevf/vf.c
264
msgbuf_chk = msgbuf[0];
drivers/net/ethernet/intel/ixgbevf/vf.c
269
ret_val = ixgbevf_write_msg_read_ack(hw, msgbuf, msgbuf,
drivers/net/ethernet/intel/ixgbevf/vf.c
270
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/intel/ixgbevf/vf.c
272
msgbuf[0] &= ~IXGBE_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/ixgbevf/vf.c
274
if (msgbuf[0] == (msgbuf_chk | IXGBE_VT_MSGTYPE_FAILURE))
drivers/net/ethernet/intel/ixgbevf/vf.c
300
u32 msgbuf[IXGBE_VFMAILBOX_SIZE];
drivers/net/ethernet/intel/ixgbevf/vf.c
301
u32 *hw_reta = &msgbuf[1];
drivers/net/ethernet/intel/ixgbevf/vf.c
329
msgbuf[0] = IXGBE_VF_GET_RETA;
drivers/net/ethernet/intel/ixgbevf/vf.c
331
err = ixgbevf_write_mbx(hw, msgbuf, 1);
drivers/net/ethernet/intel/ixgbevf/vf.c
336
err = ixgbevf_poll_mbx(hw, msgbuf, dwords + 1);
drivers/net/ethernet/intel/ixgbevf/vf.c
341
msgbuf[0] &= ~IXGBE_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/ixgbevf/vf.c
344
if (msgbuf[0] == (IXGBE_VF_GET_RETA | IXGBE_VT_MSGTYPE_FAILURE))
drivers/net/ethernet/intel/ixgbevf/vf.c
351
if (msgbuf[0] != (IXGBE_VF_GET_RETA | IXGBE_VT_MSGTYPE_SUCCESS))
drivers/net/ethernet/intel/ixgbevf/vf.c
378
u32 msgbuf[IXGBE_VFMAILBOX_SIZE];
drivers/net/ethernet/intel/ixgbevf/vf.c
400
msgbuf[0] = IXGBE_VF_GET_RSS_KEY;
drivers/net/ethernet/intel/ixgbevf/vf.c
401
err = ixgbevf_write_mbx(hw, msgbuf, 1);
drivers/net/ethernet/intel/ixgbevf/vf.c
406
err = ixgbevf_poll_mbx(hw, msgbuf, 11);
drivers/net/ethernet/intel/ixgbevf/vf.c
411
msgbuf[0] &= ~IXGBE_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/ixgbevf/vf.c
414
if (msgbuf[0] == (IXGBE_VF_GET_RSS_KEY | IXGBE_VT_MSGTYPE_FAILURE))
drivers/net/ethernet/intel/ixgbevf/vf.c
421
if (msgbuf[0] != (IXGBE_VF_GET_RSS_KEY | IXGBE_VT_MSGTYPE_SUCCESS))
drivers/net/ethernet/intel/ixgbevf/vf.c
424
memcpy(rss_key, msgbuf + 1, IXGBEVF_RSS_HASH_KEY_SIZE);
drivers/net/ethernet/intel/ixgbevf/vf.c
439
u32 msgbuf[3];
drivers/net/ethernet/intel/ixgbevf/vf.c
440
u8 *msg_addr = (u8 *)(&msgbuf[1]);
drivers/net/ethernet/intel/ixgbevf/vf.c
443
memset(msgbuf, 0, sizeof(msgbuf));
drivers/net/ethernet/intel/ixgbevf/vf.c
444
msgbuf[0] = IXGBE_VF_SET_MAC_ADDR;
drivers/net/ethernet/intel/ixgbevf/vf.c
447
ret_val = ixgbevf_write_msg_read_ack(hw, msgbuf, msgbuf,
drivers/net/ethernet/intel/ixgbevf/vf.c
448
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/intel/ixgbevf/vf.c
449
msgbuf[0] &= ~IXGBE_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/ixgbevf/vf.c
453
(msgbuf[0] == (IXGBE_VF_SET_MAC_ADDR | IXGBE_VT_MSGTYPE_FAILURE))) {
drivers/net/ethernet/intel/ixgbevf/vf.c
492
u32 msgbuf[IXGBE_VFMAILBOX_SIZE];
drivers/net/ethernet/intel/ixgbevf/vf.c
493
u16 *vector_list = (u16 *)&msgbuf[1];
drivers/net/ethernet/intel/ixgbevf/vf.c
508
msgbuf[0] = IXGBE_VF_SET_MULTICAST;
drivers/net/ethernet/intel/ixgbevf/vf.c
509
msgbuf[0] |= cnt << IXGBE_VT_MSGINFO_SHIFT;
drivers/net/ethernet/intel/ixgbevf/vf.c
521
return ixgbevf_write_msg_read_ack(hw, msgbuf, msgbuf,
drivers/net/ethernet/intel/ixgbevf/vf.c
547
u32 msgbuf[2];
drivers/net/ethernet/intel/ixgbevf/vf.c
566
msgbuf[0] = IXGBE_VF_UPDATE_XCAST_MODE;
drivers/net/ethernet/intel/ixgbevf/vf.c
567
msgbuf[1] = xcast_mode;
drivers/net/ethernet/intel/ixgbevf/vf.c
569
err = ixgbevf_write_msg_read_ack(hw, msgbuf, msgbuf,
drivers/net/ethernet/intel/ixgbevf/vf.c
570
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/intel/ixgbevf/vf.c
574
msgbuf[0] &= ~IXGBE_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/ixgbevf/vf.c
575
if (msgbuf[0] == (IXGBE_VF_UPDATE_XCAST_MODE | IXGBE_VT_MSGTYPE_FAILURE))
drivers/net/ethernet/intel/ixgbevf/vf.c
602
u32 msgbuf[2];
drivers/net/ethernet/intel/ixgbevf/vf.c
606
msgbuf[0] = IXGBE_VF_GET_LINK_STATE;
drivers/net/ethernet/intel/ixgbevf/vf.c
607
msgbuf[1] = 0x0;
drivers/net/ethernet/intel/ixgbevf/vf.c
609
err = ixgbevf_write_msg_read_ack(hw, msgbuf, msgbuf, 2);
drivers/net/ethernet/intel/ixgbevf/vf.c
611
if (err || (msgbuf[0] & IXGBE_VT_MSGTYPE_FAILURE)) {
drivers/net/ethernet/intel/ixgbevf/vf.c
615
*link_state = msgbuf[1];
drivers/net/ethernet/intel/ixgbevf/vf.c
647
u32 msgbuf[3] = {};
drivers/net/ethernet/intel/ixgbevf/vf.c
658
msgbuf[0] = IXGBE_VF_GET_PF_LINK_STATE;
drivers/net/ethernet/intel/ixgbevf/vf.c
660
err = ixgbevf_write_msg_read_ack(hw, msgbuf, msgbuf,
drivers/net/ethernet/intel/ixgbevf/vf.c
661
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/intel/ixgbevf/vf.c
662
if (err || (msgbuf[0] & IXGBE_VT_MSGTYPE_FAILURE)) {
drivers/net/ethernet/intel/ixgbevf/vf.c
669
*speed = msgbuf[1];
drivers/net/ethernet/intel/ixgbevf/vf.c
670
*link_up = msgbuf[2];
drivers/net/ethernet/intel/ixgbevf/vf.c
68
u32 msgbuf[IXGBE_VF_PERMADDR_MSG_LEN];
drivers/net/ethernet/intel/ixgbevf/vf.c
686
u32 msgbuf[2] = {};
drivers/net/ethernet/intel/ixgbevf/vf.c
69
u8 *addr = (u8 *)(&msgbuf[1]);
drivers/net/ethernet/intel/ixgbevf/vf.c
696
msgbuf[0] = IXGBE_VF_FEATURES_NEGOTIATE;
drivers/net/ethernet/intel/ixgbevf/vf.c
697
msgbuf[1] = IXGBEVF_SUPPORTED_FEATURES;
drivers/net/ethernet/intel/ixgbevf/vf.c
699
err = ixgbevf_write_msg_read_ack(hw, msgbuf, msgbuf,
drivers/net/ethernet/intel/ixgbevf/vf.c
700
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/intel/ixgbevf/vf.c
702
if (err || (msgbuf[0] & IXGBE_VT_MSGTYPE_FAILURE)) {
drivers/net/ethernet/intel/ixgbevf/vf.c
706
*pf_features = msgbuf[1];
drivers/net/ethernet/intel/ixgbevf/vf.c
728
u32 msgbuf[2];
drivers/net/ethernet/intel/ixgbevf/vf.c
731
msgbuf[0] = IXGBE_VF_SET_VLAN;
drivers/net/ethernet/intel/ixgbevf/vf.c
732
msgbuf[1] = vlan;
drivers/net/ethernet/intel/ixgbevf/vf.c
734
msgbuf[0] |= vlan_on << IXGBE_VT_MSGINFO_SHIFT;
drivers/net/ethernet/intel/ixgbevf/vf.c
736
err = ixgbevf_write_msg_read_ack(hw, msgbuf, msgbuf,
drivers/net/ethernet/intel/ixgbevf/vf.c
737
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/intel/ixgbevf/vf.c
742
msgbuf[0] &= ~IXGBE_VT_MSGTYPE_CTS;
drivers/net/ethernet/intel/ixgbevf/vf.c
743
msgbuf[0] &= ~(0xFF << IXGBE_VT_MSGINFO_SHIFT);
drivers/net/ethernet/intel/ixgbevf/vf.c
745
if (msgbuf[0] != (IXGBE_VF_SET_VLAN | IXGBE_VT_MSGTYPE_SUCCESS))
drivers/net/ethernet/intel/ixgbevf/vf.c
96
msgbuf[0] = IXGBE_VF_RESET;
drivers/net/ethernet/intel/ixgbevf/vf.c
97
ixgbevf_write_mbx(hw, msgbuf, 1);
drivers/net/ethernet/intel/ixgbevf/vf.c
978
u32 msgbuf[2];
drivers/net/ethernet/intel/ixgbevf/vf.c
981
msgbuf[0] = IXGBE_VF_SET_LPE;
drivers/net/ethernet/intel/ixgbevf/vf.c
982
msgbuf[1] = max_size;
drivers/net/ethernet/intel/ixgbevf/vf.c
984
ret_val = ixgbevf_write_msg_read_ack(hw, msgbuf, msgbuf,
drivers/net/ethernet/intel/ixgbevf/vf.c
985
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/intel/ixgbevf/vf.c
988
if ((msgbuf[0] & IXGBE_VF_SET_LPE) &&
drivers/net/ethernet/intel/ixgbevf/vf.c
989
(msgbuf[0] & IXGBE_VT_MSGTYPE_FAILURE))
drivers/net/ethernet/sun/sunvnet_common.c
644
static int vnet_rx(struct vnet_port *port, void *msgbuf, int *npkts,
drivers/net/ethernet/sun/sunvnet_common.c
647
struct vio_dring_data *pkt = msgbuf;
drivers/net/ethernet/sun/sunvnet_common.c
686
static int vnet_ack(struct vnet_port *port, void *msgbuf)
drivers/net/ethernet/sun/sunvnet_common.c
689
struct vio_dring_data *pkt = msgbuf;
drivers/net/ethernet/sun/sunvnet_common.c
735
static int vnet_nack(struct vnet_port *port, void *msgbuf)
drivers/net/ethernet/sun/sunvnet_common.c
741
static int handle_mcast(struct vnet_port *port, void *msgbuf)
drivers/net/ethernet/sun/sunvnet_common.c
743
struct vio_net_mcast_info *pkt = msgbuf;
drivers/net/ethernet/sun/sunvnet_common.c
840
} msgbuf;
drivers/net/ethernet/sun/sunvnet_common.c
844
(struct vio_dring_data *)&msgbuf;
drivers/net/ethernet/sun/sunvnet_common.c
856
err = ldc_read(vio->lp, &msgbuf, sizeof(msgbuf));
drivers/net/ethernet/sun/sunvnet_common.c
865
msgbuf.tag.type,
drivers/net/ethernet/sun/sunvnet_common.c
866
msgbuf.tag.stype,
drivers/net/ethernet/sun/sunvnet_common.c
867
msgbuf.tag.stype_env,
drivers/net/ethernet/sun/sunvnet_common.c
868
msgbuf.tag.sid);
drivers/net/ethernet/sun/sunvnet_common.c
869
err = vio_validate_sid(vio, &msgbuf.tag);
drivers/net/ethernet/sun/sunvnet_common.c
874
if (likely(msgbuf.tag.type == VIO_TYPE_DATA)) {
drivers/net/ethernet/sun/sunvnet_common.c
875
if (msgbuf.tag.stype == VIO_SUBTYPE_INFO) {
drivers/net/ethernet/sun/sunvnet_common.c
884
err = vnet_rx(port, &msgbuf, &npkts, budget);
drivers/net/ethernet/sun/sunvnet_common.c
889
} else if (msgbuf.tag.stype == VIO_SUBTYPE_ACK) {
drivers/net/ethernet/sun/sunvnet_common.c
890
err = vnet_ack(port, &msgbuf);
drivers/net/ethernet/sun/sunvnet_common.c
893
} else if (msgbuf.tag.stype == VIO_SUBTYPE_NACK) {
drivers/net/ethernet/sun/sunvnet_common.c
894
err = vnet_nack(port, &msgbuf);
drivers/net/ethernet/sun/sunvnet_common.c
896
} else if (msgbuf.tag.type == VIO_TYPE_CTRL) {
drivers/net/ethernet/sun/sunvnet_common.c
897
if (msgbuf.tag.stype_env == VNET_MCAST_INFO)
drivers/net/ethernet/sun/sunvnet_common.c
898
err = handle_mcast(port, &msgbuf);
drivers/net/ethernet/sun/sunvnet_common.c
900
err = vio_control_pkt_engine(vio, &msgbuf);
drivers/net/ethernet/sun/sunvnet_common.c
904
err = vnet_handle_unknown(port, &msgbuf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
339
static int wx_get_vf_queues(struct wx *wx, u32 *msgbuf, u32 vf)
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
344
msgbuf[WX_VF_TX_QUEUES] = __ALIGN_MASK(1, ~vmdq->mask);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
345
msgbuf[WX_VF_RX_QUEUES] = __ALIGN_MASK(1, ~vmdq->mask);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
348
msgbuf[WX_VF_TRANS_VLAN] = 1;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
350
msgbuf[WX_VF_TRANS_VLAN] = 0;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
353
msgbuf[WX_VF_DEF_QUEUE] = default_tc;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
396
u32 msgbuf[5] = {0, 0, 0, 0, 0};
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
397
u8 *addr = (u8 *)(&msgbuf[1]);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
427
msgbuf[0] = WX_VF_RESET;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
429
msgbuf[0] |= WX_VT_MSGTYPE_ACK;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
432
msgbuf[0] |= WX_VT_MSGTYPE_NACK;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
436
msgbuf[3] = wx->mac.mc_filter_type;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
437
wx_write_mbx_pf(wx, msgbuf, WX_VF_PERMADDR_MSG_LEN, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
440
static int wx_set_vf_mac_addr(struct wx *wx, u32 *msgbuf, u16 vf)
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
442
const u8 *new_mac = ((u8 *)(&msgbuf[1]));
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
465
static void wx_set_vf_multicasts(struct wx *wx, u32 *msgbuf, u32 vf)
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
468
u16 entries = (msgbuf[0] & WX_VT_MSGINFO_MASK)
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
472
u16 *hash_list = (u16 *)&msgbuf[1];
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
581
static int wx_set_vf_vlan_msg(struct wx *wx, u32 *msgbuf, u16 vf)
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
583
int add = (msgbuf[0] & WX_VT_MSGINFO_MASK) >> WX_VT_MSGINFO_SHIFT;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
584
int vid = (msgbuf[1] & WX_PSR_VLAN_SWC_VLANID_MASK);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
639
static int wx_set_vf_macvlan_msg(struct wx *wx, u32 *msgbuf, u16 vf)
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
641
int index = (msgbuf[0] & WX_VT_MSGINFO_MASK) >>
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
643
u8 *new_mac = ((u8 *)(&msgbuf[1]));
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
675
static int wx_negotiate_vf_api(struct wx *wx, u32 *msgbuf, u32 vf)
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
677
int api = msgbuf[1];
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
689
static int wx_get_vf_link_state(struct wx *wx, u32 *msgbuf, u32 vf)
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
691
msgbuf[1] = wx->vfinfo[vf].link_enable;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
696
static int wx_get_fw_version(struct wx *wx, u32 *msgbuf, u32 vf)
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
704
msgbuf[1] = fw_version;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
709
static int wx_update_vf_xcast_mode(struct wx *wx, u32 *msgbuf, u32 vf)
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
711
int xcast_mode = msgbuf[1];
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
750
msgbuf[1] = xcast_mode;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
758
u32 msgbuf[WX_VXMAILBOX_SIZE];
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
761
retval = wx_read_mbx_pf(wx, msgbuf, mbx_size, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
768
if (msgbuf[0] & (WX_VT_MSGTYPE_ACK | WX_VT_MSGTYPE_NACK))
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
771
if (msgbuf[0] == WX_VF_RESET) {
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
780
msgbuf[0] |= WX_VT_MSGTYPE_NACK;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
781
wx_write_mbx_pf(wx, msgbuf, 1, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
785
switch ((msgbuf[0] & U16_MAX)) {
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
787
retval = wx_set_vf_mac_addr(wx, msgbuf, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
790
wx_set_vf_multicasts(wx, msgbuf, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
794
retval = wx_set_vf_vlan_msg(wx, msgbuf, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
797
wx_set_vf_lpe(wx, msgbuf[1], vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
801
retval = wx_set_vf_macvlan_msg(wx, msgbuf, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
804
retval = wx_negotiate_vf_api(wx, msgbuf, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
807
retval = wx_get_vf_queues(wx, msgbuf, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
810
retval = wx_get_vf_link_state(wx, msgbuf, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
813
retval = wx_get_fw_version(wx, msgbuf, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
816
retval = wx_update_vf_xcast_mode(wx, msgbuf, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
821
wx_err(wx, "Unhandled Msg %8.8x\n", msgbuf[0]);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
827
msgbuf[0] |= WX_VT_MSGTYPE_NACK;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
829
msgbuf[0] |= WX_VT_MSGTYPE_ACK;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
831
msgbuf[0] |= WX_VT_MSGTYPE_CTS;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
833
wx_write_mbx_pf(wx, msgbuf, mbx_size, vf);
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
878
u32 msgbuf[2] = {0, 0};
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
883
msgbuf[0] = WX_PF_NOFITY_VF_LINK_STATUS | WX_PF_CONTROL_MSG;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
885
msgbuf[1] = FIELD_PREP(GENMASK(31, 1), wx->speed) | link_up;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
887
msgbuf[1] |= WX_PF_NOFITY_VF_NET_NOT_RUNNING;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
890
msgbuf[0] |= WX_VT_MSGTYPE_CTS;
drivers/net/ethernet/wangxun/libwx/wx_sriov.c
891
wx_write_mbx_pf(wx, msgbuf, 2, i);
drivers/net/ethernet/wangxun/libwx/wx_vf.c
112
ret = wx_mbx_write_and_read_reply(wx, msgbuf, msgbuf,
drivers/net/ethernet/wangxun/libwx/wx_vf.c
113
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/wangxun/libwx/wx_vf.c
117
if (msgbuf[0] != (WX_VF_RESET | WX_VT_MSGTYPE_ACK) &&
drivers/net/ethernet/wangxun/libwx/wx_vf.c
118
msgbuf[0] != (WX_VF_RESET | WX_VT_MSGTYPE_NACK))
drivers/net/ethernet/wangxun/libwx/wx_vf.c
121
if (msgbuf[0] == (WX_VF_RESET | WX_VT_MSGTYPE_ACK))
drivers/net/ethernet/wangxun/libwx/wx_vf.c
124
wx->mac.mc_filter_type = msgbuf[3];
drivers/net/ethernet/wangxun/libwx/wx_vf.c
176
u32 msgbuf[3] = {WX_VF_SET_MAC_ADDR};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
177
u8 *msg_addr = (u8 *)(&msgbuf[1]);
drivers/net/ethernet/wangxun/libwx/wx_vf.c
182
ret = wx_mbx_write_and_read_reply(wx, msgbuf, msgbuf,
drivers/net/ethernet/wangxun/libwx/wx_vf.c
183
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/wangxun/libwx/wx_vf.c
186
msgbuf[0] &= ~WX_VT_MSGTYPE_CTS;
drivers/net/ethernet/wangxun/libwx/wx_vf.c
189
if (msgbuf[0] == (WX_VF_SET_MAC_ADDR | WX_VT_MSGTYPE_NACK)) {
drivers/net/ethernet/wangxun/libwx/wx_vf.c
209
u32 msgbuf[WX_VXMAILBOX_SIZE] = {WX_VF_SET_MULTICAST};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
210
u16 *vector_l = (u16 *)&msgbuf[1];
drivers/net/ethernet/wangxun/libwx/wx_vf.c
217
msgbuf[0] |= cnt << WX_VT_MSGINFO_SHIFT;
drivers/net/ethernet/wangxun/libwx/wx_vf.c
229
return wx_write_posted_mbx(wx, msgbuf, ARRAY_SIZE(msgbuf));
drivers/net/ethernet/wangxun/libwx/wx_vf.c
244
u32 msgbuf[2] = {WX_VF_UPDATE_XCAST_MODE, xcast_mode};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
250
ret = wx_mbx_write_and_read_reply(wx, msgbuf, msgbuf,
drivers/net/ethernet/wangxun/libwx/wx_vf.c
251
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/wangxun/libwx/wx_vf.c
255
msgbuf[0] &= ~WX_VT_MSGTYPE_CTS;
drivers/net/ethernet/wangxun/libwx/wx_vf.c
256
if (msgbuf[0] == (WX_VF_UPDATE_XCAST_MODE | WX_VT_MSGTYPE_NACK))
drivers/net/ethernet/wangxun/libwx/wx_vf.c
272
u32 msgbuf[2] = {WX_VF_GET_LINK_STATE};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
275
ret = wx_mbx_write_and_read_reply(wx, msgbuf, msgbuf,
drivers/net/ethernet/wangxun/libwx/wx_vf.c
276
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/wangxun/libwx/wx_vf.c
280
if (msgbuf[0] & WX_VT_MSGTYPE_NACK)
drivers/net/ethernet/wangxun/libwx/wx_vf.c
283
*link_state = msgbuf[1];
drivers/net/ethernet/wangxun/libwx/wx_vf.c
304
u32 msgbuf[2] = {WX_VF_SET_VLAN, vlan};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
309
msgbuf[0] |= vlan_on << WX_VT_MSGINFO_SHIFT;
drivers/net/ethernet/wangxun/libwx/wx_vf.c
311
msgbuf[0] |= BIT(vlan_offload);
drivers/net/ethernet/wangxun/libwx/wx_vf.c
313
ret = wx_mbx_write_and_read_reply(wx, msgbuf, msgbuf,
drivers/net/ethernet/wangxun/libwx/wx_vf.c
314
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/wangxun/libwx/wx_vf.c
318
if (msgbuf[0] & WX_VT_MSGTYPE_ACK)
drivers/net/ethernet/wangxun/libwx/wx_vf.c
321
return msgbuf[0] & WX_VT_MSGTYPE_NACK;
drivers/net/ethernet/wangxun/libwx/wx_vf.c
333
u32 msgbuf[2] = {WX_VF_GET_FW_VERSION};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
336
ret = wx_mbx_write_and_read_reply(wx, msgbuf, msgbuf,
drivers/net/ethernet/wangxun/libwx/wx_vf.c
337
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/wangxun/libwx/wx_vf.c
341
if (msgbuf[0] & WX_VT_MSGTYPE_NACK)
drivers/net/ethernet/wangxun/libwx/wx_vf.c
343
snprintf(wx->eeprom_id, 32, "0x%08x", msgbuf[1]);
drivers/net/ethernet/wangxun/libwx/wx_vf.c
351
u32 msgbuf[3] = {WX_VF_SET_MACVLAN};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
352
u8 *msg_addr = (u8 *)(&msgbuf[1]);
drivers/net/ethernet/wangxun/libwx/wx_vf.c
360
msgbuf[0] |= index << WX_VT_MSGINFO_SHIFT;
drivers/net/ethernet/wangxun/libwx/wx_vf.c
363
ret = wx_mbx_write_and_read_reply(wx, msgbuf, msgbuf,
drivers/net/ethernet/wangxun/libwx/wx_vf.c
364
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/wangxun/libwx/wx_vf.c
368
msgbuf[0] &= ~WX_VT_MSGTYPE_CTS;
drivers/net/ethernet/wangxun/libwx/wx_vf.c
370
if (msgbuf[0] == (WX_VF_SET_MACVLAN | WX_VT_MSGTYPE_NACK))
drivers/net/ethernet/wangxun/libwx/wx_vf.c
386
u32 msgbuf[2] = {WX_VF_SET_LPE, max_size};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
389
ret = wx_mbx_write_and_read_reply(wx, msgbuf, msgbuf,
drivers/net/ethernet/wangxun/libwx/wx_vf.c
390
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/wangxun/libwx/wx_vf.c
393
if ((msgbuf[0] & WX_VF_SET_LPE) &&
drivers/net/ethernet/wangxun/libwx/wx_vf.c
394
(msgbuf[0] & WX_VT_MSGTYPE_NACK))
drivers/net/ethernet/wangxun/libwx/wx_vf.c
410
u32 msgbuf[2] = {WX_VF_API_NEGOTIATE, api};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
413
ret = wx_mbx_write_and_read_reply(wx, msgbuf, msgbuf,
drivers/net/ethernet/wangxun/libwx/wx_vf.c
414
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/wangxun/libwx/wx_vf.c
418
msgbuf[0] &= ~WX_VT_MSGTYPE_CTS;
drivers/net/ethernet/wangxun/libwx/wx_vf.c
421
if (msgbuf[0] == (WX_VF_API_NEGOTIATE | WX_VT_MSGTYPE_NACK))
drivers/net/ethernet/wangxun/libwx/wx_vf.c
431
u32 msgbuf[5] = {WX_VF_GET_QUEUES};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
439
ret = wx_mbx_write_and_read_reply(wx, msgbuf, msgbuf,
drivers/net/ethernet/wangxun/libwx/wx_vf.c
440
ARRAY_SIZE(msgbuf));
drivers/net/ethernet/wangxun/libwx/wx_vf.c
443
msgbuf[0] &= ~WX_VT_MSGTYPE_CTS;
drivers/net/ethernet/wangxun/libwx/wx_vf.c
449
if (msgbuf[0] != (WX_VF_GET_QUEUES | WX_VT_MSGTYPE_ACK))
drivers/net/ethernet/wangxun/libwx/wx_vf.c
452
wx->mac.max_tx_queues = msgbuf[WX_VF_TX_QUEUES];
drivers/net/ethernet/wangxun/libwx/wx_vf.c
457
wx->mac.max_rx_queues = msgbuf[WX_VF_RX_QUEUES];
drivers/net/ethernet/wangxun/libwx/wx_vf.c
462
*num_tcs = msgbuf[WX_VF_TRANS_VLAN];
drivers/net/ethernet/wangxun/libwx/wx_vf.c
466
*default_tc = msgbuf[WX_VF_DEF_QUEUE];
drivers/net/ethernet/wangxun/libwx/wx_vf.c
475
static int wx_get_link_status_from_pf(struct wx *wx, u32 *msgbuf)
drivers/net/ethernet/wangxun/libwx/wx_vf.c
477
u32 links_reg = msgbuf[1];
drivers/net/ethernet/wangxun/libwx/wx_vf.c
479
if (msgbuf[1] & WX_PF_NOFITY_VF_NET_NOT_RUNNING)
drivers/net/ethernet/wangxun/libwx/wx_vf.c
496
static int wx_pf_ping_vf(struct wx *wx, u32 *msgbuf)
drivers/net/ethernet/wangxun/libwx/wx_vf.c
498
if (!(msgbuf[0] & WX_VT_MSGTYPE_CTS))
drivers/net/ethernet/wangxun/libwx/wx_vf.c
552
u32 msgbuf[2] = {0};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
560
ret = wx_read_mbx_vf(wx, msgbuf, 2);
drivers/net/ethernet/wangxun/libwx/wx_vf.c
564
switch (msgbuf[0] & GENMASK(8, 0)) {
drivers/net/ethernet/wangxun/libwx/wx_vf.c
566
ret = wx_get_link_status_from_pf(wx, msgbuf);
drivers/net/ethernet/wangxun/libwx/wx_vf.c
569
ret = wx_pf_ping_vf(wx, msgbuf);
drivers/net/ethernet/wangxun/libwx/wx_vf.c
572
if (msgbuf[0] & WX_VT_MSGTYPE_NACK) {
drivers/net/ethernet/wangxun/libwx/wx_vf.c
584
if (!(msgbuf[0] & WX_VT_MSGTYPE_CTS)) {
drivers/net/ethernet/wangxun/libwx/wx_vf.c
586
if (msgbuf[0] & WX_VT_MSGTYPE_NACK)
drivers/net/ethernet/wangxun/libwx/wx_vf.c
65
u32 msgbuf[4] = {WX_VF_RESET};
drivers/net/ethernet/wangxun/libwx/wx_vf.c
66
u8 *addr = (u8 *)(&msgbuf[1]);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h
187
struct brcmf_bus_msgbuf *msgbuf;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1000
brcmf_msgbuf_update_rxbufpost_count(struct brcmf_msgbuf *msgbuf, u16 rxcnt)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1002
msgbuf->rxbufpost -= rxcnt;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1003
if (msgbuf->rxbufpost <= (msgbuf->max_rxbufpost -
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1005
brcmf_msgbuf_rxbuf_data_fill(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1010
brcmf_msgbuf_rxbuf_ctrl_post(struct brcmf_msgbuf *msgbuf, bool event_buf,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1013
struct brcmf_pub *drvr = msgbuf->drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1025
commonring = msgbuf->commonrings[BRCMF_H2D_MSGRING_CONTROL_SUBMIT];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1049
if (brcmf_msgbuf_alloc_pktid(msgbuf->drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1050
msgbuf->rx_pktids, skb, 0,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1083
static void brcmf_msgbuf_rxbuf_ioctlresp_post(struct brcmf_msgbuf *msgbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1087
count = msgbuf->max_ioctlrespbuf - msgbuf->cur_ioctlrespbuf;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1088
count = brcmf_msgbuf_rxbuf_ctrl_post(msgbuf, false, count);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1089
msgbuf->cur_ioctlrespbuf += count;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1093
static void brcmf_msgbuf_rxbuf_event_post(struct brcmf_msgbuf *msgbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1097
count = msgbuf->max_eventbuf - msgbuf->cur_eventbuf;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1098
count = brcmf_msgbuf_rxbuf_ctrl_post(msgbuf, true, count);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1099
msgbuf->cur_eventbuf += count;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1103
static void brcmf_msgbuf_process_event(struct brcmf_msgbuf *msgbuf, void *buf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1105
struct brcmf_pub *drvr = msgbuf->drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1116
if (msgbuf->cur_eventbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1117
msgbuf->cur_eventbuf--;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1118
brcmf_msgbuf_rxbuf_event_post(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1120
skb = brcmf_msgbuf_get_pktid(msgbuf->drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1121
msgbuf->rx_pktids, idx);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1125
if (msgbuf->rx_dataoffset)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1126
skb_pull(skb, msgbuf->rx_dataoffset);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1130
ifp = brcmf_get_ifp(msgbuf->drvr, event->msg.ifidx);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1147
brcmf_msgbuf_process_rx_complete(struct brcmf_msgbuf *msgbuf, void *buf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1149
struct brcmf_pub *drvr = msgbuf->drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1158
brcmf_msgbuf_update_rxbufpost_count(msgbuf, 1);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1166
skb = brcmf_msgbuf_get_pktid(msgbuf->drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1167
msgbuf->rx_pktids, idx);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1173
else if (msgbuf->rx_dataoffset)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1174
skb_pull(skb, msgbuf->rx_dataoffset);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1180
ifp = msgbuf->drvr->mon_if;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1192
ifp = brcmf_get_ifp(msgbuf->drvr, rx_complete->msg.ifidx);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1204
static void brcmf_msgbuf_process_gen_status(struct brcmf_msgbuf *msgbuf,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1208
struct brcmf_pub *drvr = msgbuf->drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1216
static void brcmf_msgbuf_process_ring_status(struct brcmf_msgbuf *msgbuf,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1220
struct brcmf_pub *drvr = msgbuf->drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1233
brcmf_msgbuf_process_flow_ring_create_response(struct brcmf_msgbuf *msgbuf,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1236
struct brcmf_pub *drvr = msgbuf->drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1249
brcmf_msgbuf_remove_flowring(msgbuf, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1255
brcmf_flowring_open(msgbuf->flow, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1257
brcmf_msgbuf_schedule_txdata(msgbuf, flowid, true);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1262
brcmf_msgbuf_process_flow_ring_delete_response(struct brcmf_msgbuf *msgbuf,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1265
struct brcmf_pub *drvr = msgbuf->drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1278
brcmf_flowring_delete(msgbuf->flow, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1284
brcmf_msgbuf_remove_flowring(msgbuf, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1288
static void brcmf_msgbuf_process_msgtype(struct brcmf_msgbuf *msgbuf, void *buf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1290
struct brcmf_pub *drvr = msgbuf->drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1297
brcmf_msgbuf_process_gen_status(msgbuf, buf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1301
brcmf_msgbuf_process_ring_status(msgbuf, buf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1305
brcmf_msgbuf_process_flow_ring_create_response(msgbuf, buf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1309
brcmf_msgbuf_process_flow_ring_delete_response(msgbuf, buf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1316
brcmf_msgbuf_process_ioctl_complete(msgbuf, buf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1320
brcmf_msgbuf_process_event(msgbuf, buf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1324
brcmf_msgbuf_process_txstatus(msgbuf, buf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1328
brcmf_msgbuf_process_rx_complete(msgbuf, buf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1337
static void brcmf_msgbuf_process_rx(struct brcmf_msgbuf *msgbuf,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1351
brcmf_msgbuf_process_msgtype(msgbuf,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1352
buf + msgbuf->rx_dataoffset);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1373
struct brcmf_msgbuf *msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1379
buf = msgbuf->commonrings[BRCMF_D2H_MSGRING_RX_COMPLETE];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1380
brcmf_msgbuf_process_rx(msgbuf, buf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1381
buf = msgbuf->commonrings[BRCMF_D2H_MSGRING_TX_COMPLETE];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1382
brcmf_msgbuf_process_rx(msgbuf, buf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1383
buf = msgbuf->commonrings[BRCMF_D2H_MSGRING_CONTROL_COMPLETE];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1384
brcmf_msgbuf_process_rx(msgbuf, buf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1386
for_each_set_bit(flowid, msgbuf->txstatus_done_map,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1387
msgbuf->max_flowrings) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1388
clear_bit(flowid, msgbuf->txstatus_done_map);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1389
commonring = msgbuf->flowrings[flowid];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1390
qlen = brcmf_flowring_qlen(msgbuf->flow, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1394
brcmf_msgbuf_schedule_txdata(msgbuf, flowid, true);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1403
struct brcmf_msgbuf *msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1406
struct brcmf_commonring *commonring_del = msgbuf->flowrings[flowid];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1407
struct brcmf_flowring *flow = msgbuf->flow;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1431
brcmf_msgbuf_remove_flowring(msgbuf, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1435
commonring = msgbuf->commonrings[BRCMF_H2D_MSGRING_CONTROL_SUBMIT];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1441
brcmf_msgbuf_remove_flowring(msgbuf, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1447
ifidx = brcmf_flowring_ifidx_get(msgbuf->flow, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1464
brcmf_msgbuf_remove_flowring(msgbuf, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1473
struct brcmf_msgbuf *msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1479
commonring = msgbuf->commonrings[BRCMF_H2D_MSGRING_CONTROL_SUBMIT];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1482
commonring = msgbuf->commonrings[BRCMF_H2D_MSGRING_RXPOST_SUBMIT];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1485
commonring = msgbuf->commonrings[BRCMF_D2H_MSGRING_CONTROL_COMPLETE];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1488
commonring = msgbuf->commonrings[BRCMF_D2H_MSGRING_TX_COMPLETE];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1491
commonring = msgbuf->commonrings[BRCMF_D2H_MSGRING_RX_COMPLETE];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1498
for (i = 0; i < msgbuf->flow->nrofrings; i++) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1499
if (!msgbuf->flow->rings[i])
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1501
ring = msgbuf->flow->rings[i];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1504
commonring = msgbuf->flowrings[i];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1505
hash = &msgbuf->flow->hash[ring->hash_id];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1530
struct brcmf_msgbuf *msgbuf;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1534
if_msgbuf = drvr->bus_if->msgbuf;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1542
msgbuf = kzalloc_obj(*msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1543
if (!msgbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1546
msgbuf->txflow_wq = create_singlethread_workqueue("msgbuf_txflow");
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1547
if (msgbuf->txflow_wq == NULL) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1551
INIT_WORK(&msgbuf->txflow_work, brcmf_msgbuf_txflow_worker);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1554
msgbuf->flow_map = kzalloc(count, GFP_KERNEL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1555
if (!msgbuf->flow_map)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1558
msgbuf->txstatus_done_map = kzalloc(count, GFP_KERNEL);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1559
if (!msgbuf->txstatus_done_map)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1562
msgbuf->drvr = drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1563
msgbuf->ioctbuf = dma_alloc_coherent(drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1565
&msgbuf->ioctbuf_handle,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1567
if (!msgbuf->ioctbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1569
address = (u64)msgbuf->ioctbuf_handle;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1570
msgbuf->ioctbuf_phys_hi = address >> 32;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1571
msgbuf->ioctbuf_phys_lo = address & 0xffffffff;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1582
drvr->proto->pd = msgbuf;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1584
init_waitqueue_head(&msgbuf->ioctl_resp_wait);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1586
msgbuf->commonrings =
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1588
msgbuf->flowrings = (struct brcmf_commonring **)if_msgbuf->flowrings;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1589
msgbuf->max_flowrings = if_msgbuf->max_flowrings;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1590
msgbuf->flowring_dma_handle =
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1591
kzalloc_objs(*msgbuf->flowring_dma_handle,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1592
msgbuf->max_flowrings);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1593
if (!msgbuf->flowring_dma_handle)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1596
msgbuf->rx_dataoffset = if_msgbuf->rx_dataoffset;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1597
msgbuf->max_rxbufpost = if_msgbuf->max_rxbufpost;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1599
msgbuf->max_ioctlrespbuf = BRCMF_MSGBUF_MAX_IOCTLRESPBUF_POST;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1600
msgbuf->max_eventbuf = BRCMF_MSGBUF_MAX_EVENTBUF_POST;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1602
msgbuf->tx_pktids = brcmf_msgbuf_init_pktids(NR_TX_PKTIDS,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1604
if (!msgbuf->tx_pktids)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1606
msgbuf->rx_pktids = brcmf_msgbuf_init_pktids(NR_RX_PKTIDS,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1608
if (!msgbuf->rx_pktids)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1611
msgbuf->flow = brcmf_flowring_attach(drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1613
if (!msgbuf->flow)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1618
msgbuf->max_rxbufpost, msgbuf->max_eventbuf,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1619
msgbuf->max_ioctlrespbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1622
brcmf_msgbuf_rxbuf_data_fill(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1623
if (msgbuf->max_rxbufpost != msgbuf->rxbufpost)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1629
brcmf_msgbuf_rxbuf_event_post(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1630
brcmf_msgbuf_rxbuf_ioctlresp_post(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1632
INIT_WORK(&msgbuf->flowring_work, brcmf_msgbuf_flowring_worker);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1633
spin_lock_init(&msgbuf->flowring_work_lock);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1634
INIT_LIST_HEAD(&msgbuf->work_queue);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1639
if (msgbuf) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1640
kfree(msgbuf->flow_map);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1641
kfree(msgbuf->txstatus_done_map);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1642
brcmf_msgbuf_release_pktids(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1643
kfree(msgbuf->flowring_dma_handle);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1644
if (msgbuf->ioctbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1647
msgbuf->ioctbuf,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1648
msgbuf->ioctbuf_handle);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1649
if (msgbuf->txflow_wq)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1650
destroy_workqueue(msgbuf->txflow_wq);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1651
kfree(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1659
struct brcmf_msgbuf *msgbuf;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1664
msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1665
cancel_work_sync(&msgbuf->flowring_work);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1666
while (!list_empty(&msgbuf->work_queue)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1667
work = list_first_entry(&msgbuf->work_queue,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1673
kfree(msgbuf->flow_map);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1674
kfree(msgbuf->txstatus_done_map);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1675
if (msgbuf->txflow_wq)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1676
destroy_workqueue(msgbuf->txflow_wq);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1678
brcmf_flowring_detach(msgbuf->flow);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1681
msgbuf->ioctbuf, msgbuf->ioctbuf_handle);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1682
brcmf_msgbuf_release_pktids(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1683
kfree(msgbuf->flowring_dma_handle);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
1684
kfree(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
292
static void brcmf_msgbuf_rxbuf_ioctlresp_post(struct brcmf_msgbuf *msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
420
static void brcmf_msgbuf_release_pktids(struct brcmf_msgbuf *msgbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
422
if (msgbuf->rx_pktids)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
423
brcmf_msgbuf_release_array(msgbuf->drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
424
msgbuf->rx_pktids);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
425
if (msgbuf->tx_pktids)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
426
brcmf_msgbuf_release_array(msgbuf->drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
427
msgbuf->tx_pktids);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
434
struct brcmf_msgbuf *msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
441
commonring = msgbuf->commonrings[BRCMF_H2D_MSGRING_CONTROL_SUBMIT];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
450
msgbuf->reqid++;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
459
request->trans_id = cpu_to_le16(msgbuf->reqid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
463
request->req_buf_addr.high_addr = cpu_to_le32(msgbuf->ioctbuf_phys_hi);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
464
request->req_buf_addr.low_addr = cpu_to_le32(msgbuf->ioctbuf_phys_lo);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
466
memcpy(msgbuf->ioctbuf, buf, buf_len);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
468
memset(msgbuf->ioctbuf, 0, buf_len);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
477
static int brcmf_msgbuf_ioctl_resp_wait(struct brcmf_msgbuf *msgbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
479
return wait_event_timeout(msgbuf->ioctl_resp_wait,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
480
msgbuf->ctl_completed,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
485
static void brcmf_msgbuf_ioctl_resp_wake(struct brcmf_msgbuf *msgbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
487
msgbuf->ctl_completed = true;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
488
wake_up(&msgbuf->ioctl_resp_wait);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
495
struct brcmf_msgbuf *msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
502
msgbuf->ctl_completed = false;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
507
timeout = brcmf_msgbuf_ioctl_resp_wait(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
513
skb = brcmf_msgbuf_get_pktid(msgbuf->drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
514
msgbuf->rx_pktids,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
515
msgbuf->ioctl_resp_pktid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
516
if (msgbuf->ioctl_resp_ret_len != 0) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
520
memcpy(buf, skb->data, (len < msgbuf->ioctl_resp_ret_len) ?
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
521
len : msgbuf->ioctl_resp_ret_len);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
525
*fwerr = msgbuf->ioctl_resp_status;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
548
brcmf_msgbuf_remove_flowring(struct brcmf_msgbuf *msgbuf, u16 flowid)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
556
dma_buf = msgbuf->flowrings[flowid]->buf_addr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
557
dma_free_coherent(msgbuf->drvr->bus_if->dev, dma_sz, dma_buf,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
558
msgbuf->flowring_dma_handle[flowid]);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
560
brcmf_flowring_delete(msgbuf->flow, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
565
brcmf_msgbuf_dequeue_work(struct brcmf_msgbuf *msgbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
570
spin_lock_irqsave(&msgbuf->flowring_work_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
571
if (!list_empty(&msgbuf->work_queue)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
572
work = list_first_entry(&msgbuf->work_queue,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
576
spin_unlock_irqrestore(&msgbuf->flowring_work_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
583
brcmf_msgbuf_flowring_create_worker(struct brcmf_msgbuf *msgbuf,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
586
struct brcmf_pub *drvr = msgbuf->drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
598
dma_buf = dma_alloc_coherent(msgbuf->drvr->bus_if->dev, dma_sz,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
599
&msgbuf->flowring_dma_handle[flowid],
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
603
brcmf_flowring_delete(msgbuf->flow, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
607
brcmf_commonring_config(msgbuf->flowrings[flowid],
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
611
commonring = msgbuf->commonrings[BRCMF_H2D_MSGRING_CONTROL_SUBMIT];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
617
brcmf_msgbuf_remove_flowring(msgbuf, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
625
create->tid = brcmf_flowring_tid(msgbuf->flow, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
630
address = (u64)msgbuf->flowring_dma_handle[flowid];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
643
brcmf_msgbuf_remove_flowring(msgbuf, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
653
struct brcmf_msgbuf *msgbuf;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
656
msgbuf = container_of(work, struct brcmf_msgbuf, flowring_work);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
658
while ((create = brcmf_msgbuf_dequeue_work(msgbuf))) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
659
brcmf_msgbuf_flowring_create_worker(msgbuf, create);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
665
static u32 brcmf_msgbuf_flowring_create(struct brcmf_msgbuf *msgbuf, int ifidx,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
677
flowid = brcmf_flowring_create(msgbuf->flow, eh->h_dest,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
689
spin_lock_irqsave(&msgbuf->flowring_work_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
690
list_add_tail(&create->queue, &msgbuf->work_queue);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
691
spin_unlock_irqrestore(&msgbuf->flowring_work_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
692
schedule_work(&msgbuf->flowring_work);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
698
static void brcmf_msgbuf_txflow(struct brcmf_msgbuf *msgbuf, u16 flowid)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
700
struct brcmf_flowring *flow = msgbuf->flow;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
701
struct brcmf_pub *drvr = msgbuf->drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
711
commonring = msgbuf->flowrings[flowid];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
726
if (brcmf_msgbuf_alloc_pktid(msgbuf->drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
727
msgbuf->tx_pktids, skb, ETH_HLEN,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
735
brcmf_msgbuf_get_pktid(msgbuf->drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
736
msgbuf->tx_pktids, pktid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
774
struct brcmf_msgbuf *msgbuf;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
777
msgbuf = container_of(worker, struct brcmf_msgbuf, txflow_work);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
778
for_each_set_bit(flowid, msgbuf->flow_map, msgbuf->max_flowrings) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
779
clear_bit(flowid, msgbuf->flow_map);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
780
brcmf_msgbuf_txflow(msgbuf, flowid);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
785
static int brcmf_msgbuf_schedule_txdata(struct brcmf_msgbuf *msgbuf, u32 flowid,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
790
set_bit(flowid, msgbuf->flow_map);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
791
commonring = msgbuf->flowrings[flowid];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
794
queue_work(msgbuf->txflow_wq, &msgbuf->txflow_work);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
803
struct brcmf_msgbuf *msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
804
struct brcmf_flowring *flow = msgbuf->flow;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
812
flowid = brcmf_msgbuf_flowring_create(msgbuf, ifidx, skb);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
822
brcmf_msgbuf_schedule_txdata(msgbuf, flowid, force);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
832
struct brcmf_msgbuf *msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
834
brcmf_flowring_configure_addr_mode(msgbuf->flow, ifidx, addr_mode);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
841
struct brcmf_msgbuf *msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
843
brcmf_flowring_delete_peer(msgbuf->flow, ifidx, peer);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
850
struct brcmf_msgbuf *msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
852
brcmf_flowring_add_tdls_peer(msgbuf->flow, ifidx, peer);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
857
brcmf_msgbuf_process_ioctl_complete(struct brcmf_msgbuf *msgbuf, void *buf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
863
msgbuf->ioctl_resp_status =
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
865
msgbuf->ioctl_resp_ret_len = le16_to_cpu(ioctl_resp->resp_len);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
866
msgbuf->ioctl_resp_pktid = le32_to_cpu(ioctl_resp->msg.request_id);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
868
brcmf_msgbuf_ioctl_resp_wake(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
870
if (msgbuf->cur_ioctlrespbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
871
msgbuf->cur_ioctlrespbuf--;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
872
brcmf_msgbuf_rxbuf_ioctlresp_post(msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
877
brcmf_msgbuf_process_txstatus(struct brcmf_msgbuf *msgbuf, void *buf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
889
skb = brcmf_msgbuf_get_pktid(msgbuf->drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
890
msgbuf->tx_pktids, idx);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
894
set_bit(flowid, msgbuf->txstatus_done_map);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
895
commonring = msgbuf->flowrings[flowid];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
898
brcmf_txfinalize(brcmf_get_ifp(msgbuf->drvr, tx_status->msg.ifidx),
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
903
static u32 brcmf_msgbuf_rxbuf_data_post(struct brcmf_msgbuf *msgbuf, u32 count)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
905
struct brcmf_pub *drvr = msgbuf->drvr;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
917
commonring = msgbuf->commonrings[BRCMF_H2D_MSGRING_RXPOST_SUBMIT];
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
939
if (brcmf_msgbuf_alloc_pktid(msgbuf->drvr->bus_if->dev,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
940
msgbuf->rx_pktids, skb, 0,
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
948
if (msgbuf->rx_metadata_offset) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
951
cpu_to_le16(msgbuf->rx_metadata_offset);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
957
skb_pull(skb, msgbuf->rx_metadata_offset);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
959
physaddr += msgbuf->rx_metadata_offset;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
982
brcmf_msgbuf_rxbuf_data_fill(struct brcmf_msgbuf *msgbuf)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
987
fillbufs = msgbuf->max_rxbufpost - msgbuf->rxbufpost;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
990
retcount = brcmf_msgbuf_rxbuf_data_post(msgbuf, fillbufs);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
993
msgbuf->rxbufpost += retcount;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2203
bus->msgbuf->commonrings[i] =
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2212
bus->msgbuf->flowrings = flowrings;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2214
bus->msgbuf->rx_dataoffset = devinfo->shared.rx_dataoffset;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2215
bus->msgbuf->max_rxbufpost = devinfo->shared.max_rxbufpost;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2216
bus->msgbuf->max_flowrings = devinfo->shared.max_flowrings;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2507
bus->msgbuf = kzalloc_obj(*bus->msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2508
if (!bus->msgbuf) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2567
kfree(bus->msgbuf);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2611
kfree(bus->msgbuf->flowrings);
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2612
kfree(bus->msgbuf);
drivers/platform/raspberrypi/vchiq-interface/vchiq_dev.c
509
void __user *msgbuf;
drivers/platform/raspberrypi/vchiq-interface/vchiq_dev.c
528
if (vchiq_get_user_ptr(&msgbuf, args->msgbufs,
drivers/platform/raspberrypi/vchiq-interface/vchiq_dev.c
536
if (copy_to_user(msgbuf, header, msglen)) {
drivers/platform/raspberrypi/vchiq-interface/vchiq_dev.c
546
user_completion.header = msgbuf;
drivers/platform/surface/aggregator/controller.c
1511
struct msgbuf msgb;
drivers/platform/surface/aggregator/ssh_msgb.h
106
static inline void msgb_push_crc(struct msgbuf *msgb, const u8 *buf, size_t len)
drivers/platform/surface/aggregator/ssh_msgb.h
118
static inline void msgb_push_frame(struct msgbuf *msgb, u8 ty, u16 len, u8 seq)
drivers/platform/surface/aggregator/ssh_msgb.h
137
static inline void msgb_push_ack(struct msgbuf *msgb, u8 seq)
drivers/platform/surface/aggregator/ssh_msgb.h
153
static inline void msgb_push_nak(struct msgbuf *msgb)
drivers/platform/surface/aggregator/ssh_msgb.h
172
static inline void msgb_push_cmd(struct msgbuf *msgb, u8 seq, u16 rqid,
drivers/platform/surface/aggregator/ssh_msgb.h
39
static inline void msgb_init(struct msgbuf *msgb, u8 *ptr, size_t cap)
drivers/platform/surface/aggregator/ssh_msgb.h
50
static inline size_t msgb_bytes_used(const struct msgbuf *msgb)
drivers/platform/surface/aggregator/ssh_msgb.h
55
static inline void __msgb_push_u8(struct msgbuf *msgb, u8 value)
drivers/platform/surface/aggregator/ssh_msgb.h
61
static inline void __msgb_push_u16(struct msgbuf *msgb, u16 value)
drivers/platform/surface/aggregator/ssh_msgb.h
72
static inline void msgb_push_u16(struct msgbuf *msgb, u16 value)
drivers/platform/surface/aggregator/ssh_msgb.h
84
static inline void msgb_push_syn(struct msgbuf *msgb)
drivers/platform/surface/aggregator/ssh_msgb.h
95
static inline void msgb_push_buf(struct msgbuf *msgb, const u8 *buf, size_t len)
drivers/platform/surface/aggregator/ssh_packet_layer.c
1653
struct msgbuf msgb;
drivers/platform/surface/aggregator/ssh_packet_layer.c
1677
struct msgbuf msgb;
drivers/scsi/BusLogic.c
3341
seq_write(m, adapter->msgbuf, adapter->msgbuflen);
drivers/scsi/BusLogic.c
3454
strcpy(&adapter->msgbuf[adapter->msgbuflen], buf);
drivers/scsi/BusLogic.c
3459
strcpy(&adapter->msgbuf[adapter->msgbuflen], buf);
drivers/scsi/BusLogic.h
1067
char msgbuf[BLOGIC_MSGBUF_SIZE];
drivers/scsi/dc395x.c
2082
static inline u8 msgin_completed(u8 * msgbuf, u32 len)
drivers/scsi/dc395x.c
2084
if (*msgbuf == EXTENDED_MESSAGE) {
drivers/scsi/dc395x.c
2087
if (len < msgbuf[1] + 2)
drivers/scsi/dc395x.c
2089
} else if (*msgbuf >= 0x20 && *msgbuf <= 0x2f) /* two byte messages */
drivers/soc/qcom/smd-rpm.c
159
char msgbuf[32];
drivers/soc/qcom/smd-rpm.c
176
len = min_t(u32, ALIGN(msg_length, 4), sizeof(msgbuf));
drivers/soc/qcom/smd-rpm.c
177
memcpy_fromio(msgbuf, msg->message, len);
drivers/soc/qcom/smd-rpm.c
178
msgbuf[len - 1] = 0;
drivers/soc/qcom/smd-rpm.c
180
if (!strcmp(msgbuf, "resource does not exist"))
fs/dlm/midcomms.c
1500
char *msgbuf;
fs/dlm/midcomms.c
1505
msg = dlm_lowcomms_new_msg(node->nodeid, buflen, &msgbuf,
fs/dlm/midcomms.c
1510
memcpy(msgbuf, buf, buflen);
include/linux/syscalls.h
1313
long ksys_msgrcv(int msqid, struct msgbuf __user *msgp, size_t msgsz,
include/linux/syscalls.h
1315
long ksys_msgsnd(int msqid, struct msgbuf __user *msgp, size_t msgsz,
include/linux/syscalls.h
25
struct msgbuf;
include/linux/syscalls.h
756
asmlinkage long sys_msgrcv(int msqid, struct msgbuf __user *msgp,
include/linux/syscalls.h
758
asmlinkage long sys_msgsnd(int msqid, struct msgbuf __user *msgp,
include/uapi/linux/ipc.h
59
struct msgbuf __user *msgp;
init/main.c
1340
char msgbuf[64];
init/main.c
1350
msgbuf[0] = 0;
init/main.c
1353
sprintf(msgbuf, "preemption imbalance ");
init/main.c
1357
strlcat(msgbuf, "disabled interrupts ", sizeof(msgbuf));
init/main.c
1360
WARN(msgbuf[0], "initcall %pS returned with %s\n", fn, msgbuf);
ipc/msg.c
1028
struct msgbuf __user *msgp = dest;
ipc/msg.c
1264
long ksys_msgrcv(int msqid, struct msgbuf __user *msgp, size_t msgsz,
ipc/msg.c
1270
SYSCALL_DEFINE5(msgrcv, int, msqid, struct msgbuf __user *, msgp, size_t, msgsz,
ipc/msg.c
961
long ksys_msgsnd(int msqid, struct msgbuf __user *msgp, size_t msgsz,
ipc/msg.c
971
SYSCALL_DEFINE4(msgsnd, int, msqid, struct msgbuf __user *, msgp, size_t, msgsz,
ipc/syscall.c
54
return ksys_msgsnd(first, (struct msgbuf __user *) ptr,
ipc/syscall.c
72
(struct msgbuf __user *) ptr,
tools/testing/selftests/ipc/msgque.c
177
struct msg1 msgbuf;
tools/testing/selftests/ipc/msgque.c
179
msgbuf.mtype = MSG_TYPE;
tools/testing/selftests/ipc/msgque.c
180
memcpy(msgbuf.mtext, TEST_STRING, sizeof(TEST_STRING));
tools/testing/selftests/ipc/msgque.c
181
if (msgsnd(msgque->msq_id, &msgbuf.mtype, sizeof(TEST_STRING),
tools/testing/selftests/ipc/msgque.c
187
msgbuf.mtype = ANOTHER_MSG_TYPE;
tools/testing/selftests/ipc/msgque.c
188
memcpy(msgbuf.mtext, ANOTHER_TEST_STRING, sizeof(ANOTHER_TEST_STRING));
tools/testing/selftests/ipc/msgque.c
189
if (msgsnd(msgque->msq_id, &msgbuf.mtype, sizeof(ANOTHER_TEST_STRING),