mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-10 09:25:16 +07:00
net/mlx5: Move internal timer read function to clock library
Move mlx5_read_internal_timer() into lib/clock.c file as it is being used there. As such, make this function a static one. In addition, rearrange headers include to support function move. Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com> Reviewed-by: Aya Levin <ayal@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
49c0355d30
commit
90bf1c8dbd
@ -36,7 +36,6 @@
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/timecounter.h>
|
||||
#include <linux/net_tstamp.h>
|
||||
#include <linux/ptp_clock_kernel.h>
|
||||
#include <linux/crash_dump.h>
|
||||
#include <linux/mlx5/driver.h>
|
||||
#include <linux/mlx5/qp.h>
|
||||
|
@ -32,6 +32,7 @@
|
||||
|
||||
#include <linux/clocksource.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/ptp_clock_kernel.h>
|
||||
#include <rdma/mlx5-abi.h>
|
||||
#include "lib/eq.h"
|
||||
#include "en.h"
|
||||
@ -66,6 +67,26 @@ enum {
|
||||
MLX5_MTPPS_FS_ENH_OUT_PER_ADJ = BIT(0x7),
|
||||
};
|
||||
|
||||
static u64 mlx5_read_internal_timer(struct mlx5_core_dev *dev,
|
||||
struct ptp_system_timestamp *sts)
|
||||
{
|
||||
u32 timer_h, timer_h1, timer_l;
|
||||
|
||||
timer_h = ioread32be(&dev->iseg->internal_timer_h);
|
||||
ptp_read_system_prets(sts);
|
||||
timer_l = ioread32be(&dev->iseg->internal_timer_l);
|
||||
ptp_read_system_postts(sts);
|
||||
timer_h1 = ioread32be(&dev->iseg->internal_timer_h);
|
||||
if (timer_h != timer_h1) {
|
||||
/* wrap around */
|
||||
ptp_read_system_prets(sts);
|
||||
timer_l = ioread32be(&dev->iseg->internal_timer_l);
|
||||
ptp_read_system_postts(sts);
|
||||
}
|
||||
|
||||
return (u64)timer_l | (u64)timer_h1 << 32;
|
||||
}
|
||||
|
||||
static u64 read_internal_timer(const struct cyclecounter *cc)
|
||||
{
|
||||
struct mlx5_clock *clock = container_of(cc, struct mlx5_clock, cycles);
|
||||
|
@ -672,26 +672,6 @@ int mlx5_core_disable_hca(struct mlx5_core_dev *dev, u16 func_id)
|
||||
return mlx5_cmd_exec_in(dev, disable_hca, in);
|
||||
}
|
||||
|
||||
u64 mlx5_read_internal_timer(struct mlx5_core_dev *dev,
|
||||
struct ptp_system_timestamp *sts)
|
||||
{
|
||||
u32 timer_h, timer_h1, timer_l;
|
||||
|
||||
timer_h = ioread32be(&dev->iseg->internal_timer_h);
|
||||
ptp_read_system_prets(sts);
|
||||
timer_l = ioread32be(&dev->iseg->internal_timer_l);
|
||||
ptp_read_system_postts(sts);
|
||||
timer_h1 = ioread32be(&dev->iseg->internal_timer_h);
|
||||
if (timer_h != timer_h1) {
|
||||
/* wrap around */
|
||||
ptp_read_system_prets(sts);
|
||||
timer_l = ioread32be(&dev->iseg->internal_timer_l);
|
||||
ptp_read_system_postts(sts);
|
||||
}
|
||||
|
||||
return (u64)timer_l | (u64)timer_h1 << 32;
|
||||
}
|
||||
|
||||
static int mlx5_core_set_issi(struct mlx5_core_dev *dev)
|
||||
{
|
||||
u32 query_out[MLX5_ST_SZ_DW(query_issi_out)] = {};
|
||||
|
@ -38,7 +38,6 @@
|
||||
#include <linux/sched.h>
|
||||
#include <linux/if_link.h>
|
||||
#include <linux/firmware.h>
|
||||
#include <linux/ptp_clock_kernel.h>
|
||||
#include <linux/mlx5/cq.h>
|
||||
#include <linux/mlx5/fs.h>
|
||||
#include <linux/mlx5/driver.h>
|
||||
@ -141,8 +140,6 @@ int mlx5_modify_scheduling_element_cmd(struct mlx5_core_dev *dev, u8 hierarchy,
|
||||
int mlx5_destroy_scheduling_element_cmd(struct mlx5_core_dev *dev, u8 hierarchy,
|
||||
u32 element_id);
|
||||
int mlx5_wait_for_pages(struct mlx5_core_dev *dev, int *pages);
|
||||
u64 mlx5_read_internal_timer(struct mlx5_core_dev *dev,
|
||||
struct ptp_system_timestamp *sts);
|
||||
|
||||
void mlx5_cmd_trigger_completions(struct mlx5_core_dev *dev);
|
||||
void mlx5_cmd_flush(struct mlx5_core_dev *dev);
|
||||
|
Loading…
Reference in New Issue
Block a user