/linux/Documentation/devicetree/bindings/soc/fsl/cpm_qe/ |
H A D | fsl,cpm1-scc-qmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Herve Codina <herve.codina@bootlin.com> 19 - enum: 20 - fsl,mpc885-scc-qmc 21 - fsl,mpc866-scc-qmc 22 - const: fsl,cpm1-scc-qmc 26 - description: SCC (Serial communication controller) register base [all …]
|
H A D | fsl,qe-ucc-qmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-ucc-qmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Herve Codina <herve.codina@bootlin.com> 19 - enum: 20 - fsl,mpc8321-ucc-qmc 21 - const: fsl,qe-ucc-qmc 25 - description: UCC (Unified communication controller) register base 26 - description: Dual port ram base [all …]
|
/linux/drivers/ptp/ |
H A D | ptp_clock.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 12 #include <linux/posix-clock.h> 43 return PTP_MAX_TIMESTAMPS - queue_cnt(q) - 1; in queue_free() 55 if (src->type == PTP_CLOCK_EXTTS) { in enqueue_external_timestamp() 56 seconds = div_u64_rem(src->timestamp, 1000000000, &remainder); in enqueue_external_timestamp() 57 } else if (src->type == PTP_CLOCK_EXTOFF) { in enqueue_external_timestamp() 58 offset_ts = ns_to_timespec64(src->offset); in enqueue_external_timestamp() 62 WARN(1, "%s: unknown type %d\n", __func__, src->type); in enqueue_external_timestamp() 66 spin_lock_irqsave(&queue->lock, flags); in enqueue_external_timestamp() 68 dst = &queue->buf[queue->tail]; in enqueue_external_timestamp() [all …]
|
H A D | ptp_ines.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Copyright (C) 2018 MOSER-BAER AG 103 #define ines_read32(s, r) __raw_readl((void __iomem *)&s->regs->r) 104 #define ines_write32(s, v, r) __raw_writel(v, (void __iomem *)&s->regs->r) 171 struct ines_timestamp *ts, struct device *dev); 174 static bool ines_timestamp_expired(struct ines_timestamp *ts); 186 port = &clock->port[i]; in ines_clock_cleanup() 187 cancel_delayed_work_sync(&port->ts_work); in ines_clock_cleanup() 194 struct device_node *node = device->of_node; in ines_clock_init() 199 INIT_LIST_HEAD(&clock->list); in ines_clock_init() [all …]
|
/linux/drivers/net/ethernet/intel/igc/ |
H A D | igc_ptp.c | 1 // SPDX-License-Identifier: GPL-2.0 25 void igc_ptp_read(struct igc_adapter *adapter, struct timespec64 *ts) in igc_ptp_read() argument 27 struct igc_hw *hw = &adapter->hw; in igc_ptp_read() 34 ts->tv_sec = sec; in igc_ptp_read() 35 ts->tv_nsec = nsec; in igc_ptp_read() 39 const struct timespec64 *ts) in igc_ptp_write_i225() argument 41 struct igc_hw *hw = &adapter->hw; in igc_ptp_write_i225() 43 wr32(IGC_SYSTIML, ts->tv_nsec); in igc_ptp_write_i225() 44 wr32(IGC_SYSTIMH, ts->tv_sec); in igc_ptp_write_i225() 51 struct igc_hw *hw = &igc->hw; in igc_ptp_adjfine_i225() [all …]
|
/linux/drivers/net/can/rockchip/ |
H A D | rockchip_canfd-rx.c | 1 // SPDX-License-Identifier: GPL-2.0 4 // Marc Kleine-Budde <kernel@pengutronix.de> 16 canid_t mask = CAN_EFF_FLAG; in rkcanfd_can_frame_header_equal() local 18 if (canfd_sanitize_len(cfd1->len) != canfd_sanitize_len(cfd2->len)) in rkcanfd_can_frame_header_equal() 22 mask |= CAN_RTR_FLAG; in rkcanfd_can_frame_header_equal() 24 if (cfd1->can_id & CAN_EFF_FLAG) in rkcanfd_can_frame_header_equal() 25 mask |= CAN_EFF_MASK; in rkcanfd_can_frame_header_equal() 27 mask |= CAN_SFF_MASK; in rkcanfd_can_frame_header_equal() 29 if ((cfd1->can_id & mask) != (cfd2->can_id & mask)) in rkcanfd_can_frame_header_equal() 33 (cfd1->flags & mask_flags) != (cfd2->flags & mask_flags)) in rkcanfd_can_frame_header_equal() [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | fsl,qmc-audio.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/fsl,qmc-audio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Herve Codina <herve.codina@bootlin.com> 16 if only one QMC channel is used by the DAI or it is working in non-interleaved 20 - $ref: dai-common.yaml# 24 const: fsl,qmc-audio 26 '#address-cells': 28 '#size-cells': [all …]
|
/linux/drivers/net/ethernet/intel/igb/ |
H A D | igb_ptp.c | 1 // SPDX-License-Identifier: GPL-2.0+ 38 * +--------------+ +---+---+------+ 40 * +--------------+ +---+---+------+ 43 * +----------+---+ +--------------+ 45 * +----------+---+ +--------------+ 50 * 2^45 * 10^-9 / 3600 = 9.77 hours. 53 * 2^40 * 10^-9 / 60 = 18.3 minutes. 67 #define INCVALUE_82576_MASK GENMASK(E1000_TIMINCA_16NS_SHIFT - 1, 0) 79 struct e1000_hw *hw = &igb->hw; in igb_ptp_read_82576() 96 struct e1000_hw *hw = &igb->hw; in igb_ptp_read_82580() [all …]
|
/linux/tools/testing/selftests/ptp/ |
H A D | testptp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * PTP 1588 clock support - User space test program 35 #define CLOCK_INVALID -1 43 static int clock_adjtime(clockid_t id, struct timex *tx) in clock_adjtime() argument 45 return syscall(__NR_clock_adjtime, id, tx); in clock_adjtime() 113 return t->sec * NSEC_PER_SEC + t->nsec; in pctns() 120 " -c query the ptp clock's capabilities\n" in usage() 121 " -d name device to open\n" in usage() 122 " -e val read 'val' external time stamp events\n" in usage() 123 " -E val enable rising (1), falling (2), or both (3) edges\n" in usage() [all …]
|
/linux/drivers/net/wireless/ath/ath9k/ |
H A D | xmit.c | 2 * Copyright (c) 2008-2011 Atheros Communications Inc. 17 #include <linux/dma-mapping.h> 33 #define TIME_SYMBOLS_HALFGI(t) (((t) * 5 - 4) / 18) 35 #define NUM_SYMBOLS_PER_USEC_HALFGI(_usec) (((_usec*5)-4)/18) 49 { 104, 216 }, /* 3: 16-QAM 1/2 */ 50 { 156, 324 }, /* 4: 16-QAM 3/4 */ 51 { 208, 432 }, /* 5: 64-QAM 2/3 */ 52 { 234, 486 }, /* 6: 64-QAM 3/4 */ 53 { 260, 540 }, /* 7: 64-QAM 5/6 */ 64 struct ath_tx_status *ts, int txok); [all …]
|
H A D | dynack.c | 28 * ath_dynack_get_max_to - set max timeout according to channel width 34 const struct ath9k_channel *chan = ah->curchan; in ath_dynack_get_max_to() 49 * ath_dynack_ewma - EWMA (Exponentially Weighted Moving Average) calculation 54 return (new * (EWMA_DIV - EWMA_LEVEL) + in ath_dynack_ewma() 61 * ath_dynack_get_sifs - get sifs time based on phy used 71 if (IS_CHAN_QUARTER_RATE(ah->curchan)) in ath_dynack_get_sifs() 73 else if (IS_CHAN_HALF_RATE(ah->curchan)) in ath_dynack_get_sifs() 82 * ath_dynack_bssidmask - filter out ACK frames based on BSSID mask 92 if ((common->macaddr[i] & common->bssidmask[i]) != in ath_dynack_bssidmask() 93 (mac[i] & common->bssidmask[i])) in ath_dynack_bssidmask() [all …]
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | lantiq,pef2256.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Herve Codina <herve.codina@bootlin.com> 20 - const: lantiq,pef2256 27 - description: Master Clock 28 - description: System Clock Receive 29 - description: System Clock Transmit 31 clock-names: 33 - const: mclk [all …]
|
/linux/drivers/net/can/esd/ |
H A D | esdacc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* Copyright (C) 2015 - 2016 Thomas Körper, esd electronic system design gmbh 3 * Copyright (C) 2017 - 2023 Stefan Mätje, esd electronics gmbh 20 #define ACC_DLC_SSTX_FLAG BIT(24) /* Single Shot TX */ 39 /* Two bit wide command masks to mask or unmask a single core IRQ */ 73 /* CAN id must be written at last. This write starts TX. */ in acc_txq_put() 80 if (tx_fifo_idx >= core->tx_fifo_size) in acc_tx_fifo_next() 100 static ktime_t acc_ts2ktime(struct acc_ov *ov, u64 ts) in acc_ts2ktime() argument 104 ns = (ts * ACC_TS_FACTOR) + (ts >> ACC_TS_80MHZ_SHIFT); in acc_ts2ktime() 117 ov->version = temp; in acc_init_ov() [all …]
|
/linux/drivers/net/wireless/ath/ath12k/ |
H A D | dp_tx.c | 1 // SPDX-License-Identifier: BSD-3-Clause-Clear 3 * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved. 4 * Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved. 20 if (test_bit(ATH12K_FLAG_RAW_MODE, &ab->dev_flags)) in ath12k_dp_tx_get_encap_type() 23 if (tx_info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) in ath12k_dp_tx_get_encap_type() 31 struct ieee80211_hdr *hdr = (void *)skb->data; in ath12k_dp_tx_encap_nwifi() 34 if (!ieee80211_is_data_qos(hdr->frame_control)) in ath12k_dp_tx_encap_nwifi() 38 memmove(skb->data + IEEE80211_QOS_CTL_LEN, in ath12k_dp_tx_encap_nwifi() 39 skb->data, (void *)qos_ctl - (void *)skb->data); in ath12k_dp_tx_encap_nwifi() 42 hdr = (void *)skb->data; in ath12k_dp_tx_encap_nwifi() [all …]
|
/linux/drivers/net/wireless/ath/ath11k/ |
H A D | dp_tx.c | 1 // SPDX-License-Identifier: BSD-3-Clause-Clear 3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 4 * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved. 20 struct ath11k_base *ab = arvif->ar->ab; in ath11k_dp_tx_get_encap_type() 22 if (test_bit(ATH11K_FLAG_RAW_MODE, &ab->dev_flags)) in ath11k_dp_tx_get_encap_type() 25 if (tx_info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) in ath11k_dp_tx_get_encap_type() 33 struct ieee80211_hdr *hdr = (void *)skb->data; in ath11k_dp_tx_encap_nwifi() 36 if (!ieee80211_is_data_qos(hdr->frame_control)) in ath11k_dp_tx_encap_nwifi() 40 memmove(skb->data + IEEE80211_QOS_CTL_LEN, in ath11k_dp_tx_encap_nwifi() 41 skb->data, (void *)qos_ctl - (void *)skb->data); in ath11k_dp_tx_encap_nwifi() [all …]
|
/linux/drivers/net/ethernet/qlogic/qede/ |
H A D | qede_ptp.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 3 * Copyright (c) 2015-2017 QLogic Corporation 4 * Copyright (c) 2019-2020 Marvell International Ltd. 31 * qede_ptp_adjfine() - Adjust the frequency of the PTP cycle counter. 36 * Scaled parts per million is ppm with a 16-bit binary fractional field. 44 struct qede_dev *edev = ptp->edev; in qede_ptp_adjfine() 48 if (edev->state == QEDE_STATE_OPEN) { in qede_ptp_adjfine() 49 spin_lock_bh(&ptp->lock); in qede_ptp_adjfine() 50 rc = ptp->ops->adjfreq(edev->cdev, ppb); in qede_ptp_adjfine() 51 spin_unlock_bh(&ptp->lock); in qede_ptp_adjfine() [all …]
|
/linux/drivers/net/ethernet/wangxun/libwx/ |
H A D | wx_ptp.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (c) 2015 - 2025 Beijing WangXun Technology Co., Ltd. */ 3 /* Copyright (c) 1999 - 2025 Intel Corporation. */ 40 seq = read_seqbegin(&wx->hw_tc_lock); in wx_ptp_timecounter_cyc2time() 41 ns = timecounter_cyc2time(&wx->hw_tc, timestamp); in wx_ptp_timecounter_cyc2time() 42 } while (read_seqretry(&wx->hw_tc_lock, seq)); in wx_ptp_timecounter_cyc2time() 68 u64 incval, mask; in wx_ptp_adjfine() local 71 incval = READ_ONCE(wx->base_incval); in wx_ptp_adjfine() 74 mask = (wx->mac.type == wx_mac_em) ? 0x7FFFFFF : 0xFFFFFF; in wx_ptp_adjfine() 75 incval &= mask; in wx_ptp_adjfine() [all …]
|
/linux/drivers/net/ethernet/intel/ixgbe/ |
H A D | ixgbe_ptp.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2018 Intel Corporation. */ 30 * Period * [ 2 ^ ( MaxWidth - PeriodWidth ) ] 47 * +--------------+ +--------------+ 49 * *--------------+ +--------------+ 52 * +--------------+ +--------------+ 54 * *--------------+ +--------------+ 58 * 2^36 * 10^-9 / 60 = 1.14 minutes or 69 seconds 61 * 2^43 * 10^-9 / 3600 = 2.4 hours 89 * represents units of 2^-32 nanoseconds, and uses 31 bits for this, with the [all …]
|
/linux/drivers/soc/fsl/qe/ |
H A D | qmc.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include <linux/dma-mapping.h> 52 /* SCC mask register (16 bits) */ 64 /* Tx time-slot assignment table pointer (16 bits) */ 76 /* Rx time-slot assignment table pointer (16 bits) */ 78 /* Tx pointer (16 bits) */ 84 /* Time slot assignment table Tx (32 x 16 bits) */ 90 /* Tx framer base pointer (16 bits, QE only) */ 92 /* A reserved area (0xB0 -> 0xC3) that must be initialized to 0 (QE only) */ 108 /* Tx buffer descriptor base address (16 bits, offset from MCBASE) */ [all …]
|
/linux/drivers/net/vmxnet3/ |
H A D | vmxnet3_defs.h | 4 * Copyright (C) 2008-2024, VMware, Inc. All Rights Reserved. 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 23 * Maintained by: pv-drivers@vmware.com 54 VMXNET3_REG_IMR = 0x0, /* Interrupt Mask Register */ 55 VMXNET3_REG_TXPROD = 0x600, /* Tx Producer Index */ 62 VMXNET3_REG_LB_TXPROD = 0x1000, /* Tx Producer Index */ 73 #define VMXNET3_REG_ALIGN 8 /* All registers are 8-byte aligned. */ 133 * Little Endian layout of bitfields - 139 * Big Endian layout of bitfields - 264 u64 tsi:1; //bit to indicate to set ts [all …]
|
/linux/drivers/net/can/spi/mcp251xfd/ |
H A D | mcp251xfd-tef.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // mcp251xfd - Microchip MCP251xFD Family CAN controller driver 6 // Marc Kleine-Budde <kernel@pengutronix.de> 36 err = regmap_read(priv->map_reg, MCP251XFD_REG_TEFUA, &tef_ua); in mcp251xfd_tef_tail_get_from_chip() 59 netdev_err(priv->ndev, in mcp251xfd_check_tef_tail() 62 return -EILSEQ; in mcp251xfd_check_tef_tail() 73 struct net_device_stats *stats = &priv->ndev->stats; in mcp251xfd_handle_tefif_one() 77 /* Use the MCP2517FD mask on the MCP2518FD, too. We only in mcp251xfd_handle_tefif_one() 81 hw_tef_obj->flags); in mcp251xfd_handle_tefif_one() 82 tef_tail_masked = priv->tef->tail & in mcp251xfd_handle_tefif_one() [all …]
|
/linux/include/linux/fsl/ |
H A D | ptp_qoriq.h | 1 // SPDX-License-Identifier: GPL-2.0 19 u32 tmr_temask; /* Timer event mask register */ 21 u32 tmr_pemask; /* Timer event mask register */ 80 #define RTPE (1<<15) /* Record Tx Timestamp to PAL Enable. */ 82 #define ESFDP (1<<11) /* External Tx/Rx SFD Polarity. */ 83 #define ESFDE (1<<10) /* External Tx/Rx SFD Enable. */ 192 int ptp_qoriq_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts); 194 const struct timespec64 *ts);
|
/linux/Documentation/netlink/specs/ |
H A D | ethtool.yaml | 1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 2 --- 5 protocol: genetlink-legacy 8 uapi-header: linux/ethtool_netlink_generated.h 10 c-family-name: ethtool-genl-name 11 c-version-name: ethtool-genl-version 14 - 15 name: udp-tunnel-type 16 enum-name: 18 entries: [vxlan, geneve, vxlan-gpe] [all …]
|
/linux/tools/testing/selftests/bpf/ |
H A D | xdp_hw_metadata.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * - UDP 9091 packets are diverted into AF_XDP 8 * - Metadata verified: 9 * - rx_timestamp 10 * - rx_hash 12 * TX: 13 * - UDP 9091 packets trigger TX reply 14 * - TX HW timestamp is requested and reported back upon completion 15 * - TX checksum is requested 16 * - TX launch time HW offload is requested for transmission [all …]
|
/linux/drivers/net/phy/ |
H A D | micrel.c | 1 // SPDX-License-Identifier: GPL-2.0+ 9 * Copyright (c) 2010-2013 Micrel, Inc. 128 * The value is calculated as following: (1/1000000)/((2^-32)/4) 134 * The value is calculated as following: (1/1000000)/((2^-32)/8) 415 /* Lock for Rx ts fifo */ 536 const struct kszphy_type *type = phydev->drv->driver_data; in kszphy_config_intr() 538 u16 mask; in kszphy_config_intr() local 540 if (type && type->interrupt_level_mask) in kszphy_config_intr() 541 mask = type->interrupt_level_mask; in kszphy_config_intr() 543 mask = KSZPHY_CTRL_INT_ACTIVE_HIGH; in kszphy_config_intr() [all …]
|