git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/avf: fix Tx offload mask
[dpdk.git]
/
drivers
/
net
/
sfc
/
base
/
ef10_ev.c
diff --git
a/drivers/net/sfc/base/ef10_ev.c
b/drivers/net/sfc/base/ef10_ev.c
index
7f89a7b
..
cdf835f
100644
(file)
--- a/
drivers/net/sfc/base/ef10_ev.c
+++ b/
drivers/net/sfc/base/ef10_ev.c
@@
-73,11
+73,10
@@
efx_mcdi_set_evq_tmr(
__in uint32_t timer_ns)
{
efx_mcdi_req_t req;
__in uint32_t timer_ns)
{
efx_mcdi_req_t req;
-
uint8_t payload[MAX(
MC_CMD_SET_EVQ_TMR_IN_LEN,
-
MC_CMD_SET_EVQ_TMR_OUT_LEN)]
;
+
EFX_MCDI_DECLARE_BUF(payload,
MC_CMD_SET_EVQ_TMR_IN_LEN,
+
MC_CMD_SET_EVQ_TMR_OUT_LEN)
;
efx_rc_t rc;
efx_rc_t rc;
- (void) memset(payload, 0, sizeof (payload));
req.emr_cmd = MC_CMD_SET_EVQ_TMR;
req.emr_in_buf = payload;
req.emr_in_length = MC_CMD_SET_EVQ_TMR_IN_LEN;
req.emr_cmd = MC_CMD_SET_EVQ_TMR;
req.emr_in_buf = payload;
req.emr_in_length = MC_CMD_SET_EVQ_TMR_IN_LEN;
@@
-123,9
+122,9
@@
efx_mcdi_init_evq(
__in boolean_t low_latency)
{
efx_mcdi_req_t req;
__in boolean_t low_latency)
{
efx_mcdi_req_t req;
- uint8_t payload[
-
MAX(
MC_CMD_INIT_EVQ_IN_LEN(EFX_EVQ_NBUFS(EFX_EVQ_MAXNEVS)),
- MC_CMD_INIT_EVQ_OUT_LEN)
]
;
+ EFX_MCDI_DECLARE_BUF(payload,
+
MC_CMD_INIT_EVQ_IN_LEN(EFX_EVQ_NBUFS(EFX_EVQ_MAXNEVS)),
+ MC_CMD_INIT_EVQ_OUT_LEN);
efx_qword_t *dma_addr;
uint64_t addr;
int npages;
efx_qword_t *dma_addr;
uint64_t addr;
int npages;
@@
-140,7
+139,6
@@
efx_mcdi_init_evq(
goto fail1;
}
goto fail1;
}
- (void) memset(payload, 0, sizeof (payload));
req.emr_cmd = MC_CMD_INIT_EVQ;
req.emr_in_buf = payload;
req.emr_in_length = MC_CMD_INIT_EVQ_IN_LEN(npages);
req.emr_cmd = MC_CMD_INIT_EVQ;
req.emr_in_buf = payload;
req.emr_in_length = MC_CMD_INIT_EVQ_IN_LEN(npages);
@@
-260,9
+258,9
@@
efx_mcdi_init_evq_v2(
__in uint32_t flags)
{
efx_mcdi_req_t req;
__in uint32_t flags)
{
efx_mcdi_req_t req;
- uint8_t payload[
- M
AX(M
C_CMD_INIT_EVQ_V2_IN_LEN(EFX_EVQ_NBUFS(EFX_EVQ_MAXNEVS)),
-
MC_CMD_INIT_EVQ_V2_OUT_LEN)]
;
+ EFX_MCDI_DECLARE_BUF(payload,
+ MC_CMD_INIT_EVQ_V2_IN_LEN(EFX_EVQ_NBUFS(EFX_EVQ_MAXNEVS)),
+
MC_CMD_INIT_EVQ_V2_OUT_LEN)
;
boolean_t interrupting;
unsigned int evq_type;
efx_qword_t *dma_addr;
boolean_t interrupting;
unsigned int evq_type;
efx_qword_t *dma_addr;
@@
-277,7
+275,6
@@
efx_mcdi_init_evq_v2(
goto fail1;
}
goto fail1;
}
- (void) memset(payload, 0, sizeof (payload));
req.emr_cmd = MC_CMD_INIT_EVQ;
req.emr_in_buf = payload;
req.emr_in_length = MC_CMD_INIT_EVQ_V2_IN_LEN(npages);
req.emr_cmd = MC_CMD_INIT_EVQ;
req.emr_in_buf = payload;
req.emr_in_length = MC_CMD_INIT_EVQ_V2_IN_LEN(npages);
@@
-384,11
+381,10
@@
efx_mcdi_fini_evq(
__in uint32_t instance)
{
efx_mcdi_req_t req;
__in uint32_t instance)
{
efx_mcdi_req_t req;
-
uint8_t payload[MAX(
MC_CMD_FINI_EVQ_IN_LEN,
-
MC_CMD_FINI_EVQ_OUT_LEN)]
;
+
EFX_MCDI_DECLARE_BUF(payload,
MC_CMD_FINI_EVQ_IN_LEN,
+
MC_CMD_FINI_EVQ_OUT_LEN)
;
efx_rc_t rc;
efx_rc_t rc;
- (void) memset(payload, 0, sizeof (payload));
req.emr_cmd = MC_CMD_FINI_EVQ;
req.emr_in_buf = payload;
req.emr_in_length = MC_CMD_FINI_EVQ_IN_LEN;
req.emr_cmd = MC_CMD_FINI_EVQ;
req.emr_in_buf = payload;
req.emr_in_length = MC_CMD_FINI_EVQ_IN_LEN;
@@
-603,8
+599,8
@@
efx_mcdi_driver_event(
__in efx_qword_t data)
{
efx_mcdi_req_t req;
__in efx_qword_t data)
{
efx_mcdi_req_t req;
-
uint8_t payload[MAX(
MC_CMD_DRIVER_EVENT_IN_LEN,
-
MC_CMD_DRIVER_EVENT_OUT_LEN)]
;
+
EFX_MCDI_DECLARE_BUF(payload,
MC_CMD_DRIVER_EVENT_IN_LEN,
+
MC_CMD_DRIVER_EVENT_OUT_LEN)
;
efx_rc_t rc;
req.emr_cmd = MC_CMD_DRIVER_EVENT;
efx_rc_t rc;
req.emr_cmd = MC_CMD_DRIVER_EVENT;
@@
-867,8
+863,9
@@
ef10_ev_rx(
EFX_EV_QSTAT_INCR(eep, EV_RX);
EFX_EV_QSTAT_INCR(eep, EV_RX);
- /* Discard events after RXQ/TXQ errors */
- if (enp->en_reset_flags & (EFX_RESET_RXQ_ERR | EFX_RESET_TXQ_ERR))
+ /* Discard events after RXQ/TXQ errors, or hardware not available */
+ if (enp->en_reset_flags &
+ (EFX_RESET_RXQ_ERR | EFX_RESET_TXQ_ERR | EFX_RESET_HW_UNAVAIL))
return (B_FALSE);
/* Basic packet information */
return (B_FALSE);
/* Basic packet information */
@@
-1068,8
+1065,9
@@
ef10_ev_tx(
EFX_EV_QSTAT_INCR(eep, EV_TX);
EFX_EV_QSTAT_INCR(eep, EV_TX);
- /* Discard events after RXQ/TXQ errors */
- if (enp->en_reset_flags & (EFX_RESET_RXQ_ERR | EFX_RESET_TXQ_ERR))
+ /* Discard events after RXQ/TXQ errors, or hardware not available */
+ if (enp->en_reset_flags &
+ (EFX_RESET_RXQ_ERR | EFX_RESET_TXQ_ERR | EFX_RESET_HW_UNAVAIL))
return (B_FALSE);
if (EFX_QWORD_FIELD(*eqp, ESF_DZ_TX_DROP_EVENT) != 0) {
return (B_FALSE);
if (EFX_QWORD_FIELD(*eqp, ESF_DZ_TX_DROP_EVENT) != 0) {