Home
last modified time | relevance | path

Searched full:ics (Results 1 – 25 of 227) sorted by relevance

12345678910

/kernel/linux/linux-6.6/arch/powerpc/sysdev/xics/
Dics-native.c3 * ICS backend for OPAL managed interrupts.
32 struct ics ics; member
38 #define to_ics_native(_ics) container_of(_ics, struct ics_native, ics)
48 struct ics *ics = irq_data_get_irq_chip_data(d); in ics_native_unmask_irq() local
49 struct ics_native *in = to_ics_native(ics); in ics_native_unmask_irq()
52 pr_devel("ics-native: unmask virq %d [hw 0x%x]\n", d->irq, vec); in ics_native_unmask_irq()
86 struct ics *ics = irq_data_get_irq_chip_data(d); in ics_native_mask_irq() local
87 struct ics_native *in = to_ics_native(ics); in ics_native_mask_irq()
89 pr_devel("ics-native: mask virq %d [hw 0x%x]\n", d->irq, vec); in ics_native_mask_irq()
101 struct ics *ics = irq_data_get_irq_chip_data(d); in ics_native_set_affinity() local
[all …]
Dics-opal.c3 * ICS backend for OPAL managed interrupts.
47 pr_devel("ics-hal: unmask virq %d [hw 0x%x]\n", d->irq, hw_irq); in ics_opal_unmask_irq()
87 pr_devel("ics-hal: mask virq %d [hw 0x%x]\n", d->irq, hw_irq); in ics_opal_mask_irq()
123 pr_debug("ics-hal: set-affinity irq %d [hw 0x%x] server: 0x%x/0x%x\n", in ics_opal_set_affinity()
137 .name = "OPAL ICS",
147 static int ics_opal_host_match(struct ics *ics, struct device_node *node) in ics_opal_host_match() argument
152 static int ics_opal_check(struct ics *ics, unsigned int hw_irq) in ics_opal_check() argument
169 static void ics_opal_mask_unknown(struct ics *ics, unsigned long vec) in ics_opal_mask_unknown() argument
183 static long ics_opal_get_server(struct ics *ics, unsigned long vec) in ics_opal_get_server() argument
196 /* Only one global & state struct ics */
[all …]
Dics-rtas.c152 static int ics_rtas_check(struct ics *ics, unsigned int hw_irq) in ics_rtas_check() argument
168 static void ics_rtas_mask_unknown(struct ics *ics, unsigned long vec) in ics_rtas_mask_unknown() argument
173 static long ics_rtas_get_server(struct ics *ics, unsigned long vec) in ics_rtas_get_server() argument
183 static int ics_rtas_host_match(struct ics *ics, struct device_node *node) in ics_rtas_host_match() argument
192 /* Only one global & state struct ics */
193 static struct ics ics_rtas = {
208 /* We enable the RTAS "ICS" if RTAS is present with the in ics_rtas_init()
DMakefile6 obj-$(CONFIG_PPC_ICS_RTAS) += ics-rtas.o
7 obj-$(CONFIG_PPC_ICS_NATIVE) += ics-native.o
8 obj-$(CONFIG_PPC_POWERNV) += ics-opal.o icp-opal.o
Dxics-common.c30 /* Globals common to all ICP/ICS implementations */
41 static struct ics *xics_ics;
338 /* Don't call into ICS for IPIs */ in xics_host_map()
351 /* Let the ICS be the chip data for the XICS domain. For ICS native */ in xics_host_map()
479 void __init xics_register_ics(struct ics *ics) in xics_register_ics() argument
483 xics_ics = ics; in xics_register_ics()
491 /* We fetch the interrupt server size from the first ICS node in xics_get_server_size()
528 /* Now locate ICS */ in xics_init()
/kernel/linux/linux-6.6/arch/powerpc/kvm/
Dbook3s_xics.c39 * Each ICS has a spin lock protecting the information about the IRQ
51 * ICS
55 * - Make ICS lockless as well, or at least a per-interrupt lock or hashed
59 /* -- ICS routines -- */
72 struct kvmppc_ics *ics; in ics_deliver_irq() local
76 XICS_DBG("ics deliver %#x (level: %d)\n", irq, level); in ics_deliver_irq()
78 ics = kvmppc_xics_find_ics(xics, irq, &src); in ics_deliver_irq()
79 if (!ics) { in ics_deliver_irq()
83 state = &ics->irq_state[src]; in ics_deliver_irq()
125 static void ics_check_resend(struct kvmppc_xics *xics, struct kvmppc_ics *ics, in ics_check_resend() argument
[all …]
Dbook3s_hv_rm_xics.c37 /* -- ICS routines -- */
39 struct kvmppc_ics *ics, struct kvmppc_icp *icp) in ics_rm_check_resend() argument
44 struct ics_irq_state *state = &ics->irq_state[i]; in ics_rm_check_resend()
229 struct kvmppc_ics *ics = xics->ics[icsid]; in icp_rm_check_resend() local
233 if (!ics) in icp_rm_check_resend()
235 ics_rm_check_resend(xics, ics, icp); in icp_rm_check_resend()
281 struct kvmppc_ics *ics; in icp_rm_deliver_irq() local
301 /* Get the ICS state and lock it */ in icp_rm_deliver_irq()
302 ics = kvmppc_xics_find_ics(xics, new_irq, &src); in icp_rm_deliver_irq()
303 if (!ics) { in icp_rm_deliver_irq()
[all …]
Dbook3s_xics.h13 * There are up to 1024 ICS nodes, each of which can represent
63 /* One bit per ICS */
112 struct kvmppc_ics *ics[KVMPPC_XICS_MAX_ICS_ID + 1]; member
133 struct kvmppc_ics *ics; in kvmppc_xics_find_ics() local
139 ics = xics->ics[icsid]; in kvmppc_xics_find_ics()
140 if (!ics) in kvmppc_xics_find_ics()
142 return ics; in kvmppc_xics_find_ics()
/kernel/linux/linux-5.10/arch/powerpc/kvm/
Dbook3s_xics.c39 * Each ICS has a spin lock protecting the information about the IRQ
51 * ICS
55 * - Make ICS lockless as well, or at least a per-interrupt lock or hashed
59 /* -- ICS routines -- */
72 struct kvmppc_ics *ics; in ics_deliver_irq() local
76 XICS_DBG("ics deliver %#x (level: %d)\n", irq, level); in ics_deliver_irq()
78 ics = kvmppc_xics_find_ics(xics, irq, &src); in ics_deliver_irq()
79 if (!ics) { in ics_deliver_irq()
83 state = &ics->irq_state[src]; in ics_deliver_irq()
125 static void ics_check_resend(struct kvmppc_xics *xics, struct kvmppc_ics *ics, in ics_check_resend() argument
[all …]
Dbook3s_xics.h13 * There are up to 1024 ICS nodes, each of which can represent
63 /* One bit per ICS */
112 struct kvmppc_ics *ics[KVMPPC_XICS_MAX_ICS_ID + 1]; member
133 struct kvmppc_ics *ics; in kvmppc_xics_find_ics() local
139 ics = xics->ics[icsid]; in kvmppc_xics_find_ics()
140 if (!ics) in kvmppc_xics_find_ics()
142 return ics; in kvmppc_xics_find_ics()
Dbook3s_hv_rm_xics.c37 /* -- ICS routines -- */
39 struct kvmppc_ics *ics, struct kvmppc_icp *icp) in ics_rm_check_resend() argument
44 struct ics_irq_state *state = &ics->irq_state[i]; in ics_rm_check_resend()
236 struct kvmppc_ics *ics = xics->ics[icsid]; in icp_rm_check_resend() local
240 if (!ics) in icp_rm_check_resend()
242 ics_rm_check_resend(xics, ics, icp); in icp_rm_check_resend()
288 struct kvmppc_ics *ics; in icp_rm_deliver_irq() local
308 /* Get the ICS state and lock it */ in icp_rm_deliver_irq()
309 ics = kvmppc_xics_find_ics(xics, new_irq, &src); in icp_rm_deliver_irq()
310 if (!ics) { in icp_rm_deliver_irq()
[all …]
/kernel/linux/linux-5.10/arch/powerpc/sysdev/xics/
Dics-opal.c3 * ICS backend for OPAL managed interrupts.
48 pr_devel("ics-hal: unmask virq %d [hw 0x%x]\n", d->irq, hw_irq); in ics_opal_unmask_irq()
99 pr_devel("ics-hal: mask virq %d [hw 0x%x]\n", d->irq, hw_irq); in ics_opal_mask_irq()
136 pr_devel("ics-hal: set-affinity irq %d [hw 0x%x] server: 0x%x/0x%x\n", in ics_opal_set_affinity()
150 .name = "OPAL ICS",
160 static int ics_opal_map(struct ics *ics, unsigned int virq);
161 static void ics_opal_mask_unknown(struct ics *ics, unsigned long vec);
162 static long ics_opal_get_server(struct ics *ics, unsigned long vec);
164 static int ics_opal_host_match(struct ics *ics, struct device_node *node) in ics_opal_host_match() argument
169 /* Only one global & state struct ics */
[all …]
Dxics-common.c30 /* Globals common to all ICP/ICS implementations */
114 struct ics *ics; in xics_mask_unknown_vec() local
118 list_for_each_entry(ics, &ics_list, link) in xics_mask_unknown_vec()
119 ics->mask_unknown(ics, vec); in xics_mask_unknown_vec()
201 struct ics *ics; in xics_migrate_irqs_away() local
223 ics = irq_desc_get_chip_data(desc); in xics_migrate_irqs_away()
224 if (ics) in xics_migrate_irqs_away()
225 server = ics->get_server(ics, irq); in xics_migrate_irqs_away()
310 struct ics *ics; in xics_host_match() local
312 list_for_each_entry(ics, &ics_list, link) in xics_host_match()
[all …]
Dics-rtas.c27 static int ics_rtas_map(struct ics *ics, unsigned int virq);
28 static void ics_rtas_mask_unknown(struct ics *ics, unsigned long vec);
29 static long ics_rtas_get_server(struct ics *ics, unsigned long vec);
30 static int ics_rtas_host_match(struct ics *ics, struct device_node *node);
32 /* Only one global & state struct ics */
33 static struct ics ics_rtas = {
172 static int ics_rtas_map(struct ics *ics, unsigned int virq) in ics_rtas_map() argument
192 static void ics_rtas_mask_unknown(struct ics *ics, unsigned long vec) in ics_rtas_mask_unknown() argument
197 static long ics_rtas_get_server(struct ics *ics, unsigned long vec) in ics_rtas_get_server() argument
207 static int ics_rtas_host_match(struct ics *ics, struct device_node *node) in ics_rtas_host_match() argument
[all …]
DMakefile6 obj-$(CONFIG_PPC_ICS_RTAS) += ics-rtas.o
7 obj-$(CONFIG_PPC_POWERNV) += ics-opal.o icp-opal.o
/kernel/linux/linux-5.10/arch/powerpc/include/asm/
Dxics.h3 * Common definitions across all variants of ICP and ICS interrupt
68 /* Native ICS */
71 /* RTAS ICS */
78 /* HAL ICS */
85 /* ICS instance, hooked up to chip_data of an irq */
86 struct ics { struct
88 int (*map)(struct ics *ics, unsigned int virq); argument
89 void (*mask_unknown)(struct ics *ics, unsigned long vec); argument
90 long (*get_server)(struct ics *ics, unsigned long vec); argument
91 int (*host_match)(struct ics *ics, struct device_node *node); argument
[all …]
/kernel/linux/linux-6.6/arch/powerpc/include/asm/
Dxics.h3 * Common definitions across all variants of ICP and ICS interrupt
69 /* Native ICS */
75 /* RTAS ICS */
82 /* HAL ICS */
89 /* ICS instance, hooked up to chip_data of an irq */
90 struct ics { struct
92 int (*check)(struct ics *ics, unsigned int hwirq); argument
93 void (*mask_unknown)(struct ics *ics, unsigned long vec); argument
94 long (*get_server)(struct ics *ics, unsigned long vec); argument
95 int (*host_match)(struct ics *ics, struct device_node *node); argument
[all …]
/kernel/linux/linux-6.6/drivers/iio/adc/
Dstmpe-adc.c212 static void stmpe_adc_voltage_chan(struct iio_chan_spec *ics, int chan) in stmpe_adc_voltage_chan() argument
214 ics->type = IIO_VOLTAGE; in stmpe_adc_voltage_chan()
215 ics->info_mask_separate = BIT(IIO_CHAN_INFO_RAW); in stmpe_adc_voltage_chan()
216 ics->info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE); in stmpe_adc_voltage_chan()
217 ics->indexed = 1; in stmpe_adc_voltage_chan()
218 ics->channel = chan; in stmpe_adc_voltage_chan()
221 static void stmpe_adc_temp_chan(struct iio_chan_spec *ics, int chan) in stmpe_adc_temp_chan() argument
223 ics->type = IIO_TEMP; in stmpe_adc_temp_chan()
224 ics->info_mask_separate = BIT(IIO_CHAN_INFO_PROCESSED); in stmpe_adc_temp_chan()
225 ics->indexed = 1; in stmpe_adc_temp_chan()
[all …]
/kernel/linux/linux-5.10/drivers/iio/adc/
Dstmpe-adc.c212 static void stmpe_adc_voltage_chan(struct iio_chan_spec *ics, int chan) in stmpe_adc_voltage_chan() argument
214 ics->type = IIO_VOLTAGE; in stmpe_adc_voltage_chan()
215 ics->info_mask_separate = BIT(IIO_CHAN_INFO_RAW); in stmpe_adc_voltage_chan()
216 ics->info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE); in stmpe_adc_voltage_chan()
217 ics->indexed = 1; in stmpe_adc_voltage_chan()
218 ics->channel = chan; in stmpe_adc_voltage_chan()
221 static void stmpe_adc_temp_chan(struct iio_chan_spec *ics, int chan) in stmpe_adc_temp_chan() argument
223 ics->type = IIO_TEMP; in stmpe_adc_temp_chan()
224 ics->info_mask_separate = BIT(IIO_CHAN_INFO_PROCESSED); in stmpe_adc_temp_chan()
225 ics->indexed = 1; in stmpe_adc_temp_chan()
[all …]
/kernel/linux/linux-5.10/Documentation/watchdog/
Dwdt.rst9 - ICS WDT501-P
10 - ICS WDT501-P (no fan tachometer)
11 - ICS WDT500-P
26 The ICS ISA-bus wdt card cannot be safely probed for. Instead you need to
/kernel/linux/linux-6.6/Documentation/watchdog/
Dwdt.rst9 - ICS WDT501-P
10 - ICS WDT501-P (no fan tachometer)
11 - ICS WDT500-P
26 The ICS ISA-bus wdt card cannot be safely probed for. Instead you need to
/kernel/linux/linux-6.6/drivers/input/touchscreen/
Dmk712.c3 * ICS MK712 touchscreen controller driver
12 * This driver supports the ICS MicroClock MK712 TouchScreen controller,
15 * Documentation for ICS MK712 can be found at:
45 MODULE_DESCRIPTION("ICS MicroClock MK712 TouchScreen driver");
174 mk712_dev->name = "ICS MicroClock MK712 TouchScreen"; in mk712_init()
/kernel/linux/linux-5.10/drivers/input/touchscreen/
Dmk712.c3 * ICS MK712 touchscreen controller driver
12 * This driver supports the ICS MicroClock MK712 TouchScreen controller,
15 * Documentation for ICS MK712 can be found at:
45 MODULE_DESCRIPTION("ICS MicroClock MK712 TouchScreen driver");
174 mk712_dev->name = "ICS MicroClock MK712 TouchScreen"; in mk712_init()
/kernel/linux/linux-6.6/block/partitions/
Dacorn.c325 * Check for a valid ICS partition using the checksum.
341 * Purpose: allocate ICS partitions.
344 * Returns: -1 on error, 0 for no ICS table, 1 for partitions ok.
358 * Try ICS style partitions - sector 0 contains partition info. in adfspart_check_ICS()
369 strlcat(state->pp_buf, " [ICS]", PAGE_SIZE); in adfspart_check_ICS()
379 * Negative sizes tell the RISC OS ICS driver to ignore in adfspart_check_ICS()
437 * Purpose: allocate ICS partitions.
440 * Returns: -1 on error, 0 for no ICS table, 1 for partitions ok.
/kernel/linux/linux-5.10/block/partitions/
Dacorn.c325 * Check for a valid ICS partition using the checksum.
341 * Purpose: allocate ICS partitions.
344 * Returns: -1 on error, 0 for no ICS table, 1 for partitions ok.
358 * Try ICS style partitions - sector 0 contains partition info. in adfspart_check_ICS()
369 strlcat(state->pp_buf, " [ICS]", PAGE_SIZE); in adfspart_check_ICS()
379 * Negative sizes tell the RISC OS ICS driver to ignore in adfspart_check_ICS()
437 * Purpose: allocate ICS partitions.
440 * Returns: -1 on error, 0 for no ICS table, 1 for partitions ok.

12345678910