/Linux-v6.1/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. 38 #include <linux/platform_data/serial-omap.h> 79 #define OMAP_UART_DMA_CH_FREE -1 172 static void serial_omap_mdr1_errataset(struct uart_omap_port *up, u8 mdr1); 174 static inline unsigned int serial_in(struct uart_omap_port *up, int offset) in serial_in() argument 176 offset <<= up->port.regshift; in serial_in() 177 return readw(up->port.membase + offset); in serial_in() 180 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 | 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 | 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+ 52 static inline unsigned int serial_in(struct uart_pxa_port *up, int offset) in serial_in() argument 55 return readl(up->port.membase + offset); in serial_in() 58 static inline void serial_out(struct uart_pxa_port *up, int offset, int value) in serial_out() argument 61 writel(value, up->port.membase + offset); in serial_out() 66 struct uart_pxa_port *up = (struct uart_pxa_port *)port; in serial_pxa_enable_ms() local 68 up->ier |= UART_IER_MSI; in serial_pxa_enable_ms() 69 serial_out(up, UART_IER, up->ier); in serial_pxa_enable_ms() 74 struct uart_pxa_port *up = (struct uart_pxa_port *)port; in serial_pxa_stop_tx() local 76 if (up->ier & UART_IER_THRI) { in serial_pxa_stop_tx() [all …]
|
D | serial_txx9.c | 1 // SPDX-License-Identifier: GPL-2.0 10 * Copyright (C) 2000-2002 Toshiba Corporation 158 static inline unsigned int sio_in(struct uart_port *up, int offset) in sio_in() argument 160 switch (up->iotype) { in sio_in() 162 return __raw_readl(up->membase + offset); in sio_in() 164 return inl(up->iobase + offset); in sio_in() 169 sio_out(struct uart_port *up, int offset, int value) in sio_out() argument 171 switch (up->iotype) { in sio_out() 173 __raw_writel(value, up->membase + offset); in sio_out() 176 outl(value, up->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) 206 *ports = id->driver_data >> 8; in rp2_decode_cap() 207 *smpte = id->driver_data & 0xff; in rp2_decode_cap() 215 int ret = -ENOSPC; in rp2_alloc_ports() 233 static void rp2_rmw(struct rp2_uart_port *up, int reg, in rp2_rmw() argument 236 u32 tmp = readl(up->base + reg); in rp2_rmw() 239 writel(tmp, up->base + reg); in rp2_rmw() [all …]
|
/Linux-v6.1/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 254 * tx_loadsz is set to 63-bytes instead of 64-bytes to implement 255 * workaround of errata A-008006 which states that tx_loadsz should 267 .name = "Palmchip BK-3103", 319 static int default_serial_dl_read(struct uart_8250_port *up) in default_serial_dl_read() argument 322 unsigned char dll = serial_in(up, UART_DLL); in default_serial_dl_read() 323 unsigned char dlm = serial_in(up, UART_DLM); in default_serial_dl_read() 329 static void default_serial_dl_write(struct uart_8250_port *up, int value) in default_serial_dl_write() argument 331 serial_out(up, UART_DLL, value & 0xff); in default_serial_dl_write() [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_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> 155 static u32 uart_read(struct uart_8250_port *up, u32 reg) in uart_read() argument 157 return readl(up->port.membase + (reg << up->port.regshift)); in uart_read() 166 struct uart_8250_port *up = up_to_u8250p(port); in __omap8250_set_mctrl() local 167 struct omap8250_priv *priv = up->port.private_data; in __omap8250_set_mctrl() 172 if (!mctrl_gpio_to_gpiod(up->gpios, UART_GPIO_RTS)) { in __omap8250_set_mctrl() 177 lcr = serial_in(up, UART_LCR); in __omap8250_set_mctrl() [all …]
|
D | 8250.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * Driver for 8250/16550-type serial ports 79 #define UART_CAP_AFE BIT(11) /* MCR-based hw flow control */ 116 static inline int serial_in(struct uart_8250_port *up, int offset) in serial_in() argument 118 return up->port.serial_in(&up->port, offset); in serial_in() 121 static inline void serial_out(struct uart_8250_port *up, int offset, int value) in serial_out() argument 123 up->port.serial_out(&up->port, offset, value); in serial_out() 127 * serial_lsr_in - Read LSR register and preserve flags across reads 128 * @up: uart 8250 port 130 * Read LSR register and handle saving non-preserved flags across reads. [all …]
|
D | 8250_mtk.c | 1 // SPDX-License-Identifier: GPL-2.0+ 19 #include <linux/dma-mapping.h> 89 static void mtk8250_rx_dma(struct uart_8250_port *up); 93 struct uart_8250_port *up = param; in mtk8250_dma_rx_complete() local 94 struct uart_8250_dma *dma = up->dma; in mtk8250_dma_rx_complete() 95 struct mtk8250_data *data = up->port.private_data; in mtk8250_dma_rx_complete() 96 struct tty_port *tty_port = &up->port.state->port; in mtk8250_dma_rx_complete() 102 if (data->rx_status == DMA_RX_SHUTDOWN) in mtk8250_dma_rx_complete() 105 spin_lock_irqsave(&up->port.lock, flags); in mtk8250_dma_rx_complete() 107 dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state); 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 37 * struct bcm2835aux_data - driver private data of BCM2835 auxiliary UART 52 static void bcm2835aux_rs485_start_tx(struct uart_8250_port *up) in bcm2835aux_rs485_start_tx() argument 54 if (!(up->port.rs485.flags & SER_RS485_RX_DURING_TX)) { in bcm2835aux_rs485_start_tx() 55 struct bcm2835aux_data *data = dev_get_drvdata(up->port.dev); in bcm2835aux_rs485_start_tx() 57 data->cntl &= ~BCM2835_AUX_UART_CNTL_RXEN; in bcm2835aux_rs485_start_tx() 58 serial_out(up, BCM2835_AUX_UART_CNTL, data->cntl); in bcm2835aux_rs485_start_tx() 63 * flags besides RTS. So no need for a read-modify-write. in bcm2835aux_rs485_start_tx() 65 if (up->port.rs485.flags & SER_RS485_RTS_ON_SEND) in bcm2835aux_rs485_start_tx() [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_bcm7271.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * 8250-core based driver for Broadcom ns16550a UARTs 20 #include <linux/dma-mapping.h> 157 #define UDMA_RX_BUFS_REG_OFFSET (UDMA_RX_BUF1_PTR_LO - UDMA_RX_BUF0_PTR_LO) 169 #define UDMA_TX_BUFS_REG_OFFSET (UDMA_TX_BUF1_PTR_LO - UDMA_TX_BUF0_PTR_LO) 214 struct uart_port *up; member 251 return readl(priv->regs[reg_type] + offset); in udma_readl() 257 writel(value, priv->regs[reg_type] + offset); in udma_writel() 263 void __iomem *reg = priv->regs[reg_type] + offset; in udma_set() 274 void __iomem *reg = priv->regs[reg_type] + offset; in udma_unset() [all …]
|
/Linux-v6.1/drivers/net/can/usb/ |
D | ucan.c | 1 // SPDX-License-Identifier: GPL-2.0 48 * ------------------------ 79 /* start the can transceiver - val defines the operation mode */ 83 /* send can transceiver into low-power sleep mode */ 85 /* wake up can transceiver from low-power sleep mode */ 89 /* get piece of info from the can transceiver - subcmd defines what 93 /* clear or disable hardware filter - subcmd defines which of the two */ 97 /* recover from bus-off state */ 137 __le16 mode; /* OR-ing any of UCAN_MODE_* */ 205 * msg.len - sizeof (msg.len) [all …]
|
/Linux-v6.1/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 34 #include <linux/io-mapping.h> 75 system_page_index = index >> (PAGE_SHIFT - MLX5_ADAPTER_PAGE_SHIFT); in uar2pfn() 79 return (mdev->bar_addr >> PAGE_SHIFT) + system_page_index; in uar2pfn() 84 struct mlx5_uars_page *up = container_of(kref, struct mlx5_uars_page, ref_count); in up_rel_func() local 86 list_del(&up->list); in up_rel_func() 87 iounmap(up->map); in up_rel_func() 88 if (mlx5_cmd_free_uar(up->mdev, up->index)) in up_rel_func() [all …]
|
/Linux-v6.1/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"); 45 .name = "SUNW,???-????", 52 struct uflash_dev *up; in uflash_devinit() local 54 if (op->resource[1].flags) { in uflash_devinit() 55 /* Non-CFI userflash device-- once I find one we in uflash_devinit() [all …]
|
/Linux-v6.1/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-v6.1/Documentation/networking/dsa/ |
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 …]
|
D | configuration.rst | 1 .. SPDX-License-Identifier: GPL-2.0 10 .. _dsa-config-showcases: 13 ----------------------- 37 The slave interfaces depend on the master interface being up in order for them 42 - when a DSA slave interface is brought up, the master interface is 43 automatically brought up. 44 - when the master interface is brought down, all DSA slave interfaces are 71 * lan1: 192.0.2.1/30 (192.0.2.0 - 192.0.2.3) 72 * lan2: 192.0.2.5/30 (192.0.2.4 - 192.0.2.7) 73 * lan3: 192.0.2.9/30 (192.0.2.8 - 192.0.2.11) [all …]
|
/Linux-v6.1/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 17 * Internal function to attach a dedicated wake-up interrupt as a wake IRQ. 24 return -EINVAL; in dev_pm_attach_wake_irq() 26 spin_lock_irqsave(&dev->power.lock, flags); in dev_pm_attach_wake_irq() 27 if (dev_WARN_ONCE(dev, dev->power.wakeirq, in dev_pm_attach_wake_irq() 29 spin_unlock_irqrestore(&dev->power.lock, flags); in dev_pm_attach_wake_irq() 30 return -EEXIST; in dev_pm_attach_wake_irq() 33 dev->power.wakeirq = wirq; in dev_pm_attach_wake_irq() 36 spin_unlock_irqrestore(&dev->power.lock, flags); in dev_pm_attach_wake_irq() [all …]
|
/Linux-v6.1/arch/arm64/boot/dts/rockchip/ |
D | rockchip-pinconf.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 /omit-if-no-ref/ 8 pcfg_pull_up: pcfg-pull-up { 9 bias-pull-up; 12 /omit-if-no-ref/ 13 pcfg_pull_down: pcfg-pull-down { 14 bias-pull-down; 17 /omit-if-no-ref/ 18 pcfg_pull_none: pcfg-pull-none { 19 bias-disable; [all …]
|