/Linux-v5.15/kernel/rcu/ |
D | srcutiny.c | 27 static int init_srcu_struct_fields(struct srcu_struct *ssp) in init_srcu_struct_fields() argument 29 ssp->srcu_lock_nesting[0] = 0; in init_srcu_struct_fields() 30 ssp->srcu_lock_nesting[1] = 0; in init_srcu_struct_fields() 31 init_swait_queue_head(&ssp->srcu_wq); in init_srcu_struct_fields() 32 ssp->srcu_cb_head = NULL; in init_srcu_struct_fields() 33 ssp->srcu_cb_tail = &ssp->srcu_cb_head; in init_srcu_struct_fields() 34 ssp->srcu_gp_running = false; in init_srcu_struct_fields() 35 ssp->srcu_gp_waiting = false; in init_srcu_struct_fields() 36 ssp->srcu_idx = 0; in init_srcu_struct_fields() 37 ssp->srcu_idx_max = 0; in init_srcu_struct_fields() [all …]
|
D | srcutree.c | 46 static void srcu_reschedule(struct srcu_struct *ssp, unsigned long delay); 83 static void init_srcu_struct_nodes(struct srcu_struct *ssp) in init_srcu_struct_nodes() argument 97 ssp->level[0] = &ssp->node[0]; in init_srcu_struct_nodes() 99 ssp->level[i] = ssp->level[i - 1] + num_rcu_lvl[i - 1]; in init_srcu_struct_nodes() 103 srcu_for_each_node_breadth_first(ssp, snp) { in init_srcu_struct_nodes() 114 if (snp == &ssp->node[0]) { in init_srcu_struct_nodes() 121 if (snp == ssp->level[level + 1]) in init_srcu_struct_nodes() 123 snp->srcu_parent = ssp->level[level - 1] + in init_srcu_struct_nodes() 124 (snp - ssp->level[level]) / in init_srcu_struct_nodes() 135 snp_first = ssp->level[level]; in init_srcu_struct_nodes() [all …]
|
/Linux-v5.15/drivers/tty/serial/ |
D | sifive.c | 230 * @ssp: pointer to a struct sifive_serial_port record 233 * IP block base, given a pointer @ssp to a struct sifive_serial_port record. 237 static void __ssp_writel(u32 v, u16 offs, struct sifive_serial_port *ssp) in __ssp_writel() argument 239 __ssp_early_writel(v, offs, &ssp->port); in __ssp_writel() 244 * @ssp: pointer to a struct sifive_serial_port record 248 * IP block base, given a pointer @ssp to a struct sifive_serial_port record. 254 static u32 __ssp_readl(struct sifive_serial_port *ssp, u16 offs) in __ssp_readl() argument 256 return __ssp_early_readl(&ssp->port, offs); in __ssp_readl() 261 * @ssp: pointer to a struct sifive_serial_port 270 static int sifive_serial_is_txfifo_full(struct sifive_serial_port *ssp) in sifive_serial_is_txfifo_full() argument [all …]
|
/Linux-v5.15/arch/arm/plat-pxa/ |
D | ssp.c | 3 * linux/arch/arm/mach-pxa/ssp.c 5 * based on linux/arch/arm/mach-sa1100/ssp.c by Russell King 10 * PXA2xx SSP driver. This provides the generic core for simple 11 * IO-based SSP applications and allows easy port setup for DMA access. 40 struct ssp_device *ssp = NULL; in pxa_ssp_request() local 44 list_for_each_entry(ssp, &ssp_list, node) { in pxa_ssp_request() 45 if (ssp->port_id == port && ssp->use_count == 0) { in pxa_ssp_request() 46 ssp->use_count++; in pxa_ssp_request() 47 ssp->label = label; in pxa_ssp_request() 54 if (&ssp->node == &ssp_list) in pxa_ssp_request() [all …]
|
/Linux-v5.15/sound/soc/pxa/ |
D | pxa-ssp.c | 3 * pxa-ssp.c -- ALSA Soc Audio Layer 33 #include "pxa-ssp.h" 36 * SSP audio private data 39 struct ssp_device *ssp; member 53 static void dump_registers(struct ssp_device *ssp) in dump_registers() argument 55 dev_dbg(ssp->dev, "SSCR0 0x%08x SSCR1 0x%08x SSTO 0x%08x\n", in dump_registers() 56 pxa_ssp_read_reg(ssp, SSCR0), pxa_ssp_read_reg(ssp, SSCR1), in dump_registers() 57 pxa_ssp_read_reg(ssp, SSTO)); in dump_registers() 59 dev_dbg(ssp->dev, "SSPSP 0x%08x SSSR 0x%08x SSACD 0x%08x\n", in dump_registers() 60 pxa_ssp_read_reg(ssp, SSPSP), pxa_ssp_read_reg(ssp, SSSR), in dump_registers() [all …]
|
D | pxa-ssp.h | 3 * ASoC PXA SSP port support 9 /* SSP clock sources */ 16 /* SSP audio dividers */ 21 /* SSP ACDS audio dividers values */ 29 /* SSP divider bypass */
|
/Linux-v5.15/drivers/mmc/host/ |
D | mxs-mmc.c | 49 struct mxs_ssp ssp; member 65 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_get_cd() local 76 !(readl(ssp->base + HW_SSP_STATUS(ssp)) & in mxs_mmc_get_cd() 87 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_reset() local 91 ret = stmp_reset_block(ssp->base); in mxs_mmc_reset() 109 ssp->base + HW_SSP_TIMING(ssp)); in mxs_mmc_reset() 116 writel(ctrl0, ssp->base + HW_SSP_CTRL0); in mxs_mmc_reset() 117 writel(ctrl1, ssp->base + HW_SSP_CTRL1(ssp)); in mxs_mmc_reset() 129 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_request_done() local 133 cmd->resp[3] = readl(ssp->base + HW_SSP_SDRESP0(ssp)); in mxs_mmc_request_done() [all …]
|
/Linux-v5.15/drivers/spi/ |
D | spi-mxs.c | 58 struct mxs_ssp ssp; member 67 struct mxs_ssp *ssp = &spi->ssp; in mxs_spi_setup_transfer() local 76 mxs_ssp_set_clk_rate(ssp, hz); in mxs_spi_setup_transfer() 79 * ssp->clk_rate. Otherwise we would set the rate every transfer in mxs_spi_setup_transfer() 90 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET); in mxs_spi_setup_transfer() 96 ssp->base + HW_SSP_CTRL1(ssp)); in mxs_spi_setup_transfer() 98 writel(0x0, ssp->base + HW_SSP_CMD0); in mxs_spi_setup_transfer() 99 writel(0x0, ssp->base + HW_SSP_CMD1); in mxs_spi_setup_transfer() 127 struct mxs_ssp *ssp = &spi->ssp; in mxs_ssp_wait() local 131 reg = readl_relaxed(ssp->base + offset); in mxs_ssp_wait() [all …]
|
D | spi-pxa2xx.c | 36 MODULE_DESCRIPTION("PXA2xx SSP SPI Controller"); 43 * For testing SSCR1 changes that require SSP restart, basically 310 * Read and write LPSS SSP private registers. Caller must first check that 327 * lpss_ssp_setup - perform LPSS SSP specific setup 330 * Perform LPSS SSP specific setup. This function must be called first if 331 * one is going to use LPSS SSP private registers. 339 drv_data->lpss_base = drv_data->ssp->mmio_base + config->offset; in lpss_ssp_setup() 458 /* Wait until SSP becomes idle before deasserting the CS */ in cs_deassert() 500 pxa_ssp_disable(drv_data->ssp); in pxa2xx_spi_off() 639 dev_err(drv_data->ssp->dev, "%s\n", msg); in int_error_stop() [all …]
|
D | spi-pxa2xx-pci.c | 216 struct ssp_device *ssp; in pxa2xx_spi_pci_probe() local 243 ssp = &spi_pdata.ssp; in pxa2xx_spi_pci_probe() 244 ssp->dev = &dev->dev; in pxa2xx_spi_pci_probe() 245 ssp->phys_base = pci_resource_start(dev, 0); in pxa2xx_spi_pci_probe() 246 ssp->mmio_base = pcim_iomap_table(dev)[0]; in pxa2xx_spi_pci_probe() 247 ssp->port_id = (c->port_id >= 0) ? c->port_id : dev->devfn; in pxa2xx_spi_pci_probe() 248 ssp->type = c->type; in pxa2xx_spi_pci_probe() 255 ssp->irq = pci_irq_vector(dev, 0); in pxa2xx_spi_pci_probe() 257 snprintf(buf, sizeof(buf), "pxa2xx-spi.%d", ssp->port_id); in pxa2xx_spi_pci_probe() 258 ssp->clk = clk_register_fixed_rate(&dev->dev, buf, NULL, 0, in pxa2xx_spi_pci_probe() [all …]
|
/Linux-v5.15/arch/arm/mach-sa1100/ |
D | ssp.c | 3 * linux/arch/arm/mach-sa1100/ssp.c 7 * Generic SSP driver. This provides the generic core for simple 8 * IO-based SSP applications. 21 #include <asm/hardware/ssp.h> 30 printk(KERN_WARNING "SSP: receiver overrun\n"); in ssp_interrupt() 38 * ssp_write_word - write a word to the SSP port 41 * Wait for a free entry in the SSP transmit FIFO, and write a data 42 * word to the SSP port. Wait for the SSP port to start sending 74 * ssp_read_word - read a word from the SSP port 76 * Wait for a data word in the SSP receive FIFO, and return the [all …]
|
D | jornada720_ssp.c | 8 * SSP driver for the HP Jornada 710/720/728 22 #include <asm/hardware/ssp.h> 48 * jornada_ssp_byte - waits for ready ssp bus and sends byte 63 printk(KERN_WARNING "SSP: timeout while waiting for transmit\n"); in jornada_ssp_byte() 140 printk(KERN_INFO "SSP: device initialized with irq\n"); in jornada_ssp_probe() 144 printk(KERN_WARNING "SSP: initialization failed, trying non-irq solution \n"); in jornada_ssp_probe() 168 printk(KERN_WARNING "SSP: attempts failed, bailing\n"); in jornada_ssp_probe() 174 printk(KERN_INFO "SSP: device initialized\n"); in jornada_ssp_probe()
|
/Linux-v5.15/include/linux/ |
D | srcu.h | 28 int __init_srcu_struct(struct srcu_struct *ssp, const char *name, 31 #define init_srcu_struct(ssp) \ argument 35 __init_srcu_struct((ssp), #ssp, &__srcu_key); \ 41 int init_srcu_struct(struct srcu_struct *ssp); 57 void call_srcu(struct srcu_struct *ssp, struct rcu_head *head, 59 void cleanup_srcu_struct(struct srcu_struct *ssp); 60 int __srcu_read_lock(struct srcu_struct *ssp) __acquires(ssp); 61 void __srcu_read_unlock(struct srcu_struct *ssp, int idx) __releases(ssp); 62 void synchronize_srcu(struct srcu_struct *ssp); 63 unsigned long get_state_synchronize_srcu(struct srcu_struct *ssp); [all …]
|
D | pxa2xx_ssp.h | 5 * This driver supports the following PXA CPU/SSP ports:- 7 * PXA250 SSP 8 * PXA255 SSP, NSSP 9 * PXA26x SSP, NSSP, ASSP 29 * SSP Serial Port Registers 30 * PXA250, PXA255, PXA26x and PXA27x SSP controllers are all slightly different. 34 #define SSCR0 (0x00) /* SSP Control Register 0 */ 35 #define SSCR1 (0x04) /* SSP Control Register 1 */ 36 #define SSSR (0x08) /* SSP Status Register */ 37 #define SSITR (0x0C) /* SSP Interrupt Test Register */ [all …]
|
D | srcutiny.h | 51 void synchronize_srcu(struct srcu_struct *ssp); 59 static inline int __srcu_read_lock(struct srcu_struct *ssp) in __srcu_read_lock() argument 63 idx = ((READ_ONCE(ssp->srcu_idx) + 1) & 0x2) >> 1; in __srcu_read_lock() 64 WRITE_ONCE(ssp->srcu_lock_nesting[idx], READ_ONCE(ssp->srcu_lock_nesting[idx]) + 1); in __srcu_read_lock() 68 static inline void synchronize_srcu_expedited(struct srcu_struct *ssp) in synchronize_srcu_expedited() argument 70 synchronize_srcu(ssp); in synchronize_srcu_expedited() 73 static inline void srcu_barrier(struct srcu_struct *ssp) in srcu_barrier() argument 75 synchronize_srcu(ssp); in srcu_barrier() 79 static inline void srcu_torture_stats_print(struct srcu_struct *ssp, in srcu_torture_stats_print() argument 84 idx = ((data_race(READ_ONCE(ssp->srcu_idx)) + 1) & 0x2) >> 1; in srcu_torture_stats_print() [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/serial/ |
D | mrvl,pxa-ssp.txt | 1 Device tree bindings for Marvell PXA SSP ports 6 mrvl,pxa25x-ssp 8 mrvl,pxa27x-ssp 9 mrvl,pxa3xx-ssp 10 mvrl,pxa168-ssp 11 mrvl,pxa910-ssp 12 mrvl,ce4100-ssp 21 ssp0: ssp@41000000 { 22 compatible = "mrvl,pxa3xx-ssp"; 24 ssp-id = <1>; [all …]
|
/Linux-v5.15/drivers/input/mouse/ |
D | navpoint.c | 3 * Synaptics NavPoint (PXA27x SSP/SPI) driver. 32 struct ssp_device *ssp; member 46 | SSCR0_SSE /* SSE = 1; SSP enabled */ 120 struct ssp_device *ssp = navpoint->ssp; in navpoint_irq() local 124 status = pxa_ssp_read_reg(ssp, SSSR); in navpoint_irq() 128 pxa_ssp_write_reg(ssp, SSSR, (status & sssr)); in navpoint_irq() 135 data = pxa_ssp_read_reg(ssp, SSDR); in navpoint_irq() 143 status = pxa_ssp_read_reg(ssp, SSSR); in navpoint_irq() 152 struct ssp_device *ssp = navpoint->ssp; in navpoint_up() local 155 clk_prepare_enable(ssp->clk); in navpoint_up() [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/pinctrl/ |
D | marvell,dove-pinctrl.txt | 30 mpp10 10 gpio, pmu, ssp(sclk), pmu* 36 ssp(extclk), pmu* 37 mpp14 14 gpio, pmu, uart2(txd), sdio1(buspwr), ssp(rxd), pmu* 38 mpp15 15 gpio, pmu, uart2(rxd), sdio1(ledctrl), ssp(sfrm), pmu* 47 uart1(cts), ssp(sfrm) 49 lcd-spi(mosi), uart1(cts), ssp(txd) 51 lcd-spi(sck), ssp(sclk) 55 mpp_audio1 52-57 gpio, i2s1/spdifo, i2s1, spdifo, twsi, ssp/spdifo, ssp, 56 ssp/twsi 85 - ssp/spdifo : ssp on pins 52-55, spdifo on pin 57, no gpios [all …]
|
/Linux-v5.15/Documentation/spi/ |
D | pxa2xx.rst | 2 PXA2xx SPI on SSP driver HOWTO 9 - Support for any PXA2xx and compatible SSP. 10 - SSP PIO and SSP DMA data transfers. 35 The "pxa2xx_spi_controller.enable_dma" field informs the driver that SSP DMA should 67 .id = 2, /* Bus number, MUST MATCH SSP number 1..n */ 109 used to configure the SSP hardware FIFO. These fields are critical to the 120 the PXA2xx "Developer Manual" sections on the DMA controller and SSP Controllers 121 to determine the correct value. An SSP configured for byte-wide transfers would 126 trailing bytes in the SSP receiver FIFO. The correct value for this field is 128 slave device. Please note that the PXA2xx SSP 1 does not support trailing byte [all …]
|
/Linux-v5.15/drivers/clk/mxs/ |
D | clk-ssp.c | 21 void mxs_ssp_set_clk_rate(struct mxs_ssp *ssp, unsigned int rate) in mxs_ssp_set_clk_rate() argument 27 ssp_clk = clk_get_rate(ssp->clk); in mxs_ssp_set_clk_rate() 37 dev_err(ssp->dev, in mxs_ssp_set_clk_rate() 44 val = readl(ssp->base + HW_SSP_TIMING(ssp)); in mxs_ssp_set_clk_rate() 48 writel(val, ssp->base + HW_SSP_TIMING(ssp)); in mxs_ssp_set_clk_rate() 50 ssp->clk_rate = ssp_sck; in mxs_ssp_set_clk_rate() 52 dev_dbg(ssp->dev, in mxs_ssp_set_clk_rate()
|
/Linux-v5.15/Documentation/devicetree/bindings/sound/ |
D | mrvl,pxa-ssp.txt | 1 Marvell PXA SSP CPU DAI bindings 5 compatible Must be "mrvl,pxa-ssp-dai" 6 port A phandle reference to a PXA ssp upstream device 20 ssp1: ssp@41000000 { 21 compatible = "mrvl,pxa3xx-ssp"; 24 clock-names = "pxa27x-ssp.0"; 30 compatible = "mrvl,pxa-ssp-dai";
|
/Linux-v5.15/drivers/iio/common/ssp_sensors/ |
D | Kconfig | 3 # SSP sensor drivers and commons configuration 5 menu "SSP Sensor Common" 8 tristate "Commons for all SSP Sensor IIO drivers" 13 Say yes here to build commons for SSP sensors. 22 SSP driver for sensorhub. 23 If you say yes here you get ssp support for sensorhub.
|
/Linux-v5.15/sound/soc/intel/catpt/ |
D | registers.h | 35 #define CATPT_CS_SFCR(ssp) BIT(27 + (ssp)) argument 39 #define CATPT_CS_SDPM(ssp) BIT(11 + (ssp)) argument 44 #define CATPT_CS_SBCS(ssp) BIT(2 + (ssp)) argument 113 /* defaults to reset SSP registers to after each power cycle */ 144 #define catpt_ssp_addr(cdev, ssp) \ argument 145 ((cdev)->lpe_ba + (cdev)->spec->host_ssp_offset[ssp]) 151 #define catpt_writel_ssp(cdev, ssp, reg, val) \ argument 152 writel(val, catpt_ssp_addr(cdev, ssp) + (reg))
|
/Linux-v5.15/drivers/scsi/isci/ |
D | remote_node_context.c | 129 rnc->ssp.remote_node_index = rni; in sci_remote_node_context_construct_buffer() 130 rnc->ssp.remote_node_port_width = idev->device_port_width; in sci_remote_node_context_construct_buffer() 131 rnc->ssp.logical_port_index = idev->owning_port->physical_port_index; in sci_remote_node_context_construct_buffer() 135 rnc->ssp.remote_sas_address_hi = upper_32_bits(sas_addr); in sci_remote_node_context_construct_buffer() 136 rnc->ssp.remote_sas_address_lo = lower_32_bits(sas_addr); in sci_remote_node_context_construct_buffer() 138 rnc->ssp.nexus_loss_timer_enable = true; in sci_remote_node_context_construct_buffer() 139 rnc->ssp.check_bit = false; in sci_remote_node_context_construct_buffer() 140 rnc->ssp.is_valid = false; in sci_remote_node_context_construct_buffer() 141 rnc->ssp.is_remote_node_context = true; in sci_remote_node_context_construct_buffer() 142 rnc->ssp.function_number = 0; in sci_remote_node_context_construct_buffer() [all …]
|
/Linux-v5.15/security/smack/ |
D | smack_netfilter.c | 28 struct socket_smack *ssp; in smack_ipv6_output() local 32 ssp = sk->sk_security; in smack_ipv6_output() 33 skp = ssp->smk_out; in smack_ipv6_output() 46 struct socket_smack *ssp; in smack_ipv4_output() local 50 ssp = sk->sk_security; in smack_ipv4_output() 51 skp = ssp->smk_out; in smack_ipv4_output()
|