Home
last modified time | relevance | path

Searched full:ssp (Results 1 – 25 of 555) sorted by relevance

12345678910>>...23

/kernel/linux/linux-6.6/kernel/rcu/
Dsrcutiny.c27 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 …]
Dsrcutree.c76 static void srcu_reschedule(struct srcu_struct *ssp, unsigned long delay);
122 static void init_srcu_struct_data(struct srcu_struct *ssp) in init_srcu_struct_data() argument
134 sdp = per_cpu_ptr(ssp->sda, cpu); in init_srcu_struct_data()
138 sdp->srcu_gp_seq_needed = ssp->srcu_sup->srcu_gp_seq; in init_srcu_struct_data()
139 sdp->srcu_gp_seq_needed_exp = ssp->srcu_sup->srcu_gp_seq; in init_srcu_struct_data()
144 sdp->ssp = ssp; in init_srcu_struct_data()
164 static bool init_srcu_struct_nodes(struct srcu_struct *ssp, gfp_t gfp_flags) in init_srcu_struct_nodes() argument
176 ssp->srcu_sup->node = kcalloc(rcu_num_nodes, sizeof(*ssp->srcu_sup->node), gfp_flags); in init_srcu_struct_nodes()
177 if (!ssp->srcu_sup->node) in init_srcu_struct_nodes()
181 ssp->srcu_sup->level[0] = &ssp->srcu_sup->node[0]; in init_srcu_struct_nodes()
[all …]
/kernel/linux/linux-5.10/kernel/rcu/
Dsrcutiny.c27 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 …]
Dsrcutree.c46 static void srcu_reschedule(struct srcu_struct *ssp, unsigned long delay);
83 static void init_srcu_struct_nodes(struct srcu_struct *ssp, bool is_static) 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 …]
/kernel/linux/linux-6.6/drivers/tty/serial/
Dsifive.c218 * @ssp: pointer to a struct sifive_serial_port record
221 * IP block base, given a pointer @ssp to a struct sifive_serial_port record.
225 static void __ssp_writel(u32 v, u16 offs, struct sifive_serial_port *ssp) in __ssp_writel() argument
227 __ssp_early_writel(v, offs, &ssp->port); in __ssp_writel()
232 * @ssp: pointer to a struct sifive_serial_port record
236 * IP block base, given a pointer @ssp to a struct sifive_serial_port record.
242 static u32 __ssp_readl(struct sifive_serial_port *ssp, u16 offs) in __ssp_readl() argument
244 return __ssp_early_readl(&ssp->port, offs); in __ssp_readl()
249 * @ssp: pointer to a struct sifive_serial_port
258 static int sifive_serial_is_txfifo_full(struct sifive_serial_port *ssp) in sifive_serial_is_txfifo_full() argument
[all …]
/kernel/linux/linux-5.10/drivers/tty/serial/
Dsifive.c229 * @ssp: pointer to a struct sifive_serial_port record
232 * IP block base, given a pointer @ssp to a struct sifive_serial_port record.
236 static void __ssp_writel(u32 v, u16 offs, struct sifive_serial_port *ssp) in __ssp_writel() argument
238 __ssp_early_writel(v, offs, &ssp->port); in __ssp_writel()
243 * @ssp: pointer to a struct sifive_serial_port record
247 * IP block base, given a pointer @ssp to a struct sifive_serial_port record.
253 static u32 __ssp_readl(struct sifive_serial_port *ssp, u16 offs) in __ssp_readl() argument
255 return __ssp_early_readl(&ssp->port, offs); in __ssp_readl()
260 * @ssp: pointer to a struct sifive_serial_port
269 static int sifive_serial_is_txfifo_full(struct sifive_serial_port *ssp) in sifive_serial_is_txfifo_full() argument
[all …]
/kernel/linux/linux-5.10/arch/arm/plat-pxa/
Dssp.c3 * 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 …]
/kernel/linux/linux-6.6/drivers/soc/pxa/
Dssp.c3 * 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 …]
/kernel/linux/linux-5.10/sound/soc/pxa/
Dpxa-ssp.c3 * 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 …]
/kernel/linux/linux-6.6/sound/soc/pxa/
Dpxa-ssp.c3 * 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 …]
/kernel/linux/linux-6.6/include/linux/
Dsrcu.h28 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);
54 void call_srcu(struct srcu_struct *ssp, struct rcu_head *head,
56 void cleanup_srcu_struct(struct srcu_struct *ssp);
57 int __srcu_read_lock(struct srcu_struct *ssp) __acquires(ssp);
58 void __srcu_read_unlock(struct srcu_struct *ssp, int idx) __releases(ssp);
59 void synchronize_srcu(struct srcu_struct *ssp);
60 unsigned long get_state_synchronize_srcu(struct srcu_struct *ssp);
[all …]
Dpxa2xx_ssp.h5 * 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 …]
/kernel/linux/linux-5.10/drivers/mmc/host/
Dmxs-mmc.c49 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 …]
/kernel/linux/linux-6.6/drivers/mmc/host/
Dmxs-mmc.c48 struct mxs_ssp ssp; member
64 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_get_cd() local
75 !(readl(ssp->base + HW_SSP_STATUS(ssp)) & in mxs_mmc_get_cd()
86 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_reset() local
90 ret = stmp_reset_block(ssp->base); in mxs_mmc_reset()
108 ssp->base + HW_SSP_TIMING(ssp)); in mxs_mmc_reset()
115 writel(ctrl0, ssp->base + HW_SSP_CTRL0); in mxs_mmc_reset()
116 writel(ctrl1, ssp->base + HW_SSP_CTRL1(ssp)); in mxs_mmc_reset()
128 struct mxs_ssp *ssp = &host->ssp; in mxs_mmc_request_done() local
132 cmd->resp[3] = readl(ssp->base + HW_SSP_SDRESP0(ssp)); in mxs_mmc_request_done()
[all …]
/kernel/linux/linux-5.10/drivers/spi/
Dspi-mxs.c58 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 …]
/kernel/linux/linux-6.6/drivers/spi/
Dspi-mxs.c59 struct mxs_ssp ssp; member
68 struct mxs_ssp *ssp = &spi->ssp; in mxs_spi_setup_transfer() local
77 mxs_ssp_set_clk_rate(ssp, hz); in mxs_spi_setup_transfer()
80 * ssp->clk_rate. Otherwise we would set the rate every transfer in mxs_spi_setup_transfer()
91 ssp->base + HW_SSP_CTRL0 + STMP_OFFSET_REG_SET); in mxs_spi_setup_transfer()
97 ssp->base + HW_SSP_CTRL1(ssp)); in mxs_spi_setup_transfer()
99 writel(0x0, ssp->base + HW_SSP_CMD0); in mxs_spi_setup_transfer()
100 writel(0x0, ssp->base + HW_SSP_CMD1); in mxs_spi_setup_transfer()
128 struct mxs_ssp *ssp = &spi->ssp; in mxs_ssp_wait() local
132 reg = readl_relaxed(ssp->base + offset); in mxs_ssp_wait()
[all …]
Dspi-pxa2xx-pci.c61 static int pxa2xx_spi_pci_clk_register(struct pci_dev *dev, struct ssp_device *ssp, in pxa2xx_spi_pci_clk_register() argument
66 snprintf(buf, sizeof(buf), "pxa2xx-spi.%d", ssp->port_id); in pxa2xx_spi_pci_clk_register()
67 ssp->clk = clk_register_fixed_rate(&dev->dev, buf, NULL, 0, rate); in pxa2xx_spi_pci_clk_register()
68 if (IS_ERR(ssp->clk)) in pxa2xx_spi_pci_clk_register()
69 return PTR_ERR(ssp->clk); in pxa2xx_spi_pci_clk_register()
71 return devm_add_action_or_reset(&dev->dev, pxa2xx_spi_pci_clk_unregister, ssp->clk); in pxa2xx_spi_pci_clk_register()
92 struct ssp_device *ssp = &c->ssp; in lpss_spi_setup() local
99 ssp->type = LPSS_BYT_SSP; in lpss_spi_setup()
100 ssp->port_id = 0; in lpss_spi_setup()
105 ssp->type = LPSS_BSW_SSP; in lpss_spi_setup()
[all …]
/kernel/linux/linux-6.6/arch/arm/mach-sa1100/
Dssp.c3 * 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 …]
/kernel/linux/linux-5.10/arch/arm/mach-sa1100/
Dssp.c3 * 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 …]
/kernel/linux/linux-5.10/include/linux/
Dsrcu.h28 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 …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/serial/
Dmrvl,pxa-ssp.txt1 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 …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/serial/
Dmrvl,pxa-ssp.txt1 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 …]
/kernel/linux/linux-5.10/drivers/input/mouse/
Dnavpoint.c3 * 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 …]
/kernel/linux/linux-6.6/drivers/input/mouse/
Dnavpoint.c3 * 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 …]
/kernel/linux/linux-6.6/arch/x86/kernel/
Dshstk.c50 static int create_rstor_token(unsigned long ssp, unsigned long *token_addr) in create_rstor_token() argument
55 if (!IS_ALIGNED(ssp, 8)) in create_rstor_token()
58 addr = ssp - SS_FRAME_SIZE; in create_rstor_token()
61 * SSP is aligned, so reserved bits and mode bit are a zero, just mark in create_rstor_token()
64 ssp |= BIT(0); in create_rstor_token()
66 if (write_user_shstk_64((u64 __user *)addr, (u64)ssp)) in create_rstor_token()
79 * The shadow stack pointer(SSP) is moved by CALL, RET, and INCSSPQ. The
86 * and INCSSP. In addition to modifying SSP, INCSSP also reads from the
90 * READ_ONCE(ssp); // read+discard top element on stack
91 * ssp += nr_to_pop * 8; // move the shadow stack
[all …]

12345678910>>...23