diff options
-rw-r--r-- | drivers/net/ethernet/sfc/ptp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/ptp.c b/drivers/net/ethernet/sfc/ptp.c index b38690100c41..4de2f8febd59 100644 --- a/drivers/net/ethernet/sfc/ptp.c +++ b/drivers/net/ethernet/sfc/ptp.c | |||
@@ -313,6 +313,7 @@ static int efx_ptp_enable(struct efx_nic *efx) | |||
313 | MCDI_DECLARE_BUF(inbuf, MC_CMD_PTP_IN_ENABLE_LEN); | 313 | MCDI_DECLARE_BUF(inbuf, MC_CMD_PTP_IN_ENABLE_LEN); |
314 | 314 | ||
315 | MCDI_SET_DWORD(inbuf, PTP_IN_OP, MC_CMD_PTP_OP_ENABLE); | 315 | MCDI_SET_DWORD(inbuf, PTP_IN_OP, MC_CMD_PTP_OP_ENABLE); |
316 | MCDI_SET_DWORD(inbuf, PTP_IN_PERIPH_ID, 0); | ||
316 | MCDI_SET_DWORD(inbuf, PTP_IN_ENABLE_QUEUE, | 317 | MCDI_SET_DWORD(inbuf, PTP_IN_ENABLE_QUEUE, |
317 | efx->ptp_data->channel->channel); | 318 | efx->ptp_data->channel->channel); |
318 | MCDI_SET_DWORD(inbuf, PTP_IN_ENABLE_MODE, efx->ptp_data->mode); | 319 | MCDI_SET_DWORD(inbuf, PTP_IN_ENABLE_MODE, efx->ptp_data->mode); |
@@ -331,6 +332,7 @@ static int efx_ptp_disable(struct efx_nic *efx) | |||
331 | MCDI_DECLARE_BUF(inbuf, MC_CMD_PTP_IN_DISABLE_LEN); | 332 | MCDI_DECLARE_BUF(inbuf, MC_CMD_PTP_IN_DISABLE_LEN); |
332 | 333 | ||
333 | MCDI_SET_DWORD(inbuf, PTP_IN_OP, MC_CMD_PTP_OP_DISABLE); | 334 | MCDI_SET_DWORD(inbuf, PTP_IN_OP, MC_CMD_PTP_OP_DISABLE); |
335 | MCDI_SET_DWORD(inbuf, PTP_IN_PERIPH_ID, 0); | ||
334 | return efx_mcdi_rpc(efx, MC_CMD_PTP, inbuf, sizeof(inbuf), | 336 | return efx_mcdi_rpc(efx, MC_CMD_PTP, inbuf, sizeof(inbuf), |
335 | NULL, 0, NULL); | 337 | NULL, 0, NULL); |
336 | } | 338 | } |
@@ -531,6 +533,7 @@ static int efx_ptp_synchronize(struct efx_nic *efx, unsigned int num_readings) | |||
531 | int *start = ptp->start.addr; | 533 | int *start = ptp->start.addr; |
532 | 534 | ||
533 | MCDI_SET_DWORD(synch_buf, PTP_IN_OP, MC_CMD_PTP_OP_SYNCHRONIZE); | 535 | MCDI_SET_DWORD(synch_buf, PTP_IN_OP, MC_CMD_PTP_OP_SYNCHRONIZE); |
536 | MCDI_SET_DWORD(synch_buf, PTP_IN_PERIPH_ID, 0); | ||
534 | MCDI_SET_DWORD(synch_buf, PTP_IN_SYNCHRONIZE_NUMTIMESETS, | 537 | MCDI_SET_DWORD(synch_buf, PTP_IN_SYNCHRONIZE_NUMTIMESETS, |
535 | num_readings); | 538 | num_readings); |
536 | MCDI_SET_QWORD(synch_buf, PTP_IN_SYNCHRONIZE_START_ADDR, | 539 | MCDI_SET_QWORD(synch_buf, PTP_IN_SYNCHRONIZE_START_ADDR, |
@@ -574,6 +577,7 @@ static int efx_ptp_xmit_skb(struct efx_nic *efx, struct sk_buff *skb) | |||
574 | size_t len; | 577 | size_t len; |
575 | 578 | ||
576 | MCDI_SET_DWORD(ptp_data->txbuf, PTP_IN_OP, MC_CMD_PTP_OP_TRANSMIT); | 579 | MCDI_SET_DWORD(ptp_data->txbuf, PTP_IN_OP, MC_CMD_PTP_OP_TRANSMIT); |
580 | MCDI_SET_DWORD(ptp_data->txbuf, PTP_IN_PERIPH_ID, 0); | ||
577 | MCDI_SET_DWORD(ptp_data->txbuf, PTP_IN_TRANSMIT_LENGTH, skb->len); | 581 | MCDI_SET_DWORD(ptp_data->txbuf, PTP_IN_TRANSMIT_LENGTH, skb->len); |
578 | if (skb_shinfo(skb)->nr_frags != 0) { | 582 | if (skb_shinfo(skb)->nr_frags != 0) { |
579 | rc = skb_linearize(skb); | 583 | rc = skb_linearize(skb); |
@@ -1377,6 +1381,7 @@ static int efx_phc_adjfreq(struct ptp_clock_info *ptp, s32 delta) | |||
1377 | (PPB_EXTRA_BITS + MAX_PPB_BITS)); | 1381 | (PPB_EXTRA_BITS + MAX_PPB_BITS)); |
1378 | 1382 | ||
1379 | MCDI_SET_DWORD(inadj, PTP_IN_OP, MC_CMD_PTP_OP_ADJUST); | 1383 | MCDI_SET_DWORD(inadj, PTP_IN_OP, MC_CMD_PTP_OP_ADJUST); |
1384 | MCDI_SET_DWORD(inadj, PTP_IN_PERIPH_ID, 0); | ||
1380 | MCDI_SET_QWORD(inadj, PTP_IN_ADJUST_FREQ, adjustment_ns); | 1385 | MCDI_SET_QWORD(inadj, PTP_IN_ADJUST_FREQ, adjustment_ns); |
1381 | MCDI_SET_DWORD(inadj, PTP_IN_ADJUST_SECONDS, 0); | 1386 | MCDI_SET_DWORD(inadj, PTP_IN_ADJUST_SECONDS, 0); |
1382 | MCDI_SET_DWORD(inadj, PTP_IN_ADJUST_NANOSECONDS, 0); | 1387 | MCDI_SET_DWORD(inadj, PTP_IN_ADJUST_NANOSECONDS, 0); |
@@ -1399,6 +1404,7 @@ static int efx_phc_adjtime(struct ptp_clock_info *ptp, s64 delta) | |||
1399 | MCDI_DECLARE_BUF(inbuf, MC_CMD_PTP_IN_ADJUST_LEN); | 1404 | MCDI_DECLARE_BUF(inbuf, MC_CMD_PTP_IN_ADJUST_LEN); |
1400 | 1405 | ||
1401 | MCDI_SET_DWORD(inbuf, PTP_IN_OP, MC_CMD_PTP_OP_ADJUST); | 1406 | MCDI_SET_DWORD(inbuf, PTP_IN_OP, MC_CMD_PTP_OP_ADJUST); |
1407 | MCDI_SET_DWORD(inbuf, PTP_IN_PERIPH_ID, 0); | ||
1402 | MCDI_SET_QWORD(inbuf, PTP_IN_ADJUST_FREQ, 0); | 1408 | MCDI_SET_QWORD(inbuf, PTP_IN_ADJUST_FREQ, 0); |
1403 | MCDI_SET_DWORD(inbuf, PTP_IN_ADJUST_SECONDS, (u32)delta_ts.tv_sec); | 1409 | MCDI_SET_DWORD(inbuf, PTP_IN_ADJUST_SECONDS, (u32)delta_ts.tv_sec); |
1404 | MCDI_SET_DWORD(inbuf, PTP_IN_ADJUST_NANOSECONDS, (u32)delta_ts.tv_nsec); | 1410 | MCDI_SET_DWORD(inbuf, PTP_IN_ADJUST_NANOSECONDS, (u32)delta_ts.tv_nsec); |
@@ -1417,6 +1423,7 @@ static int efx_phc_gettime(struct ptp_clock_info *ptp, struct timespec *ts) | |||
1417 | int rc; | 1423 | int rc; |
1418 | 1424 | ||
1419 | MCDI_SET_DWORD(inbuf, PTP_IN_OP, MC_CMD_PTP_OP_READ_NIC_TIME); | 1425 | MCDI_SET_DWORD(inbuf, PTP_IN_OP, MC_CMD_PTP_OP_READ_NIC_TIME); |
1426 | MCDI_SET_DWORD(inbuf, PTP_IN_PERIPH_ID, 0); | ||
1420 | 1427 | ||
1421 | rc = efx_mcdi_rpc(efx, MC_CMD_PTP, inbuf, sizeof(inbuf), | 1428 | rc = efx_mcdi_rpc(efx, MC_CMD_PTP, inbuf, sizeof(inbuf), |
1422 | outbuf, sizeof(outbuf), NULL); | 1429 | outbuf, sizeof(outbuf), NULL); |