fsl/fman_port: support getting timestamp

This patch is to add fman_port_get_tstamp() interface
to get timestamp.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Acked-by: Madalin Bucur <madalin.bucur@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Yangbo Lu 2018-06-25 20:37:13 +08:00 committed by David S. Miller
parent 0fab782a28
commit 880f874cf5
2 changed files with 14 additions and 0 deletions

View File

@ -1731,6 +1731,18 @@ int fman_port_get_hash_result_offset(struct fman_port *port, u32 *offset)
}
EXPORT_SYMBOL(fman_port_get_hash_result_offset);
int fman_port_get_tstamp(struct fman_port *port, const void *data, u64 *tstamp)
{
if (port->buffer_offsets.time_stamp_offset == ILLEGAL_BASE)
return -EINVAL;
*tstamp = be64_to_cpu(*(__be64 *)(data +
port->buffer_offsets.time_stamp_offset));
return 0;
}
EXPORT_SYMBOL(fman_port_get_tstamp);
static int fman_port_probe(struct platform_device *of_dev)
{
struct fman_port *port;

View File

@ -153,6 +153,8 @@ u32 fman_port_get_qman_channel_id(struct fman_port *port);
int fman_port_get_hash_result_offset(struct fman_port *port, u32 *offset);
int fman_port_get_tstamp(struct fman_port *port, const void *data, u64 *tstamp);
struct fman_port *fman_port_bind(struct device *dev);
#endif /* __FMAN_PORT_H */