Lines Matching +full:tx +full:- +full:device
1 /* SPDX-License-Identifier: GPL-2.0-only */
10 * struct idpf_ptp_cmd - PTP command masks
19 /* struct idpf_ptp_dev_clk_regs - PTP device registers
20 * @dev_clk_ns_l: low part of the device clock register
21 * @dev_clk_ns_h: high part of the device clock register
70 * enum idpf_ptp_access - the type of access to PTP operations
82 * struct idpf_ptp_secondary_mbx - PTP secondary mailbox
84 * @peer_id: Peer ID for PTP Device Control daemon
95 * enum idpf_ptp_tx_tstamp_state - Tx timestamp states
96 * @IDPF_PTP_FREE: Tx timestamp index free to use
97 * @IDPF_PTP_REQUEST: Tx timestamp index set to the Tx descriptor
98 * @IDPF_PTP_READ_VALUE: Tx timestamp value ready to be read
107 * struct idpf_ptp_tx_tstamp_status - Parameters to track Tx timestamp
109 * @state: the state of the Tx timestamp
117 * struct idpf_ptp_tx_tstamp - Parameters for Tx timestamping
119 * @tx_latch_reg_offset_l: Tx tstamp latch low register offset
120 * @tx_latch_reg_offset_h: Tx tstamp latch high register offset
122 * @tstamp: the Tx tstamp value
123 * @idx: the index of the Tx tstamp
135 * struct idpf_ptp_vport_tx_tstamp_caps - Tx timestamp capabilities
137 * @num_entries: the number of negotiated Tx timestamp entries
141 * @access: indicates an access to Tx timestamp
142 * @latches_free: the list of the free Tx timestamps latches
143 * @latches_in_use: the list of the used Tx timestamps latches
144 * @tx_tstamp_status: Tx tstamp status tracker
159 * struct idpf_ptp - PTP parameters
161 * @clock: pointer to registered PTP clock device
168 * @dev_clk_regs: the set of registers to access the device clock
170 * @get_dev_clk_time_access: access type for getting the device clock time
172 * @set_dev_clk_time_access: access type for setting the device clock time
173 * @adj_dev_clk_time_access: access type for the adjusting the device clock
174 * @tx_tstamp_access: access type for the Tx timestamp value read
177 * @read_dev_clk_lock: spinlock protecting access to the device clock read
202 * idpf_ptp_info_to_adapter - get driver adapter struct from ptp_clock_info
212 return ptp->adapter; in idpf_ptp_info_to_adapter()
216 * struct idpf_ptp_dev_timers - System time and device time values
218 * @dev_clk_time_ns: device clock time value expressed in nanoseconds
226 * idpf_ptp_is_vport_tx_tstamp_ena - Verify the Tx timestamping enablement for
230 * Tx timestamp capabilities are negotiated with the Control Plane only if the
231 * device clock value can be read, Tx timestamp access type is different than
233 * are satisfied, Tx timestamp feature is enabled and tx_tstamp_caps is
236 * Return: true if the Tx timestamping is enabled, false otherwise.
240 if (!vport->tx_tstamp_caps) in idpf_ptp_is_vport_tx_tstamp_ena()
247 * idpf_ptp_is_vport_rx_tstamp_ena - Verify the Rx timestamping enablement for
252 * and it is possible to read the value of the device clock. The second
254 * based on the current device clock time.
260 if (!vport->adapter->ptp || in idpf_ptp_is_vport_rx_tstamp_ena()
261 vport->adapter->ptp->get_dev_clk_time_access == IDPF_PTP_NONE) in idpf_ptp_is_vport_rx_tstamp_ena()
299 return -EOPNOTSUPP; in idpf_ptp_get_caps()
315 return -EOPNOTSUPP; in idpf_ptp_get_dev_clk_time()
322 return -EOPNOTSUPP; in idpf_ptp_get_cross_time()
328 return -EOPNOTSUPP; in idpf_ptp_set_dev_clk_time()
334 return -EOPNOTSUPP; in idpf_ptp_adj_dev_clk_fine()
340 return -EOPNOTSUPP; in idpf_ptp_adj_dev_clk_time()
345 return -EOPNOTSUPP; in idpf_ptp_get_vport_tstamps_caps()
350 return -EOPNOTSUPP; in idpf_ptp_get_tx_tstamp()
357 return -EOPNOTSUPP; in idpf_ptp_set_timestamp_mode()
374 return -EOPNOTSUPP; in idpf_ptp_request_ts()