qcacmn: Add PTP timestamp socket options support(cdp part)

Add tsf64 enable/disable related functions and definitions.

Change-Id: Ieea0d8f905eb57629d279f8da0e811857b760b1f
CRs-Fixed: 2454513
This commit is contained in:
Jiani Liu
2019-05-09 11:17:51 +08:00
committed by nshrivas
parent 25d847280f
commit 7067cd4d3e
2 changed files with 56 additions and 14 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016-2017, 2018 The Linux Foundation. All rights reserved. * Copyright (c) 2016-2019 The Linux Foundation. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -384,4 +384,35 @@ cdp_cfg_get_peer_unmap_conf_support(ol_txrx_soc_handle soc)
return soc->ops->cfg_ops->get_peer_unmap_conf_support(); return soc->ops->cfg_ops->get_peer_unmap_conf_support();
} }
static inline void
cdp_cfg_set_tx_compl_tsf64(ol_txrx_soc_handle soc,
uint8_t val)
{
if (!soc || !soc->ops) {
dp_debug("invalid instance");
return;
}
if (!soc->ops->cfg_ops ||
!soc->ops->cfg_ops->set_tx_compl_tsf64)
return;
soc->ops->cfg_ops->set_tx_compl_tsf64(val);
}
static inline bool
cdp_cfg_get_tx_compl_tsf64(ol_txrx_soc_handle soc)
{
if (!soc || !soc->ops) {
dp_debug("invalid instance");
return false;
}
if (!soc->ops->cfg_ops ||
!soc->ops->cfg_ops->get_tx_compl_tsf64)
return false;
return soc->ops->cfg_ops->get_tx_compl_tsf64();
}
#endif /* _CDP_TXRX_CFG_H_ */ #endif /* _CDP_TXRX_CFG_H_ */

View File

@@ -1055,19 +1055,28 @@ struct cdp_pmf_ops {
/** /**
* struct cdp_cfg_ops - mcl configuration ops * struct cdp_cfg_ops - mcl configuration ops
* @set_cfg_rx_fwd_disabled: * @set_cfg_rx_fwd_disabled: set rx_fwd_disabled flag
* @set_cfg_packet_log_enabled: * @set_cfg_packet_log_enabled: set is_packet_log_enabled flag
* @cfg_attach: * @cfg_attach: hardcode the configuration parameters
* @vdev_rx_set_intrabss_fwd: * @vdev_rx_set_intrabss_fwd: set disable_intrabss_fwd flag
* @is_rx_fwd_disabled: * @is_rx_fwd_disabled: get the rx_fwd_disabled flag,
* @tx_set_is_mgmt_over_wmi_enabled: * 1 enabled, 0 disabled.
* @is_high_latency: * @tx_set_is_mgmt_over_wmi_enabled: set is_mgmt_over_wmi_enabled flag to
* @set_flow_control_parameters: * indicate that mgmt over wmi is enabled
* @set_flow_steering: * or not,
* @set_ptp_rx_opt_enabled: * 1 for enabled, 0 for disable
* @set_new_htt_msg_format: * @is_high_latency: get device is high or low latency device,
* @set_peer_unmap_conf_support: * 1 high latency bus, 0 low latency bus
* @get_peer_unmap_conf_support: * @set_flow_control_parameters: set flow control parameters
* @set_flow_steering: set flow_steering_enabled flag
* @set_ptp_rx_opt_enabled: set is_ptp_rx_opt_enabled flag
* @set_new_htt_msg_format: set new_htt_msg_format flag
* @set_peer_unmap_conf_support: set enable_peer_unmap_conf_support flag
* @get_peer_unmap_conf_support: get enable_peer_unmap_conf_support flag
* @set_tx_compl_tsf64: set enable_tx_compl_tsf64 flag,
* 1 enabled, 0 disabled.
* @get_tx_compl_tsf64: get enable_tx_compl_tsf64 flag,
* 1 enabled, 0 disabled.
*/ */
struct cdp_cfg_ops { struct cdp_cfg_ops {
void (*set_cfg_rx_fwd_disabled)(struct cdp_cfg *cfg_pdev, void (*set_cfg_rx_fwd_disabled)(struct cdp_cfg *cfg_pdev,
@@ -1086,6 +1095,8 @@ struct cdp_cfg_ops {
void (*set_new_htt_msg_format)(uint8_t val); void (*set_new_htt_msg_format)(uint8_t val);
void (*set_peer_unmap_conf_support)(bool val); void (*set_peer_unmap_conf_support)(bool val);
bool (*get_peer_unmap_conf_support)(void); bool (*get_peer_unmap_conf_support)(void);
void (*set_tx_compl_tsf64)(bool val);
bool (*get_tx_compl_tsf64)(void);
}; };
/** /**