diff options
author | sudarsana.kalluru@cavium.com <sudarsana.kalluru@cavium.com> | 2017-04-26 09:00:50 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-04-27 16:51:33 -0400 |
commit | db82f70e4c3e0901ba1e5c0eecbd913133261985 (patch) | |
tree | 6389ae7caa3a86fc0c488d35326b6ba693acc8cf /drivers/net/ethernet/qlogic/qed/qed_dev.c | |
parent | f470f22cfa3d42f357ed404a06ec77aa09ddb05b (diff) | |
download | linux-db82f70e4c3e0901ba1e5c0eecbd913133261985.tar.gz linux-db82f70e4c3e0901ba1e5c0eecbd913133261985.tar.bz2 linux-db82f70e4c3e0901ba1e5c0eecbd913133261985.zip |
qed: Add support for PTP resource locking.
The patch adds support for per-port resource lock in favour of PTP.
PTP module acquires/releases the MFW resource lock while enabling/
disabling the PTP on the interface. The PF instance which has the
ownership of this resource lock will get the exclusive access to the
PTP clock functionality on the port.
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>
Diffstat (limited to 'drivers/net/ethernet/qlogic/qed/qed_dev.c')
-rw-r--r-- | drivers/net/ethernet/qlogic/qed/qed_dev.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c index 2a3ae00bbd42..aa1a4d5c864c 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dev.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c @@ -4064,3 +4064,17 @@ int qed_device_num_engines(struct qed_dev *cdev) { return QED_IS_BB(cdev) ? 2 : 1; } + +static int qed_device_num_ports(struct qed_dev *cdev) +{ + /* in CMT always only one port */ + if (cdev->num_hwfns > 1) + return 1; + + return cdev->num_ports_in_engines * qed_device_num_engines(cdev); +} + +int qed_device_get_port_id(struct qed_dev *cdev) +{ + return (QED_LEADING_HWFN(cdev)->abs_pf_id) % qed_device_num_ports(cdev); +} |