net: fec: report correct hardware stamping info to ethtool
Report correct hardware stamping capability by ethtool interface. The v1.0 ptp4l check it. Signed-off-by: Frank Li <Frank.Li@freescale.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d0e2c55e7c
commit
5ebae48971
|
@ -1174,12 +1174,41 @@ static void fec_enet_get_drvinfo(struct net_device *ndev,
|
|||
strlcpy(info->bus_info, dev_name(&ndev->dev), sizeof(info->bus_info));
|
||||
}
|
||||
|
||||
static int fec_enet_get_ts_info(struct net_device *ndev,
|
||||
struct ethtool_ts_info *info)
|
||||
{
|
||||
struct fec_enet_private *fep = netdev_priv(ndev);
|
||||
|
||||
if (fep->bufdesc_ex) {
|
||||
|
||||
info->so_timestamping = SOF_TIMESTAMPING_TX_SOFTWARE |
|
||||
SOF_TIMESTAMPING_RX_SOFTWARE |
|
||||
SOF_TIMESTAMPING_SOFTWARE |
|
||||
SOF_TIMESTAMPING_TX_HARDWARE |
|
||||
SOF_TIMESTAMPING_RX_HARDWARE |
|
||||
SOF_TIMESTAMPING_RAW_HARDWARE;
|
||||
if (fep->ptp_clock)
|
||||
info->phc_index = ptp_clock_index(fep->ptp_clock);
|
||||
else
|
||||
info->phc_index = -1;
|
||||
|
||||
info->tx_types = (1 << HWTSTAMP_TX_OFF) |
|
||||
(1 << HWTSTAMP_TX_ON);
|
||||
|
||||
info->rx_filters = (1 << HWTSTAMP_FILTER_NONE) |
|
||||
(1 << HWTSTAMP_FILTER_ALL);
|
||||
return 0;
|
||||
} else {
|
||||
return ethtool_op_get_ts_info(ndev, info);
|
||||
}
|
||||
}
|
||||
|
||||
static const struct ethtool_ops fec_enet_ethtool_ops = {
|
||||
.get_settings = fec_enet_get_settings,
|
||||
.set_settings = fec_enet_set_settings,
|
||||
.get_drvinfo = fec_enet_get_drvinfo,
|
||||
.get_link = ethtool_op_get_link,
|
||||
.get_ts_info = ethtool_op_get_ts_info,
|
||||
.get_ts_info = fec_enet_get_ts_info,
|
||||
};
|
||||
|
||||
static int fec_enet_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd)
|
||||
|
|
Loading…
Reference in New Issue