/Linux-v5.10/drivers/tty/serial/ |
D | omap-serial.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Driver for OMAP-UART controller. 16 * this driver as required for the omap-platform. 37 #include <linux/platform_data/serial-omap.h> 78 #define OMAP_UART_DMA_CH_FREE -1 169 static void serial_omap_mdr1_errataset(struct uart_omap_port *up, u8 mdr1); 171 static inline unsigned int serial_in(struct uart_omap_port *up, int offset) in serial_in() argument 173 offset <<= up->port.regshift; in serial_in() 174 return readw(up->port.membase + offset); in serial_in() 177 static inline void serial_out(struct uart_omap_port *up, int offset, int value) in serial_out() argument [all …]
|
D | sunsu.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * Copyright (C) 1998-1999 Pete Zaitcev (zaitcev@yahoo.com) 13 * Theodore Ts'o <tytso@mit.edu>, 2001-Oct-12 16 * David S. Miller (davem@davemloft.net), 2002-Jul-29 104 static unsigned int serial_in(struct uart_sunsu_port *up, int offset) in serial_in() argument 106 offset <<= up->port.regshift; in serial_in() 108 switch (up->port.iotype) { in serial_in() 110 outb(up->port.hub6 - 1 + offset, up->port.iobase); in serial_in() 111 return inb(up->port.iobase + 1); in serial_in() 114 return readb(up->port.membase + offset); in serial_in() [all …]
|
D | sunsab.c | 1 // SPDX-License-Identifier: GPL-2.0 13 * Theodore Ts'o <tytso@mit.edu>, 2001-Oct-12 91 static __inline__ void sunsab_tec_wait(struct uart_sunsab_port *up) in sunsab_tec_wait() argument 93 int timeout = up->tec_timeout; in sunsab_tec_wait() 95 while ((readb(&up->regs->r.star) & SAB82532_STAR_TEC) && --timeout) in sunsab_tec_wait() 99 static __inline__ void sunsab_cec_wait(struct uart_sunsab_port *up) in sunsab_cec_wait() argument 101 int timeout = up->cec_timeout; in sunsab_cec_wait() 103 while ((readb(&up->regs->r.star) & SAB82532_STAR_CEC) && --timeout) in sunsab_cec_wait() 108 receive_chars(struct uart_sunsab_port *up, in receive_chars() argument 118 if (up->port.state != NULL) /* Unopened serial console */ in receive_chars() [all …]
|
D | sunzilog.c | 1 // SPDX-License-Identifier: GPL-2.0 48 /* On 32-bit sparcs we need to delay after register accesses 50 * On 64-bit sparc we only need to flush single writes to ensure 61 readb(&((__channel)->control)) 105 #define ZILOG_CHANNEL_FROM_PORT(PORT) ((struct zilog_channel __iomem *)((PORT)->membase)) 108 #define ZS_IS_KEYB(UP) ((UP)->flags & SUNZILOG_FLAG_CONS_KEYB) argument 109 #define ZS_IS_MOUSE(UP) ((UP)->flags & SUNZILOG_FLAG_CONS_MOUSE) argument 110 #define ZS_IS_CONS(UP) ((UP)->flags & SUNZILOG_FLAG_IS_CONS) argument 111 #define ZS_IS_KGDB(UP) ((UP)->flags & SUNZILOG_FLAG_IS_KGDB) argument 112 #define ZS_WANTS_MODEM_STATUS(UP) ((UP)->flags & SUNZILOG_FLAG_MODEM_STATUS) argument [all …]
|
D | pxa.c | 1 // SPDX-License-Identifier: GPL-2.0+ 51 static inline unsigned int serial_in(struct uart_pxa_port *up, int offset) in serial_in() argument 54 return readl(up->port.membase + offset); in serial_in() 57 static inline void serial_out(struct uart_pxa_port *up, int offset, int value) in serial_out() argument 60 writel(value, up->port.membase + offset); in serial_out() 65 struct uart_pxa_port *up = (struct uart_pxa_port *)port; in serial_pxa_enable_ms() local 67 up->ier |= UART_IER_MSI; in serial_pxa_enable_ms() 68 serial_out(up, UART_IER, up->ier); in serial_pxa_enable_ms() 73 struct uart_pxa_port *up = (struct uart_pxa_port *)port; in serial_pxa_stop_tx() local 75 if (up->ier & UART_IER_THRI) { in serial_pxa_stop_tx() [all …]
|
D | ar933x_uart.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Atheros AR933X SoC built-in UART driver 31 #include <asm/mach-ath79/ar933x_uart.h> 35 #define DRIVER_NAME "ar933x-uart" 57 static inline unsigned int ar933x_uart_read(struct ar933x_uart_port *up, in ar933x_uart_read() argument 60 return readl(up->port.membase + offset); in ar933x_uart_read() 63 static inline void ar933x_uart_write(struct ar933x_uart_port *up, in ar933x_uart_write() argument 66 writel(value, up->port.membase + offset); in ar933x_uart_write() 69 static inline void ar933x_uart_rmw(struct ar933x_uart_port *up, in ar933x_uart_rmw() argument 76 t = ar933x_uart_read(up, offset); in ar933x_uart_rmw() [all …]
|
D | serial_txx9.c | 1 // SPDX-License-Identifier: GPL-2.0 10 * Copyright (C) 2000-2002 Toshiba Corporation 166 static inline unsigned int sio_in(struct uart_txx9_port *up, int offset) in sio_in() argument 168 switch (up->port.iotype) { in sio_in() 170 return __raw_readl(up->port.membase + offset); in sio_in() 172 return inl(up->port.iobase + offset); in sio_in() 177 sio_out(struct uart_txx9_port *up, int offset, int value) in sio_out() argument 179 switch (up->port.iotype) { in sio_out() 181 __raw_writel(value, up->port.membase + offset); in sio_out() 184 outl(value, up->port.iobase + offset); in sio_out() [all …]
|
D | ip22zilog.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * This is based on the drivers/serial/sunzilog.c code as of 2.6.0-test7 and the 13 * Copyright (C) 2002 Ralf Baechle (ralf@linux-mips.org) 87 #define ZILOG_CHANNEL_FROM_PORT(PORT) ((struct zilog_channel *)((PORT)->membase)) 90 (UART_ZILOG(PORT)->curregs[REGNUM]) 92 ((UART_ZILOG(PORT)->curregs[REGNUM]) = (REGVAL)) 93 #define ZS_IS_CONS(UP) ((UP)->flags & IP22ZILOG_FLAG_IS_CONS) argument 94 #define ZS_IS_KGDB(UP) ((UP)->flags & IP22ZILOG_FLAG_IS_KGDB) argument 95 #define ZS_WANTS_MODEM_STATUS(UP) ((UP)->flags & IP22ZILOG_FLAG_MODEM_STATUS) argument 96 #define ZS_IS_CHANNEL_A(UP) ((UP)->flags & IP22ZILOG_FLAG_IS_CHANNEL_A) argument [all …]
|
D | rp2.c | 1 // SPDX-License-Identifier: GPL-2.0 12 * rocketport_infinity_express-linux-1.20.tar.gz 13 * Copyright (C) 2004-2011 Comtrol, Inc. 44 #define ALL_PORTS_MASK (BIT(PORTS_PER_ASIC) - 1) 207 *ports = id->driver_data >> 8; in rp2_decode_cap() 208 *smpte = id->driver_data & 0xff; in rp2_decode_cap() 216 int ret = -ENOSPC; in rp2_alloc_ports() 234 static void rp2_rmw(struct rp2_uart_port *up, int reg, in rp2_rmw() argument 237 u32 tmp = readl(up->base + reg); in rp2_rmw() 240 writel(tmp, up->base + reg); in rp2_rmw() [all …]
|
/Linux-v5.10/drivers/staging/media/atomisp/pci/ |
D | atomisp_compat_ioctl32.c | 1 // SPDX-License-Identifier: GPL-2.0 28 /* Macros borrowed from v4l2-compat-ioctl32.c */ 49 struct atomisp_histogram32 __user *up) in get_atomisp_histogram32() argument 53 if (!access_ok(up, sizeof(struct atomisp_histogram32)) || in get_atomisp_histogram32() 54 assign_in_user(&kp->num_elements, &up->num_elements) || in get_atomisp_histogram32() 55 get_user(tmp, &up->data) || in get_atomisp_histogram32() 56 put_user(compat_ptr(tmp), &kp->data)) in get_atomisp_histogram32() 57 return -EFAULT; in get_atomisp_histogram32() 63 struct atomisp_histogram32 __user *up) in put_atomisp_histogram32() argument 67 if (!access_ok(up, sizeof(struct atomisp_histogram32)) || in put_atomisp_histogram32() [all …]
|
/Linux-v5.10/drivers/tty/serial/8250/ |
D | 8250_port.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Base port operations for 8250/16550-type serial ports 255 * tx_loadsz is set to 63-bytes instead of 64-bytes to implement 256 * workaround of errata A-008006 which states that tx_loadsz should 268 .name = "Palmchip BK-3103", 312 static int default_serial_dl_read(struct uart_8250_port *up) in default_serial_dl_read() argument 314 return serial_in(up, UART_DLL) | serial_in(up, UART_DLM) << 8; in default_serial_dl_read() 318 static void default_serial_dl_write(struct uart_8250_port *up, int value) in default_serial_dl_write() argument 320 serial_out(up, UART_DLL, value & 0xff); in default_serial_dl_write() 321 serial_out(up, UART_DLM, value >> 8 & 0xff); in default_serial_dl_write() [all …]
|
D | 8250_omap.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * 8250-core based driver for the OMAP internal UART 5 * based on omap-serial.c, Copyright (C) 2010 Texas Instruments. 29 #include <linux/dma-mapping.h> 145 static u32 uart_read(struct uart_8250_port *up, u32 reg) in uart_read() argument 147 return readl(up->port.membase + (reg << up->port.regshift)); in uart_read() 152 struct uart_8250_port *up = up_to_u8250p(port); in omap8250_set_mctrl() local 153 struct omap8250_priv *priv = up->port.private_data; in omap8250_set_mctrl() 158 if (!mctrl_gpio_to_gpiod(up->gpios, UART_GPIO_RTS)) { in omap8250_set_mctrl() 163 lcr = serial_in(up, UART_LCR); in omap8250_set_mctrl() [all …]
|
D | 8250_core.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Universal/legacy driver for 8250/16550-type serial ports 9 * Supports: ISA-compatible 8250/16550 ports 12 * userspace-configurable "phantom" ports 47 * share_irqs - whether we pass IRQF_SHARED to request_irq(). This option 48 * is unsafe when used on edge-triggered interrupts. 62 * SERIAL_PORT_DFNS tells us about built-in ports that have no 103 * line has been de-asserted. 116 spin_lock(&i->lock); in serial8250_interrupt() 118 l = i->head; in serial8250_interrupt() [all …]
|
D | 8250_mtk.c | 1 // SPDX-License-Identifier: GPL-2.0+ 19 #include <linux/dma-mapping.h> 85 static void mtk8250_rx_dma(struct uart_8250_port *up); 89 struct uart_8250_port *up = param; in mtk8250_dma_rx_complete() local 90 struct uart_8250_dma *dma = up->dma; in mtk8250_dma_rx_complete() 91 struct mtk8250_data *data = up->port.private_data; in mtk8250_dma_rx_complete() 92 struct tty_port *tty_port = &up->port.state->port; in mtk8250_dma_rx_complete() 97 if (data->rx_status == DMA_RX_SHUTDOWN) in mtk8250_dma_rx_complete() 100 dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state); in mtk8250_dma_rx_complete() 101 total = dma->rx_size - state.residue; in mtk8250_dma_rx_complete() [all …]
|
D | 8250_bcm2835aux.c | 1 // SPDX-License-Identifier: GPL-2.0 10 * The bcm2835aux is capable of RTS auto flow-control, but this driver doesn't 36 * struct bcm2835aux_data - driver private data of BCM2835 auxiliary UART 47 static void bcm2835aux_rs485_start_tx(struct uart_8250_port *up) in bcm2835aux_rs485_start_tx() argument 49 if (!(up->port.rs485.flags & SER_RS485_RX_DURING_TX)) { in bcm2835aux_rs485_start_tx() 50 struct bcm2835aux_data *data = dev_get_drvdata(up->port.dev); in bcm2835aux_rs485_start_tx() 52 data->cntl &= ~BCM2835_AUX_UART_CNTL_RXEN; in bcm2835aux_rs485_start_tx() 53 serial_out(up, BCM2835_AUX_UART_CNTL, data->cntl); in bcm2835aux_rs485_start_tx() 58 * flags besides RTS. So no need for a read-modify-write. in bcm2835aux_rs485_start_tx() 60 if (up->port.rs485.flags & SER_RS485_RTS_ON_SEND) in bcm2835aux_rs485_start_tx() [all …]
|
D | 8250.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * Driver for 8250/16550-type serial ports 76 #define UART_CAP_AFE (1 << 11) /* MCR-based hw flow control */ 111 static inline int serial_in(struct uart_8250_port *up, int offset) in serial_in() argument 113 return up->port.serial_in(&up->port, offset); in serial_in() 116 static inline void serial_out(struct uart_8250_port *up, int offset, int value) in serial_out() argument 118 up->port.serial_out(&up->port, offset, value); in serial_out() 123 static inline int serial_dl_read(struct uart_8250_port *up) in serial_dl_read() argument 125 return up->dl_read(up); in serial_dl_read() 128 static inline void serial_dl_write(struct uart_8250_port *up, int value) in serial_dl_write() argument [all …]
|
D | 8250_uniphier.c | 1 // SPDX-License-Identifier: GPL-2.0+ 17 * - MMIO32 (regshift = 2) 18 * - FCR is not at 2, but 3 19 * - LCR and MCR are not at 3 and 4, they share 4 20 * - No SCR (Instead, CHAR can be used as a scratch register) 21 * - Divisor latch at 9, no divisor latch access bit 43 if (!device->port.membase) in uniphier_early_console_setup() 44 return -ENODEV; in uniphier_early_console_setup() 47 device->port.iotype = UPIO_MEM32; in uniphier_early_console_setup() 48 device->port.regshift = UNIPHIER_UART_REGSHIFT; in uniphier_early_console_setup() [all …]
|
D | 8250_em.c | 1 // SPDX-License-Identifier: GPL-2.0 32 writeb(value, p->membase); in serial8250_em_serial_out() 38 writel(value, p->membase + ((offset + 1) << 2)); in serial8250_em_serial_out() 41 value &= 0x0f; /* only 4 valid bits - not Xscale */ in serial8250_em_serial_out() 45 writel(value, p->membase + (offset << 2)); in serial8250_em_serial_out() 53 return readb(p->membase); in serial8250_em_serial_in() 58 return readl(p->membase + ((offset + 1) << 2)); in serial8250_em_serial_in() 63 return readl(p->membase + (offset << 2)); in serial8250_em_serial_in() 68 static int serial8250_em_serial_dl_read(struct uart_8250_port *up) in serial8250_em_serial_dl_read() argument 70 return serial_in(up, UART_DLL_EM) | serial_in(up, UART_DLM_EM) << 8; in serial8250_em_serial_dl_read() [all …]
|
/Linux-v5.10/drivers/net/can/usb/ |
D | ucan.c | 1 // SPDX-License-Identifier: GPL-2.0 47 * ------------------------ 78 /* start the can transceiver - val defines the operation mode */ 82 /* send can transceiver into low-power sleep mode */ 84 /* wake up can transceiver from low-power sleep mode */ 88 /* get piece of info from the can transceiver - subcmd defines what 92 /* clear or disable hardware filter - subcmd defines which of the two */ 96 /* recover from bus-off state */ 136 __le16 mode; /* OR-ing any of UCAN_MODE_* */ 204 * msg.len - sizeof (msg.len) [all …]
|
/Linux-v5.10/drivers/net/ethernet/mellanox/mlx5/core/ |
D | uar.c | 2 * Copyright (c) 2013-2015, Mellanox Technologies. All rights reserved. 14 * - Redistributions of source code must retain the above 18 * - Redistributions in binary form must reproduce the above 35 #include <linux/io-mapping.h> 76 system_page_index = index >> (PAGE_SHIFT - MLX5_ADAPTER_PAGE_SHIFT); in uar2pfn() 80 return (mdev->bar_addr >> PAGE_SHIFT) + system_page_index; in uar2pfn() 85 struct mlx5_uars_page *up = container_of(kref, struct mlx5_uars_page, ref_count); in up_rel_func() local 87 list_del(&up->list); in up_rel_func() 88 iounmap(up->map); in up_rel_func() 89 if (mlx5_cmd_free_uar(up->mdev, up->index)) in up_rel_func() [all …]
|
/Linux-v5.10/Documentation/networking/dsa/ |
D | configuration.rst | 1 .. SPDX-License-Identifier: GPL-2.0 10 .. _dsa-config-showcases: 13 ----------------------- 37 The slave interfaces depend on the master interface. They can only brought up, 38 when the master interface is up. 61 * lan1: 192.0.2.1/30 (192.0.2.0 - 192.0.2.3) 62 * lan2: 192.0.2.5/30 (192.0.2.4 - 192.0.2.7) 63 * lan3: 192.0.2.9/30 (192.0.2.8 - 192.0.2.11) 66 * br0: 192.0.2.129/25 (192.0.2.128 - 192.0.2.255) 69 * br0: 192.0.2.129/25 (192.0.2.128 - 192.0.2.255) [all …]
|
D | b53.rst | 1 .. SPDX-License-Identifier: GPL-2.0 20 The switch is, if possible, configured to enable a Broadcom specific 4-bytes 30 configuration described in the :ref:`dsa-config-showcases`. 33 ---------------------------------- 38 See :ref:`dsa-tagged-configuration`. 41 ------------------------------------- 48 The configuration slightly differ from the :ref:`dsa-vlan-configuration`. 54 In difference to the configuration described in :ref:`dsa-vlan-configuration` 61 The configuration can only be set up via VLAN tagging and bridge setup. 64 .. code-block:: sh [all …]
|
/Linux-v5.10/drivers/mtd/maps/ |
D | sun_uflash.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* sun_uflash.c - Driver for user-programmable flash on 5 * This driver does NOT provide access to the OBP-flash for 6 * safety reasons-- use <linux>/drivers/sbus/char/flash.c instead. 31 #define UFLASH_BUSWIDTH 1 /* EBus is 8-bit */ 34 MODULE_DESCRIPTION("User-programmable flash device on Sun Microsystems boardsets"); 46 .name = "SUNW,???-????", 53 struct uflash_dev *up; in uflash_devinit() local 55 if (op->resource[1].flags) { in uflash_devinit() 56 /* Non-CFI userflash device-- once I find one we in uflash_devinit() [all …]
|
/Linux-v5.10/lib/mpi/ |
D | mpih-mul.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* mpihelp-mul.c - MPI helper functions 18 #include "mpi-internal.h" 21 #define MPN_MUL_N_RECURSE(prodp, up, vp, size, tspace) \ argument 24 mul_n_basecase(prodp, up, vp, size); \ 26 mul_n(prodp, up, vp, size, tspace); \ 29 #define MPN_SQR_N_RECURSE(prodp, up, size, tspace) \ argument 32 mpih_sqr_n_basecase(prodp, up, size); \ 34 mpih_sqr_n(prodp, up, size, tspace); \ 37 /* Multiply the natural numbers u (pointed to by UP) and v (pointed to by VP), [all …]
|
/Linux-v5.10/drivers/base/power/ |
D | wakeirq.c | 1 // SPDX-License-Identifier: GPL-2.0 13 * dev_pm_attach_wake_irq - Attach device interrupt as a wake IRQ 15 * @irq: Device wake-up capable interrupt 19 * dedicated wake-up interrupt as a wake IRQ. 27 return -EINVAL; in dev_pm_attach_wake_irq() 29 spin_lock_irqsave(&dev->power.lock, flags); in dev_pm_attach_wake_irq() 30 if (dev_WARN_ONCE(dev, dev->power.wakeirq, in dev_pm_attach_wake_irq() 32 spin_unlock_irqrestore(&dev->power.lock, flags); in dev_pm_attach_wake_irq() 33 return -EEXIST; in dev_pm_attach_wake_irq() 36 dev->power.wakeirq = wirq; in dev_pm_attach_wake_irq() [all …]
|