| /Linux-v5.15/drivers/net/ethernet/google/gve/ |
| D | gve_rx.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 4 * Copyright (C) 2015-2021 Google, Inc. 16 dma_addr_t dma = (dma_addr_t)(be64_to_cpu(data_slot->addr) & in gve_rx_free_buffer() 19 gve_free_page(dev, page_info->page, dma, DMA_FROM_DEVICE); in gve_rx_free_buffer() 22 static void gve_rx_unfill_pages(struct gve_priv *priv, struct gve_rx_ring *rx) in gve_rx_unfill_pages() argument 24 if (rx->data.raw_addressing) { in gve_rx_unfill_pages() 25 u32 slots = rx->mask + 1; in gve_rx_unfill_pages() local 28 for (i = 0; i < slots; i++) in gve_rx_unfill_pages() 29 gve_rx_free_buffer(&priv->pdev->dev, &rx->data.page_info[i], in gve_rx_unfill_pages() 30 &rx->data.data_ring[i]); in gve_rx_unfill_pages() [all …]
|
| /Linux-v5.15/sound/soc/meson/ |
| D | axg-card.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 9 #include <sound/soc-dai.h> 11 #include "axg-tdm.h" 12 #include "meson-card.h" 16 u32 rx; member 21 unsigned int slots; member 30 * Those will be over-written by the CPU side of the link 44 struct meson_card *priv = snd_soc_card_get_drvdata(rtd->card); in axg_card_tdm_be_hw_params() 46 (struct axg_dai_link_tdm_data *)priv->link_data[rtd->num]; in axg_card_tdm_be_hw_params() 48 return meson_card_i2s_set_sysclk(substream, params, be->mclk_fs); in axg_card_tdm_be_hw_params() [all …]
|
| D | axg-tdm-interface.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 11 #include <sound/soc-dai.h> 13 #include "axg-tdm.h" 22 unsigned int slots = 0; in axg_tdm_slots_total() local 28 /* Count the total number of slots provided by all 4 lanes */ in axg_tdm_slots_total() 30 slots += hweight32(mask[i]); in axg_tdm_slots_total() 32 return slots; in axg_tdm_slots_total() 36 u32 *rx_mask, unsigned int slots, in axg_tdm_set_tdm_slots() argument 41 dai->playback_dma_data; in axg_tdm_set_tdm_slots() 42 struct axg_tdm_stream *rx = (struct axg_tdm_stream *) in axg_tdm_set_tdm_slots() local [all …]
|
| /Linux-v5.15/Documentation/devicetree/bindings/net/ |
| D | litex,liteeth.yaml | 1 # SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Joel Stanley <joel@jms.id.au> 17 https://github.com/enjoy-digital/liteeth/. 20 - $ref: ethernet-controller.yaml# 28 - description: MAC registers 29 - description: MDIO registers 30 - description: Packet buffer 32 reg-names: [all …]
|
| /Linux-v5.15/Documentation/devicetree/bindings/sound/ |
| D | davinci-mcasp-audio.txt | 4 - compatible : 5 "ti,dm646x-mcasp-audio" : for DM646x platforms 6 "ti,da830-mcasp-audio" : for both DA830 & DA850 platforms 7 "ti,am33xx-mcasp-audio" : for AM33xx platforms (AM33xx, AM43xx, TI81xx) 8 "ti,dra7-mcasp-audio" : for DRA7xx platforms 9 "ti,omap4-mcasp-audio" : for OMAP4 11 - reg : Should contain reg specifiers for the entries in the reg-names property. 12 - reg-names : Should contain: 16 - op-mode : I2S/DIT ops mode. 0 for I2S mode. 1 for DIT mode used for S/PDIF, 17 IEC60958-1, and AES-3 formats. [all …]
|
| D | tdm-slot.txt | 6 dai-tdm-slot-num : Number of slots in use. 7 dai-tdm-slot-width : Width in bits for each slot. 8 dai-tdm-slot-tx-mask : Transmit direction slot mask, optional 9 dai-tdm-slot-rx-mask : Receive direction slot mask, optional 12 dai-tdm-slot-num = <2>; 13 dai-tdm-slot-width = <8>; 14 dai-tdm-slot-tx-mask = <0 1>; 15 dai-tdm-slot-rx-mask = <1 0>; 18 to specify an explicit mapping of the channels and the slots. If it's absent 20 tx and rx masks. [all …]
|
| /Linux-v5.15/drivers/net/ethernet/litex/ |
| D | litex_liteeth.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 51 /* Rx */ 65 rx_slot = litex_read8(priv->base + LITEETH_WRITER_SLOT); in liteeth_rx() 66 len = litex_read32(priv->base + LITEETH_WRITER_LENGTH); in liteeth_rx() 78 memcpy_fromio(data, priv->rx_base + rx_slot * priv->slot_size, len); in liteeth_rx() 79 skb->protocol = eth_type_trans(skb, netdev); in liteeth_rx() 81 netdev->stats.rx_packets++; in liteeth_rx() 82 netdev->stats.rx_bytes += len; in liteeth_rx() 87 netdev->stats.rx_dropped++; in liteeth_rx() 88 netdev->stats.rx_errors++; in liteeth_rx() [all …]
|
| /Linux-v5.15/sound/soc/fsl/ |
| D | fsl_ssi.c | 1 // SPDX-License-Identifier: GPL-2.0 7 // Copyright 2007-2010 Freescale Semiconductor, Inc. 9 // Some notes why imx-pcm-fiq is used instead of DMA on some boards: 13 // one FIFO which combines all valid receive slots. We cannot even select 14 // which slots we want to receive. The WM9712 with which this driver 16 // we receive in our (PCM-) data stream. The only chance we have is to 52 #include "imx-pcm.h" 54 /* Define RX and TX to index ssi->regvals array; Can be 0 or 1 only */ 55 #define RX 0 macro 65 * (bit-endianness must match byte-endianness). Processors typically write [all …]
|
| D | fsl_sai.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 // Copyright 2012-2015 Freescale Semiconductor, Inc. 22 #include <linux/mfd/syscon/imx6q-iomuxc-gpr.h> 25 #include "imx-pcm.h" 42 * fsl_sai_dir_is_synced - Check if stream is synced by the opposite stream 53 int adir = (dir == TX) ? RX : TX; in fsl_sai_dir_is_synced() 56 return !sai->synchronous[dir] && sai->synchronous[adir]; in fsl_sai_dir_is_synced() 62 unsigned int ofs = sai->soc_data->reg_offset; in fsl_sai_isr() 63 struct device *dev = &sai->pdev->dev; in fsl_sai_isr() 75 regmap_read(sai->regmap, FSL_SAI_TCSR(ofs), &xcsr); in fsl_sai_isr() [all …]
|
| D | fsl_esai.c | 1 // SPDX-License-Identifier: GPL-2.0 17 #include "imx-pcm.h" 25 * struct fsl_esai_soc_data - soc specific data 33 * struct fsl_esai - ESAI private data 45 * @fifo_depth: depth of tx/rx FIFO 47 * @slots: number of slots 49 * @rx_mask: slot mask for RX 50 * @channels: channel num for tx or rx 56 * @synchronous: if using tx/rx synchronous mode 73 u32 slots; member [all …]
|
| /Linux-v5.15/drivers/net/ |
| D | xen-netfront.c | 4 * Copyright (c) 2002-2005, K A Fraser 77 #define NETFRONT_SKB_CB(skb) ((struct netfront_cb *)((skb)->cb)) 86 /* Minimum number of Rx slots (includes slot for GSO metadata). */ 89 /* Queue name is interface name with "-qNNN" appended */ 92 /* IRQ name is queue name with "-tx" or "-rx" appended */ 106 unsigned int id; /* Queue ID, 0-based */ 107 char name[QUEUE_NAME_SIZE]; /* DEVNAME-qN */ 120 char tx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-tx */ 121 char rx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-rx */ 128 * {tx,rx}_skbs store outstanding skbuffs. Free tx_skb entries [all …]
|
| /Linux-v5.15/sound/soc/ |
| D | soc-dai.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // soc-dai.c 10 #include <sound/soc-dai.h> 11 #include <sound/soc-link.h> 23 case -EPROBE_DEFER: in _soc_dai_ret() 24 case -ENOTSUPP: in _soc_dai_ret() 27 dev_err(dai->dev, in _soc_dai_ret() 29 func, dai->name, ret); in _soc_dai_ret() 39 #define soc_dai_mark_push(dai, substream, tgt) ((dai)->mark_##tgt = substream) 40 #define soc_dai_mark_pop(dai, substream, tgt) ((dai)->mark_##tgt = NULL) [all …]
|
| /Linux-v5.15/sound/soc/bcm/ |
| D | bcm2835-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 23 * Copyright 2007-2010 Freescale Semiconductor, Inc. 130 unsigned int master = dev->fmt & SND_SOC_DAIFMT_MASTER_MASK; in bcm2835_i2s_start_clock() 132 if (dev->clk_prepared) in bcm2835_i2s_start_clock() 138 clk_prepare_enable(dev->clk); in bcm2835_i2s_start_clock() 139 dev->clk_prepared = true; in bcm2835_i2s_start_clock() 148 if (dev->clk_prepared) in bcm2835_i2s_stop_clock() 149 clk_disable_unprepare(dev->clk); in bcm2835_i2s_stop_clock() 150 dev->clk_prepared = false; in bcm2835_i2s_stop_clock() 154 bool tx, bool rx) in bcm2835_i2s_clear_fifos() argument [all …]
|
| /Linux-v5.15/drivers/net/ethernet/ibm/emac/ |
| D | core.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 5 * Driver for PowerPC 4xx on-chip ethernet controller. 28 #include <linux/dma-mapping.h> 57 /* RX BD size for the given MTU */ 66 /* Size of RX skb for the given MTU */ 74 /* RX DMA sync size */ 81 * - normal statistics (packet count, etc) 82 * - error statistics 90 /* Normal TX/RX Statistics */ 104 /* Software RX Errors */ [all …]
|
| /Linux-v5.15/drivers/mfd/ |
| D | dln2.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Driver for the Diolan DLN-2 USB adapter 8 * i2c-diolan-u2c.c 9 * Copyright (c) 2010-2011 Ericsson AB 66 /* if non-NULL the URB contains the response */ 76 * the echo header field to index the slots field and find the receive context 80 /* RX slots bitmap */ 83 /* used to wait for a free RX slot */ 86 /* used to wait for an RX operation to complete */ 87 struct dln2_rx_context slots[DLN2_MAX_RX_SLOTS]; member [all …]
|
| /Linux-v5.15/include/uapi/linux/hsi/ |
| D | cs-protocol.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 3 * cmt-speech interface definitions 22 * 02110-1301 USA 34 /* user-space API versioning */ 37 /* APE kernel <-> user space messages */ 66 /* maximum number of TX/RX buffers */ 72 __u32 rx_bufs; /* number of RX buffer slots */ 73 __u32 tx_bufs; /* number of TX buffer slots */ 90 * This information is meant as read-only information for the application. 95 __u32 rx_bufs; /* # of RX buffers */ [all …]
|
| /Linux-v5.15/sound/soc/ti/ |
| D | davinci-mcasp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Multi-channel Audio Serial Port Driver 7 * Author: Nirmal Pandey <n-pandey@ti.com>, 39 #include "edma-pcm.h" 40 #include "sdma-pcm.h" 41 #include "udma-pcm.h" 42 #include "davinci-mcasp.h" 136 void __iomem *reg = mcasp->base + offset; in mcasp_set_bits() 143 void __iomem *reg = mcasp->base + offset; in mcasp_clr_bits() 150 void __iomem *reg = mcasp->base + offset; in mcasp_mod_bits() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/broadcom/ |
| D | bcm4908_enet.c | 1 // SPDX-License-Identifier: GPL-2.0-only 65 struct bcm4908_enet_dma_ring_slot *slots; member 84 return readl(enet->base + offset); in enet_read() 89 writel(value, enet->base + offset); in enet_write() 139 enet_write(enet, ring->cfg_block + ENET_DMA_CH_CFG_INT_MASK, ENET_DMA_INT_DEFAULTS); in bcm4908_enet_dma_ring_intrs_on() 145 enet_write(enet, ring->cfg_block + ENET_DMA_CH_CFG_INT_MASK, 0); in bcm4908_enet_dma_ring_intrs_off() 151 enet_write(enet, ring->cfg_block + ENET_DMA_CH_CFG_INT_STAT, ENET_DMA_INT_DEFAULTS); in bcm4908_enet_dma_ring_intrs_ack() 161 int size = ring->length * sizeof(struct bcm4908_enet_dma_ring_bd); in bcm4908_dma_alloc_buf_descs() 162 struct device *dev = enet->dev; in bcm4908_dma_alloc_buf_descs() 164 ring->cpu_addr = dma_alloc_coherent(dev, size, &ring->dma_addr, GFP_KERNEL); in bcm4908_dma_alloc_buf_descs() [all …]
|
| D | bgmac.c | 33 dev_err(bgmac->dev, "Timeout waiting for reg 0x%X\n", reg); in bgmac_wait_value() 46 if (!ring->mmio_base) in bgmac_dma_tx_reset() 53 bgmac_write(bgmac, ring->mmio_base + BGMAC_DMA_TX_CTL, in bgmac_dma_tx_reset() 56 val = bgmac_read(bgmac, ring->mmio_base + BGMAC_DMA_TX_STATUS); in bgmac_dma_tx_reset() 67 dev_err(bgmac->dev, "Timeout suspending DMA TX ring 0x%X (BGMAC_DMA_TX_STAT: 0x%08X)\n", in bgmac_dma_tx_reset() 68 ring->mmio_base, val); in bgmac_dma_tx_reset() 71 bgmac_write(bgmac, ring->mmio_base + BGMAC_DMA_TX_CTL, 0); in bgmac_dma_tx_reset() 73 ring->mmio_base + BGMAC_DMA_TX_STATUS, in bgmac_dma_tx_reset() 76 dev_warn(bgmac->dev, "DMA TX ring 0x%X wasn't disabled on time, waiting additional 300us\n", in bgmac_dma_tx_reset() 77 ring->mmio_base); in bgmac_dma_tx_reset() [all …]
|
| /Linux-v5.15/sound/arm/ |
| D | aaci.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/sound/arm/aaci.c - ARM PrimeCell AACI PL041 driver 28 #define DRIVER_NAME "aaci-pl041" 39 u32 v, maincr = aaci->maincr | MAINCR_SCRA(ac97->num); in aaci_ac97_select_codec() 42 * Ensure that the slot 1/2 RX registers are empty. in aaci_ac97_select_codec() 44 v = readl(aaci->base + AACI_SLFR); in aaci_ac97_select_codec() 46 readl(aaci->base + AACI_SL2RX); in aaci_ac97_select_codec() 48 readl(aaci->base + AACI_SL1RX); in aaci_ac97_select_codec() 50 if (maincr != readl(aaci->base + AACI_MAINCR)) { in aaci_ac97_select_codec() 51 writel(maincr, aaci->base + AACI_MAINCR); in aaci_ac97_select_codec() [all …]
|
| /Linux-v5.15/sound/soc/sunxi/ |
| D | sun4i-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 * Maxime Ripard <maxime.ripard@free-electrons.com> 22 #include <sound/soc-dai.h> 85 #define SUN4I_I2S_CHAN_SEL(num_chan) (((num_chan) - 1) << 0) 93 /* Defines required for sun8i-h3 support */ 106 #define SUN8I_I2S_FMT0_LRCK_PERIOD(period) ((period - 1) << 8) 119 #define SUN8I_I2S_CHAN_CFG_RX_SLOT_NUM(chan) ((chan - 1) << 4) 121 #define SUN8I_I2S_CHAN_CFG_TX_SLOT_NUM(chan) (chan - 1) 128 #define SUN8I_I2S_TX_CHAN_EN(num_chan) (((1 << num_chan) - 1) << 4) 133 /* Defines required for sun50i-h6 support */ [all …]
|
| /Linux-v5.15/sound/soc/ux500/ |
| D | mop500_ab8500.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) ST-Ericsson SA 2012 7 * for ST-Ericsson. 19 #include <sound/soc-dapm.h> 26 #include "../codecs/ab8500-codec.h" 63 /* Private data for machine-part MOP500<->AB8500 */ 90 if (IS_ERR(drvdata->clk_ptr_intclk)) { in mop500_ab8500_set_mclk() 93 return -EIO; in mop500_ab8500_set_mclk() 96 switch (drvdata->mclk_sel) { in mop500_ab8500_set_mclk() 98 clk_ptr = drvdata->clk_ptr_sysclk; in mop500_ab8500_set_mclk() [all …]
|
| /Linux-v5.15/sound/soc/stm/ |
| D | stm32_sai_sub.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2016, STMicroelectronics - All Rights Reserved 10 #include <linux/clk-provider.h> 41 #define STM_SAI_IS_PLAYBACK(ip) ((ip)->dir == SNDRV_PCM_STREAM_PLAYBACK) 42 #define STM_SAI_IS_CAPTURE(ip) ((ip)->dir == SNDRV_PCM_STREAM_CAPTURE) 47 #define STM_SAI_IS_SUB_A(x) ((x)->id == STM_SAI_A_ID) 48 #define STM_SAI_IS_SUB_B(x) ((x)->id == STM_SAI_B_ID) 49 #define STM_SAI_BLOCK_NAME(x) (((x)->id == STM_SAI_A_ID) ? "A" : "B") 55 #define STM_SAI_PROTOCOL_IS_SPDIF(ip) ((ip)->spdif) 56 #define STM_SAI_HAS_SPDIF(x) ((x)->pdata->conf.has_spdif_pdm) [all …]
|
| /Linux-v5.15/drivers/net/xen-netback/ |
| D | netback.c | 2 * Back-end of the driver for virtual network devices. This portion of the 3 * driver exports a 'unified' network-device interface that can be accessed 5 * reference front-end implementation can be found in: 6 * drivers/net/xen-netfront.c 8 * Copyright (c) 2002-2005, K A Fraser 58 /* The time that packets can stay on the guest Rx internal queue 65 * because it isn't providing Rx slots. 77 * This is the maximum slots a skb can have. If a guest sends a skb 100 * for xen-netfront with the XDP_PACKET_HEADROOM offset 120 return page_to_pfn(queue->mmap_pages[idx]); in idx_to_pfn() [all …]
|
| /Linux-v5.15/Documentation/devicetree/bindings/dma/ |
| D | ti-edma.txt | 8 ------------------------------------------------------------------------------ 12 -------------------- 13 - compatible: Should be: 14 - "ti,edma3-tpcc" for the channel controller(s) on OMAP, 16 - "ti,k2g-edma3-tpcc", "ti,edma3-tpcc" for the 18 - #dma-cells: Should be set to <2>. The first number is the DMA request 20 - reg: Memory map of eDMA CC 21 - reg-names: "edma3_cc" 22 - interrupts: Interrupt lines for CCINT, MPERR and CCERRINT. 23 - interrupt-names: "edma3_ccint", "edma3_mperr" and "edma3_ccerrint" [all …]
|