/openbmc/linux/sound/soc/meson/ |
H A 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" 15 u32 tx; 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 …]
|
H A 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" 25 unsigned int slots = 0; in axg_tdm_slots_total() local 31 /* Count the total number of slots provided by all 4 lanes */ in axg_tdm_slots_total() 33 slots += hweight32(mask[i]); in axg_tdm_slots_total() 35 return slots; in axg_tdm_slots_total() 39 u32 *rx_mask, unsigned int slots, in axg_tdm_set_tdm_slots() argument 43 struct axg_tdm_stream *tx = snd_soc_dai_dma_data_get_playback(dai); in axg_tdm_set_tdm_slots() local 53 dev_err(dai->dev, "interface has no slot\n"); in axg_tdm_set_tdm_slots() [all …]
|
/openbmc/linux/sound/soc/fsl/ |
H A 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 43 #include <linux/dma/imx-dma.h> 53 #include "imx-pcm.h" 55 /* Define RX and TX to index ssi->regvals array; Can be 0 or 1 only */ 57 #define TX 1 macro [all …]
|
H A 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 48 * @tx_mask: slot mask for TX 50 * @channels: channel num for tx or rx 56 * @synchronous: if using tx/rx synchronous mode 73 u32 slots; member [all …]
|
H A D | fsl_sai.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 // Copyright 2012-2015 Freescale Semiconductor, Inc. 23 #include <linux/mfd/syscon/imx6q-iomuxc-gpr.h> 27 #include "imx-pcm.h" 45 * fsl_sai_dir_is_synced - Check if stream is synced by the opposite stream 56 int adir = (dir == TX) ? RX : TX; in fsl_sai_dir_is_synced() 59 return !sai->synchronous[dir] && sai->synchronous[adir]; in fsl_sai_dir_is_synced() 66 if (sai->is_pdm_mode) { in fsl_sai_get_pins_state() 69 state = pinctrl_lookup_state(sai->pinctrl, "dsd512"); in fsl_sai_get_pins_state() 73 state = pinctrl_lookup_state(sai->pinctrl, "dsd"); in fsl_sai_get_pins_state() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/net/ |
H A 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 …]
|
/openbmc/linux/Documentation/devicetree/bindings/sound/ |
H A D | davinci-mcasp-audio.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/davinci-mcasp-audio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jayesh Choudhary <j-choudhary@ti.com> 15 - ti,dm646x-mcasp-audio 16 - ti,da830-mcasp-audio 17 - ti,am33xx-mcasp-audio 18 - ti,dra7-mcasp-audio 19 - ti,omap4-mcasp-audio [all …]
|
H A 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 …]
|
/openbmc/linux/drivers/net/ethernet/litex/ |
H A D | litex_liteeth.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 46 /* Tx */ 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() 86 netdev->stats.rx_dropped++; in liteeth_rx() 87 netdev->stats.rx_errors++; in liteeth_rx() 98 reg = litex_read8(priv->base + LITEETH_READER_EV_PENDING); in liteeth_interrupt() 102 litex_write8(priv->base + LITEETH_READER_EV_PENDING, reg); in liteeth_interrupt() [all …]
|
/openbmc/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,cpm1-tsa.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-tsa.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: PowerQUICC CPM Time-slot assigner (TSA) controller 10 - Herve Codina <herve.codina@bootlin.com> 13 The TSA is the time-slot assigner that can be found on some PowerQUICC SoC. 14 Its purpose is to route some TDM time-slots to other internal serial 20 - enum: 21 - fsl,mpc885-tsa [all …]
|
/openbmc/linux/drivers/net/xen-netback/ |
H A 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 65 * because it isn't providing Rx slots. 77 * This is the maximum slots a skb can have. If a guest sends a skb 84 /* The amount to copy out of the first guest Tx slot into the skb's 100 * for xen-netfront with the XDP_PACKET_HEADROOM offset 121 return page_to_pfn(queue->mmap_pages[idx]); in idx_to_pfn() [all …]
|
/openbmc/linux/drivers/net/ethernet/google/gve/ |
H A D | gve_tx.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 4 * Copyright (C) 2015-2021 Google, Inc. 20 iowrite32be(val, &priv->db_bar2[be32_to_cpu(q_resources->db_index)]); in gve_tx_put_doorbell() 26 struct gve_tx_ring *tx = &priv->tx[tx_qid]; in gve_xdp_tx_flush() local 28 gve_tx_put_doorbell(priv, tx->q_resources, tx->req); in gve_xdp_tx_flush() 32 * We copy skb payloads into the registered segment before writing Tx 33 * descriptors and ringing the Tx doorbell. 35 * gve_tx_fifo_* manages the Registered Segment as a FIFO - clients must 41 fifo->base = vmap(fifo->qpl->pages, fifo->qpl->num_entries, VM_MAP, in gve_tx_fifo_init() 43 if (unlikely(!fifo->base)) { in gve_tx_fifo_init() [all …]
|
H A D | gve_rx.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 4 * Copyright (C) 2015-2021 Google, Inc. 19 dma_addr_t dma = (dma_addr_t)(be64_to_cpu(data_slot->addr) & in gve_rx_free_buffer() 22 page_ref_sub(page_info->page, page_info->pagecnt_bias - 1); in gve_rx_free_buffer() 23 gve_free_page(dev, page_info->page, dma, DMA_FROM_DEVICE); in gve_rx_free_buffer() 28 u32 slots = rx->mask + 1; in gve_rx_unfill_pages() local 31 if (rx->data.raw_addressing) { in gve_rx_unfill_pages() 32 for (i = 0; i < slots; i++) in gve_rx_unfill_pages() 33 gve_rx_free_buffer(&priv->pdev->dev, &rx->data.page_info[i], in gve_rx_unfill_pages() 34 &rx->data.data_ring[i]); in gve_rx_unfill_pages() [all …]
|
/openbmc/linux/sound/soc/ |
H A 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 …]
|
/openbmc/linux/drivers/net/wireless/broadcom/b43legacy/ |
H A D | dma.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 14 /* DMA-Interrupt reasons. */ 21 /*** 32-bit DMA Engine. ***/ 23 /* 32-bit DMA controller registers. */ 72 /* 32-bit DMA descriptor. */ 109 /* The kernel DMA-able buffer. */ 111 /* DMA base bus-address of the descriptor buffer. */ 113 /* ieee80211 TX status. Only used once per 802.11 frag. */ 127 /* Cache of TX headers for each slot. 128 * This is to avoid an allocation on each TX. [all …]
|
/openbmc/linux/sound/soc/ti/ |
H A 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 …]
|
/openbmc/linux/drivers/net/ |
H A D | xen-netfront.c | 4 * Copyright (c) 2002-2005, K A Fraser 81 #define NETFRONT_SKB_CB(skb) ((struct netfront_cb *)((skb)->cb)) 88 /* Minimum number of Rx slots (includes slot for GSO metadata). */ 91 /* Queue name is interface name with "-qNNN" appended */ 94 /* IRQ name is queue name with "-tx" or "-rx" appended */ 108 unsigned int id; /* Queue ID, 0-based */ 109 char name[QUEUE_NAME_SIZE]; /* DEVNAME-qN */ 122 char tx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-tx */ 123 char rx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-rx */ 126 struct xen_netif_tx_front_ring tx; member [all …]
|
/openbmc/linux/include/uapi/linux/hsi/ |
H A D | cs-protocol.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 3 * cmt-speech interface definitions 20 /* user-space API versioning */ 23 /* APE kernel <-> user space messages */ 52 /* maximum number of TX/RX buffers */ 58 __u32 rx_bufs; /* number of RX buffer slots */ 59 __u32 tx_bufs; /* number of TX buffer slots */ 76 * This information is meant as read-only information for the application. 82 __u32 tx_bufs; /* # of TX buffers */ 84 /* array of offsets within the mmap area for each RX and TX buffer */
|
/openbmc/linux/drivers/net/wireless/broadcom/b43/ |
H A D | dma.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 /* DMA-Interrupt reasons. */ 16 /*** 32-bit DMA Engine. ***/ 18 /* 32-bit DMA controller registers. */ 69 /* 32-bit DMA descriptor. */ 82 /*** 64-bit DMA Engine. ***/ 84 /* 64-bit DMA controller registers. */ 142 /* 64-bit DMA descriptor. */ 178 #define B43_DMA_PTR_POISON ((void *)ERR_PTR(-ENOMEM)) 187 /* The kernel DMA-able buffer. */ [all …]
|
/openbmc/linux/sound/soc/bcm/ |
H A D | bcm2835-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 23 * Copyright 2007-2010 Freescale Semiconductor, Inc. 130 unsigned int provider = dev->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_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 …]
|
/openbmc/qemu/net/ |
H A D | netmap.c | 4 * Copyright (c) 2012-2013 Luigi Rizzo 36 #include "qemu/error-report.h" 40 #include "qemu/main-loop.h" 46 struct netmap_ring *tx; member 51 int vnet_hdr_len; /* Current virtio-net header length. */ 67 for (; l > 0; l -= 64) { in pkt_copy() 92 nmd = nm_open(nm_opts->ifname, &req, NETMAP_NO_TX_POLL, in netmap_open() 96 nm_opts->ifname); in netmap_open() 106 /* Set the event-loop handlers for the netmap backend. */ 109 qemu_set_fd_handler(s->nmd->fd, in netmap_update_fd_handler() [all …]
|
/openbmc/linux/drivers/misc/mei/ |
H A D | mei_dev.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2003-2022, Intel Corporation. All rights reserved. 44 #define MEI_MAX_OPEN_HANDLE_COUNT (MEI_CLIENTS_MAX - 1) 71 * enum mei_dev_pxp_mode - MEI PXP mode state 94 * enum mei_cb_file_ops - file operation associated with the callback 118 * enum mei_cl_io_mode - io mode between driver and fw 123 * @MEI_CL_IO_RX_NONBLOCK: recv is non-blocking 152 * struct mei_dma_dscr - dma address descriptor 171 * struct mei_fw_status - storage of FW status data 182 * struct mei_me_client - representation of me (fw) client [all …]
|
/openbmc/linux/drivers/dma/ppc4xx/ |
H A D | adma.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * 2006-2009 (C) DENX Software Engineering. 19 #define tx_to_ppc440spe_adma_slot(tx) \ argument 20 container_of(tx, struct ppc440spe_adma_desc_slot, async_tx) 46 * struct ppc440spe_adma_device - internal representation of an ADMA device 74 * struct ppc440spe_adma_chan - internal representation of an ADMA channel 79 * @all_slots: complete domain of slots usable by the channel 119 * struct ppc440spe_adma_desc_slot - PPC440SPE-ADMA software descriptor 126 * @group_list: list of slots that make up a multi-descriptor transaction 132 * @slot_cnt: total slots used in an transaction (group of operations) [all …]
|
/openbmc/linux/drivers/net/ethernet/broadcom/ |
H A D | bcm4908_enet.c | 1 // SPDX-License-Identifier: GPL-2.0-only 45 #define ENET_RX_BUF_DMA_SIZE (ENET_RX_SKB_BUF_SIZE - ENET_RX_BUF_DMA_OFFSET) 55 struct sk_buff *skb; /* TX */ 76 struct bcm4908_enet_dma_ring_slot *slots; member 95 return readl(enet->base + offset); in enet_read() 100 writel(value, enet->base + offset); in enet_write() 150 enet_write(enet, ring->cfg_block + ENET_DMA_CH_CFG_INT_MASK, ENET_DMA_INT_DEFAULTS); in bcm4908_enet_dma_ring_intrs_on() 156 enet_write(enet, ring->cfg_block + ENET_DMA_CH_CFG_INT_MASK, 0); in bcm4908_enet_dma_ring_intrs_off() 162 enet_write(enet, ring->cfg_block + ENET_DMA_CH_CFG_INT_STAT, ENET_DMA_INT_DEFAULTS); in bcm4908_enet_dma_ring_intrs_ack() 172 int size = ring->length * sizeof(struct bcm4908_enet_dma_ring_bd); in bcm4908_dma_alloc_buf_descs() [all …]
|