qed*: Fix issues in the ptp filter config implementation.
authorsudarsana.kalluru@cavium.com <sudarsana.kalluru@cavium.com>
Tue, 2 May 2017 08:11:03 +0000 (01:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 May 2017 19:33:01 +0000 (15:33 -0400)
commit8d3f87d8cd0a16c58ae7e4410938528866c1c0db
treee15e2590d068f35aea706abbcca6259d13433326
parent461eec12012c29b66525c270208d30be8f6da8e7
qed*: Fix issues in the ptp filter config implementation.

PTP hardware filter configuration performed by the driver for a given
user requested config is not correct for some of the PTP modes.
Following changes are needed for PTP config-filter implementation.
 1. NIG_REG_TX_PTP_EN register - Bits 0/1/2 respectively enables
    TimeSync/"V1 frame format support"/"V2 frame format support" on
    the TX side. Set the associated bits based on the user request.
 2. ptp4l application fails to operate in Peer Delay mode. Following
    changes are needed to fix this,
    a. Driver should enable (set to 0) DA #1-related bits for IPv4,
       IPv6 and MAC destination addresses in these registers:
         NIG_REG_TX_LLH_PTP_RULE_MASK
         NIG_REG_LLH_PTP_RULE_MASK
    b. NIG_REG_LLH_PTP_PARAM_MASK/NIG_REG_TX_LLH_PTP_PARAM_MASK should
       be set to 0x0 in all modes.

Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qed/qed_ptp.c
drivers/net/ethernet/qlogic/qede/qede_ptp.c
include/linux/qed/qed_eth_if.h