/linux/Documentation/devicetree/bindings/dma/ |
H A D | intel,ldma.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/dma/intel,ldma.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Lightning Mountain centralized DMA controllers. 10 - chuanhua.lei@intel.com 11 - mallikarjunax.reddy@intel.com 14 - $ref: dma-controller.yaml# 19 - intel,lgm-cdma 20 - intel,lgm-dma2tx [all …]
|
/linux/drivers/net/ethernet/qlogic/qlcnic/ |
H A D | qlcnic_minidump.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright (c) 2009-2013 QLogic Corporation 274 return hdr->saved_state[index]; in qlcnic_82xx_get_saved_state() 282 hdr->saved_state[index] = value; in qlcnic_82xx_set_saved_state() 289 hdr = fw_dump->tmpl_hdr; in qlcnic_82xx_cache_tmpl_hdr_values() 290 fw_dump->tmpl_hdr_size = hdr->size; in qlcnic_82xx_cache_tmpl_hdr_values() 291 fw_dump->version = hdr->version; in qlcnic_82xx_cache_tmpl_hdr_values() 292 fw_dump->num_entries = hdr->num_entries; in qlcnic_82xx_cache_tmpl_hdr_values() 293 fw_dump->offset = hdr->offset; in qlcnic_82xx_cache_tmpl_hdr_values() 295 hdr->drv_cap_mask = hdr->cap_mask; in qlcnic_82xx_cache_tmpl_hdr_values() [all …]
|
/linux/drivers/net/ethernet/netronome/nfp/nfdk/ |
H A D | rings.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 13 struct device *dev = dp->dev; in nfp_nfdk_tx_ring_reset() 16 while (!tx_ring->is_xdp && tx_ring->rd_p != tx_ring->wr_p) { in nfp_nfdk_tx_ring_reset() 23 rd_idx = D_IDX(tx_ring, tx_ring->rd_p); in nfp_nfdk_tx_ring_reset() 24 txbuf = &tx_ring->ktxbufs[rd_idx]; in nfp_nfdk_tx_ring_reset() 26 skb = txbuf->skb; in nfp_nfdk_tx_ring_reset() 28 n_descs = D_BLOCK_CPL(tx_ring->rd_p); in nfp_nfdk_tx_ring_reset() 32 nr_frags = skb_shinfo(skb)->nr_frags; in nfp_nfdk_tx_ring_reset() 37 dma_unmap_single(dev, txbuf->dma_addr, size, DMA_TO_DEVICE); in nfp_nfdk_tx_ring_reset() 41 frag = skb_shinfo(skb)->frags; in nfp_nfdk_tx_ring_reset() [all …]
|
/linux/drivers/net/ethernet/netronome/nfp/nfd3/ |
H A D | rings.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 /* Copyright (C) 2015-2019 Netronome Systems, Inc. */ 16 while (tx_ring->rd_p != tx_ring->wr_p) { in nfp_nfd3_xsk_tx_bufs_free() 17 idx = D_IDX(tx_ring, tx_ring->rd_p); in nfp_nfd3_xsk_tx_bufs_free() 18 txbuf = &tx_ring->txbufs[idx]; in nfp_nfd3_xsk_tx_bufs_free() 20 txbuf->real_len = 0; in nfp_nfd3_xsk_tx_bufs_free() 22 tx_ring->qcp_rd_p++; in nfp_nfd3_xsk_tx_bufs_free() 23 tx_ring->rd_p++; in nfp_nfd3_xsk_tx_bufs_free() 25 if (tx_ring->r_vec->xsk_pool) { in nfp_nfd3_xsk_tx_bufs_free() 26 if (txbuf->is_xsk_tx) in nfp_nfd3_xsk_tx_bufs_free() [all …]
|
H A D | dp.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 /* Copyright (C) 2015-2019 Netronome Systems, Inc. */ 20 * driver en-queues packets for transmit by advancing the write 42 * nfp_nfd3_tx_ring_stop() - stop tx ring 63 * nfp_nfd3_tx_tso() - Set up Tx descriptor for LSO 64 * @r_vec: per-ring structure 70 * Set up Tx descriptor for LSO, do nothing for non-LSO skbs. 83 if (!skb->encapsulation) { in nfp_nfd3_tx_tso() 86 l4_hdrlen = (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) ? in nfp_nfd3_tx_tso() 91 l4_hdrlen = (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) ? in nfp_nfd3_tx_tso() [all …]
|
/linux/drivers/mtd/nand/raw/ |
H A D | sunxi_nand.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 * https://github.com/yuq/sunxi-nfc-mtd 9 * https://github.com/hno/Allwinner-Info 16 #include <linux/dma-mapping.h> 70 #define NFC_PAGE_SHIFT(x) (((x) < 10 ? 0 : (x) - 10) << 8) 107 #define NFC_ADR_NUM(x) (((x) - 1) << 16) 161 * struct sunxi_nand_chip_sel - stores information related to NAND Chip Select 164 * @rb: the Ready/Busy pin ID. -1 means no R/B pin connected to the NFC 172 * struct sunxi_nand_hw_ecc - stores information related to HW ECC support 181 * struct sunxi_nand_chip - stores NAND chip device related information [all …]
|
/linux/drivers/net/ethernet/netronome/nfp/ |
H A D | nfp_net_dp.h | 1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 11 return dma_map_single_attrs(dp->dev, frag + NFP_NET_RX_BUF_HEADROOM, in nfp_net_dma_map_rx() 12 dp->fl_bufsz - NFP_NET_RX_BUF_NON_DATA, in nfp_net_dma_map_rx() 13 dp->rx_dma_dir, DMA_ATTR_SKIP_CPU_SYNC); in nfp_net_dma_map_rx() 19 dma_sync_single_for_device(dp->dev, dma_addr, in nfp_net_dma_sync_dev_rx() 20 dp->fl_bufsz - NFP_NET_RX_BUF_NON_DATA, in nfp_net_dma_sync_dev_rx() 21 dp->rx_dma_dir); in nfp_net_dma_sync_dev_rx() 27 dma_unmap_single_attrs(dp->dev, dma_addr, in nfp_net_dma_unmap_rx() 28 dp->fl_bufsz - NFP_NET_RX_BUF_NON_DATA, in nfp_net_dma_unmap_rx() 29 dp->rx_dma_dir, DMA_ATTR_SKIP_CPU_SYNC); in nfp_net_dma_unmap_rx() [all …]
|
H A D | nfp_net.h | 1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 2 /* Copyright (C) 2015-2018 Netronome Systems, Inc. */ 21 #include <linux/io-64-nonatomic-hi-lo.h> 32 if (__nn->dp.netdev) \ 33 netdev_printk(lvl, __nn->dp.netdev, fmt, ## args); \ 35 dev_printk(lvl, __nn->dp.dev, "ctrl: " fmt, ## args); \ 48 if (__dp->netdev) \ 49 netdev_warn(__dp->netdev, fmt, ## args); \ 51 dev_warn(__dp->dev, fmt, ## args); \ 89 #define NFP_NET_XDP_MAX_COMPLETE 2048 /* XDP bufs to reclaim in NAPI poll */ [all …]
|
/linux/drivers/net/ethernet/brocade/bna/ |
H A D | bna_hw_defs.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Linux network driver for QLogic BR-series Converged Network Adapter. 6 * Copyright (c) 2005-2014 Brocade Communications Systems, Inc. 7 * Copyright (c) 2014-2015 QLogic Corporation 28 #define BFI_INVALID_RID -1 42 #define BFI_TX_INTERPKT_COUNT 12 /* Pkt Cnt = 12 */ 45 #define BFI_RX_INTERPKT_COUNT 6 /* Pkt Cnt = 6 */ 80 (_bna)->regs.fn_int_status = (_pcidev)->pci_bar_kva + \ 81 reg_offset[(_pcidev)->pci_func].fn_int_status;\ 82 (_bna)->regs.fn_int_mask = (_pcidev)->pci_bar_kva + \ [all …]
|
/linux/drivers/dma/xilinx/ |
H A D | xilinx_dpdma.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2015 - 2020 Xilinx, Inc. 15 #include <linux/dma/xilinx_dpdma.h> 28 #include <dt-bindings/dma/xlnx-zynqmp-dpdma.h> 31 #include "../virt-dma.h" 142 * struct xilinx_dpdma_hw_desc - DPDMA hardware descriptor 180 * struct xilinx_dpdma_sw_desc - DPDMA software descriptor 183 * @dma_addr: DMA address of the software descriptor 192 * struct xilinx_dpdma_tx_desc - DPDMA transaction descriptor 193 * @vdesc: virtual DMA descriptor [all …]
|
/linux/drivers/scsi/qla4xxx/ |
H A D | ql4_nx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright (c) 2003-2013 QLogic Corporation 14 #include <linux/io-64-nonatomic-lo-hi.h> 40 if ((off < ha->first_page_group_end) && in qla4_8xxx_pci_base_offsetfset() 41 (off >= ha->first_page_group_start)) in qla4_8xxx_pci_base_offsetfset() 42 return (void __iomem *)(ha->nx_pcibase + off); in qla4_8xxx_pci_base_offsetfset() 363 ha->crb_win = CRB_HI(*off); in qla4_82xx_pci_set_crbwindow_2M() 364 writel(ha->crb_win, in qla4_82xx_pci_set_crbwindow_2M() 365 (void __iomem *)(CRB_WINDOW_2M + ha->nx_pcibase)); in qla4_82xx_pci_set_crbwindow_2M() 369 win_read = readl((void __iomem *)(CRB_WINDOW_2M + ha->nx_pcibase)); in qla4_82xx_pci_set_crbwindow_2M() [all …]
|
/linux/drivers/net/wireless/realtek/rtw89/ |
H A D | pci.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 25 struct rtw89_pci *rtwpci = (struct rtw89_pci *)rtwdev->priv; in rtw89_pci_get_phy_offset_by_link_speed() 26 struct pci_dev *pdev = rtwpci->pdev; in rtw89_pci_get_phy_offset_by_link_speed() 41 return -EFAULT; in rtw89_pci_get_phy_offset_by_link_speed() 65 const struct rtw89_pci_info *info = rtwdev->pci_info; in rtw89_pci_dma_recalc() 66 u32 cnt, cur_rp, wp, rp, len; in rtw89_pci_dma_recalc() local 68 rp = bd_ring->rp; in rtw89_pci_dma_recalc() 69 wp = bd_ring->wp; in rtw89_pci_dma_recalc() 70 len = bd_ring->len; in rtw89_pci_dma_recalc() 74 cnt = cur_rp >= rp ? cur_rp - rp : len - (rp - cur_rp); in rtw89_pci_dma_recalc() [all …]
|
H A D | pci_be.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 24 struct rtw89_pci *rtwpci = (struct rtw89_pci *)rtwdev->priv; in rtw89_pci_aspm_set_be() 25 struct pci_dev *pdev = rtwpci->pdev; in rtw89_pci_aspm_set_be() 80 const struct rtw89_pci_info *info = rtwdev->pci_info; in rtw89_pci_set_io_rcy_be() 84 if (info->io_rcy_en == MAC_AX_PCIE_ENABLE) { in rtw89_pci_set_io_rcy_be() 85 val32 = info->io_rcy_tmr == MAC_AX_IO_RCY_ANA_TMR_DEF ? in rtw89_pci_set_io_rcy_be() 86 PL0_TMR_ANA_172US : info->io_rcy_tmr; in rtw89_pci_set_io_rcy_be() 98 val32 = info->io_rcy_tmr == MAC_AX_IO_RCY_ANA_TMR_DEF ? in rtw89_pci_set_io_rcy_be() 99 PL0_TMR_MAC_1MS : info->io_rcy_tmr; in rtw89_pci_set_io_rcy_be() 104 val32 = info->io_rcy_tmr == MAC_AX_IO_RCY_ANA_TMR_DEF ? in rtw89_pci_set_io_rcy_be() [all …]
|
/linux/Documentation/driver-api/usb/ |
H A D | usb.rst | 1 .. _usb-hostside-api: 4 The Linux-USB Host Side API 18 That master/slave asymmetry was designed-in for a number of reasons, one 22 distributed auto-configuration since the pre-designated master node 37 USB Host-Side API Model 40 Host-side drivers for USB devices talk to the "usbcore" APIs. There are 41 two. One is intended for *general-purpose* drivers (exposed through 49 - USB supports four kinds of data transfers (control, bulk, interrupt, 54 - The device description model includes one or more "configurations" 60 - From USB 3.0 on configurations have one or more "functions", which [all …]
|
/linux/drivers/net/ethernet/intel/ice/ |
H A D | ice_txrx.c | 1 // SPDX-License-Identifier: GPL-2.0 26 * ice_prgm_fdir_fltr - Program a Flow Director filter 40 dma_addr_t dma; in ice_prgm_fdir_fltr() local 46 return -ENOENT; in ice_prgm_fdir_fltr() 47 tx_ring = vsi->tx_rings[0]; in ice_prgm_fdir_fltr() 48 if (!tx_ring || !tx_ring->desc) in ice_prgm_fdir_fltr() 49 return -ENOENT; in ice_prgm_fdir_fltr() 50 dev = tx_ring->dev; in ice_prgm_fdir_fltr() 53 for (i = ICE_FDIR_CLEAN_DELAY; ICE_DESC_UNUSED(tx_ring) < 2; i--) { in ice_prgm_fdir_fltr() 55 return -EAGAIN; in ice_prgm_fdir_fltr() [all …]
|
/linux/drivers/net/ethernet/ti/ |
H A D | davinci_emac.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * DaVinci EMAC is based upon CPPI 3.0 TI DMA engine 9 * --------------------------------------------------------------------------- 11 * 0-5 A number of folks worked on this driver in bits and pieces but the major 13 * 6.0 Anant Gole - rewrote the driver as per Linux conventions 14 * 6.1 Chaithrika U S - added support for Gigabit and RMII features, 38 #include <linux/dma-mapping.h> 106 #define EMAC_DEF_BUFFER_OFFSET (0) /* Buffer offset to DMA (future) */ 117 #define EMAC_DEF_RX_MAX_SERVICE (64) /* should = netdev->weight */ 316 struct cpdma_ctlr *dma; member [all …]
|
/linux/drivers/net/wireless/realtek/rtw88/ |
H A D | pci.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2 /* Copyright(c) 2018-2019 Realtek Corporation 47 return skb->priority; in rtw_pci_get_tx_qsel() 53 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_read8() 55 return readb(rtwpci->mmap + addr); in rtw_pci_read8() 60 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_read16() 62 return readw(rtwpci->mmap + addr); in rtw_pci_read16() 67 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_read32() 69 return readl(rtwpci->mmap + addr); in rtw_pci_read32() 74 struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv; in rtw_pci_write8() [all …]
|
/linux/drivers/net/ethernet/broadcom/ |
H A D | sb1250-mac.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * This driver is designed for the Broadcom SiByte SOC built-in 48 /* A few user-configurable values which may be modified when a driver 116 sbmac_duplex_none = -1, 142 #define SBDMA_NEXTBUF(d,f) ((((d)->f+1) == (d)->sbdma_dscrtable_end) ? \ 143 (d)->sbdma_dscrtable : (d)->f+1) 155 * DMA Descriptor structure 164 * DMA Controller structure 186 void __iomem *sbdma_config0; /* DMA config register 0 */ 187 void __iomem *sbdma_config1; /* DMA config register 1 */ [all …]
|
/linux/drivers/net/ethernet/myricom/myri10ge/ |
H A D | myri10ge.c | 2 * myri10ge.c: Myricom Myri-10G Ethernet driver. 4 * Copyright (C) 2005 - 2011 Myricom, Inc. 34 * http://www.myri.com/scs/download-Myri10GE.html 49 #include <linux/dma-mapping.h> 78 #define MYRI10GE_VERSION_STR "1.5.3-1.534" 132 int cnt; member 135 int mask; /* number of rx slots -1 */ 146 int mask; /* number of transmit slots -1 */ 160 int cnt; member 274 {[0 ... (MYRI10GE_MAX_BOARDS - 1)] = NULL }; [all …]
|
/linux/drivers/scsi/ |
H A D | NCR5380.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * to implement 5380 SCSI drivers under Linux with a non-trantor 13 * +1 (303) 666-5836 24 * 1+ (719) 578-3400 25 * 1+ (800) 334-5454 42 * transfer - some PC's will use the I/O bus, 68K's must use 46 * each 5380 in the system - commands that haven't been issued yet, 51 * allowing multiple commands to propagate all the way to a SCSI-II device 57 * When used in a PIO or pseudo-dma mode, the NCR5380 is a braindead 101 * NCR5380_read(register) - read from the specified register [all …]
|
/linux/drivers/misc/bcm-vk/ |
H A D | bcm_vk_msg.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright 2018-2020 Broadcom. 12 #include <linux/poll.h> 46 u32 q_num = msg->trans_id & BCM_VK_MSG_Q_MASK; in get_q_num() 62 msg->trans_id = (msg->trans_id & ~BCM_VK_MSG_Q_MASK) | trans_q; in set_q_num() 67 return ((msg->trans_id >> BCM_VK_MSG_Q_SHIFT) & BCM_VK_MSG_ID_MASK); in get_msg_id() 72 msg->trans_id = (val << BCM_VK_MSG_Q_SHIFT) | get_q_num(msg); in set_msg_id() 77 return ((idx + inc) & qinfo->q_mask); in msgq_inc() 84 return qinfo->q_start + (VK_MSGQ_BLK_SIZE * idx); in msgq_blk_addr() 92 wr_idx = readl_relaxed(&msgq->wr_idx); in msgq_occupied() [all …]
|
/linux/drivers/net/wwan/t7xx/ |
H A D | t7xx_hif_dpmaif_rx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright (c) 2021-2022, Intel Corporation. 23 #include <linux/dma-direction.h> 24 #include <linux/dma-mapping.h> 75 value = FIELD_GET(PD_PIT_H_BID, le32_to_cpu(pit_info->pd.footer)); in t7xx_normal_pit_bid() 77 value += FIELD_GET(PD_PIT_BUFFER_ID, le32_to_cpu(pit_info->header)); in t7xx_normal_pit_bid() 84 struct dpmaif_rx_queue *rxq = &dpmaif_ctrl->rxq[q_num]; in t7xx_dpmaif_update_bat_wr_idx() 85 struct dpmaif_bat_request *bat_req = rxq->bat_req; in t7xx_dpmaif_update_bat_wr_idx() 88 if (!rxq->que_started) { in t7xx_dpmaif_update_bat_wr_idx() 89 dev_err(dpmaif_ctrl->dev, "RX queue %d has not been started\n", rxq->index); in t7xx_dpmaif_update_bat_wr_idx() [all …]
|
/linux/drivers/media/pci/tw686x/ |
H A D | tw686x-video.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2015 VanguardiaSur - www.vanguardiasur.com.ar 16 #include <media/v4l2-common.h> 17 #include <media/v4l2-event.h> 18 #include <media/videobuf2-dma-contig.h> 19 #include <media/videobuf2-dma-sg.h> 20 #include <media/videobuf2-vmalloc.h> 22 #include "tw686x-regs.h" 30 #define TW686X_MAX_SG_DESC_COUNT 256 /* PAL 720x576 needs 203 4-KB pages */ 52 struct tw686x_dma_desc *desc = &vc->dma_descs[pb]; in tw686x_buf_done() [all …]
|
/linux/drivers/media/pci/saa7164/ |
H A D | saa7164-vbi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (c) 2010-2015 Steven Toth <stoth@kernellabs.com> 15 struct saa7164_dev *dev = port->dev; in saa7164_vbi_configure() 18 port->vbi_params.width = port->enc_port->width; in saa7164_vbi_configure() 19 port->vbi_params.height = port->enc_port->height; in saa7164_vbi_configure() 20 port->vbi_params.is_50hz = in saa7164_vbi_configure() 21 (port->enc_port->encodernorm.id & V4L2_STD_625_50) != 0; in saa7164_vbi_configure() 31 struct saa7164_dev *dev = port->dev; in saa7164_vbi_buffers_dealloc() 36 mutex_lock(&port->dmaqueue_lock); in saa7164_vbi_buffers_dealloc() 38 dprintk(DBGLVL_VBI, "%s(port=%d) dmaqueue\n", __func__, port->nr); in saa7164_vbi_buffers_dealloc() [all …]
|
/linux/drivers/net/ethernet/marvell/ |
H A D | skge.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 133 CS_CLK_RUN_HOT = 1<<13,/* CLK_RUN hot m. (YUKON-Lite only) */ 134 CS_CLK_RUN_RST = 1<<12,/* CLK_RUN reset (YUKON-Lite only) */ 135 CS_CLK_RUN_ENA = 1<<11,/* CLK_RUN enable (YUKON-Lite only) */ 179 IS_LNK_SYNC_M1 = 1<<20, /* Link Sync Cnt wrap MAC 1 */ 181 IS_LNK_SYNC_M2 = 1<<18, /* Link Sync Cnt wrap MAC 2 */ 262 CHIP_ID_YUKON_LITE = 0xb1, /* Chip ID for YUKON-Lite (Rev. A1-A3) */ 263 CHIP_ID_YUKON_LP = 0xb2, /* Chip ID for YUKON-LP */ 264 CHIP_ID_YUKON_XL = 0xb3, /* Chip ID for YUKON-2 XL */ 265 CHIP_ID_YUKON_EC = 0xb6, /* Chip ID for YUKON-2 EC */ [all …]
|