/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/mscc/ |
H A D | ocelot_ptp.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 19 int ocelot_ptp_gettime64(struct ptp_clock_info *ptp, struct timespec64 *ts) in ocelot_ptp_gettime64() argument 27 spin_lock_irqsave(&ocelot->ptp_clock_lock, flags); in ocelot_ptp_gettime64() 39 spin_unlock_irqrestore(&ocelot->ptp_clock_lock, flags); in ocelot_ptp_gettime64() 43 s--; in ocelot_ptp_gettime64() 48 set_normalized_timespec64(ts, s, ns); in ocelot_ptp_gettime64() 54 const struct timespec64 *ts) in ocelot_ptp_settime64() argument 60 spin_lock_irqsave(&ocelot->ptp_clock_lock, flags); in ocelot_ptp_settime64() 68 ocelot_write_rix(ocelot, lower_32_bits(ts->tv_sec), PTP_PIN_TOD_SEC_LSB, in ocelot_ptp_settime64() 70 ocelot_write_rix(ocelot, upper_32_bits(ts->tv_sec), PTP_PIN_TOD_SEC_MSB, in ocelot_ptp_settime64() [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/drivers/net/wireless/intel/iwlwifi/mvm/ |
H A D | utils.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 3 * Copyright (C) 2012-2014, 2018-2024 Intel Corporation 4 * Copyright (C) 2013-2014 Intel Mobile Communications GmbH 5 * Copyright (C) 2015-2017 Intel Deutschland GmbH 9 #include "iwl-debug.h" 10 #include "iwl-io.h" 11 #include "iwl-prph.h" 12 #include "iwl-csr.h" 19 * CMD_WANT_SKB is set in cmd->flags. 26 if (WARN_ON(mvm->d3_test_active)) in iwl_mvm_send_cmd() [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/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. 19 struct ath11k_base *ab = arvif->ar->ab; in ath11k_dp_tx_get_encap_type() 21 if (test_bit(ATH11K_FLAG_RAW_MODE, &ab->dev_flags)) in ath11k_dp_tx_get_encap_type() 24 if (tx_info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) in ath11k_dp_tx_get_encap_type() 32 struct ieee80211_hdr *hdr = (void *)skb->data; in ath11k_dp_tx_encap_nwifi() 35 if (!ieee80211_is_data_qos(hdr->frame_control)) in ath11k_dp_tx_encap_nwifi() 39 memmove(skb->data + IEEE80211_QOS_CTL_LEN, in ath11k_dp_tx_encap_nwifi() 40 skb->data, (void *)qos_ctl - (void *)skb->data); in ath11k_dp_tx_encap_nwifi() [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-2024 Qualcomm Innovation Center, Inc. All rights reserved. 16 struct ath12k_base *ab = arvif->ar->ab; in ath12k_dp_tx_get_encap_type() 18 if (test_bit(ATH12K_FLAG_RAW_MODE, &ab->dev_flags)) in ath12k_dp_tx_get_encap_type() 21 if (tx_info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) in ath12k_dp_tx_get_encap_type() 29 struct ieee80211_hdr *hdr = (void *)skb->data; in ath12k_dp_tx_encap_nwifi() 32 if (!ieee80211_is_data_qos(hdr->frame_control)) in ath12k_dp_tx_encap_nwifi() 36 memmove(skb->data + IEEE80211_QOS_CTL_LEN, in ath12k_dp_tx_encap_nwifi() 37 skb->data, (void *)qos_ctl - (void *)skb->data); in ath12k_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/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/Documentation/netlink/specs/ |
H A D | ethtool.yaml | 1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 5 protocol: genetlink-legacy 8 uapi-header: linux/ethtool_netlink_generated.h 11 - 12 name: udp-tunnel-type 13 enum-name: 15 entries: [ vxlan, geneve, vxlan-gpe ] 16 enum-cnt-name: __ethtool-udp-tunnel-type-cnt 17 render-max: true 18 - [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/wireless/ath/ath9k/ |
H A D | dynack.c | 27 * ath_dynack_get_max_to - set max timeout according to channel width 33 const struct ath9k_channel *chan = ah->curchan; in ath_dynack_get_max_to() 48 * ath_dynack_ewma - EWMA (Exponentially Weighted Moving Average) calculation 53 return (new * (EWMA_DIV - EWMA_LEVEL) + in ath_dynack_ewma() 60 * ath_dynack_get_sifs - get sifs time based on phy used 70 if (IS_CHAN_QUARTER_RATE(ah->curchan)) in ath_dynack_get_sifs() 72 else if (IS_CHAN_HALF_RATE(ah->curchan)) in ath_dynack_get_sifs() 81 * ath_dynack_bssidmask - filter out ACK frames based on BSSID mask 91 if ((common->macaddr[i] & common->bssidmask[i]) != in ath_dynack_bssidmask() 92 (mac[i] & common->bssidmask[i])) in ath_dynack_bssidmask() [all …]
|
/linux/drivers/net/phy/ |
H A D | micrel.c | 1 // SPDX-License-Identifier: GPL-2.0+ 9 * Copyright (c) 2010-2013 Micrel, Inc. 126 * The value is calculated as following: (1/1000000)/((2^-32)/4) 132 * The value is calculated as following: (1/1000000)/((2^-32)/8) 413 /* Lock for Rx ts fifo */ 527 const struct kszphy_type *type = phydev->drv->driver_data; in kszphy_config_intr() 529 u16 mask; in kszphy_config_intr() local 531 if (type && type->interrupt_level_mask) in kszphy_config_intr() 532 mask = type->interrupt_level_mask; in kszphy_config_intr() 534 mask = KSZPHY_CTRL_INT_ACTIVE_HIGH; in kszphy_config_intr() [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/drivers/net/ethernet/microchip/lan966x/ |
H A D | lan966x_ptp.c | 1 // SPDX-License-Identifier: GPL-2.0+ 12 * The value is calculated as following: (1/1000000)/((2^-59)/6.037735849) 57 struct lan966x *lan966x = port->lan966x; in lan966x_ptp_add_trap() 61 vrule = vcap_get_rule(lan966x->vcap_ctrl, rule_id); in lan966x_ptp_add_trap() 63 u32 value, mask; in lan966x_ptp_add_trap() local 65 /* Just modify the ingress port mask and exit */ in lan966x_ptp_add_trap() 67 &value, &mask); in lan966x_ptp_add_trap() 68 mask &= ~BIT(port->chip_port); in lan966x_ptp_add_trap() 70 value, mask); in lan966x_ptp_add_trap() 76 vrule = vcap_alloc_rule(lan966x->vcap_ctrl, port->dev, in lan966x_ptp_add_trap() [all …]
|
/linux/drivers/net/ethernet/renesas/ |
H A D | rtsn.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Renesas Ethernet-TSN device driver 10 #include <linux/dma-mapping.h> 69 return ioread32(priv->base + reg); in rtsn_read() 74 iowrite32(data, priv->base + reg); in rtsn_write() 84 u32 mask, u32 expected) in rtsn_reg_wait() argument 88 return readl_poll_timeout(priv->base + reg, val, in rtsn_reg_wait() 89 (val & mask) == expected, in rtsn_reg_wait() 104 static void rtsn_get_timestamp(struct rtsn_private *priv, struct timespec64 *ts) in rtsn_get_timestamp() argument 106 struct rcar_gen4_ptp_private *ptp_priv = priv->ptp_priv; in rtsn_get_timestamp() [all …]
|