| /kernel/linux/linux-6.6/arch/powerpc/sysdev/xics/ |
| D | ics-native.c | 3 * 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 …]
|
| D | ics-opal.c | 3 * 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 …]
|
| D | ics-rtas.c | 152 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()
|
| D | Makefile | 6 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
|
| D | xics-common.c | 30 /* 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/ |
| D | book3s_xics.c | 39 * 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 …]
|
| D | book3s_hv_rm_xics.c | 37 /* -- 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 …]
|
| D | book3s_xics.h | 13 * 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/ |
| D | book3s_xics.c | 39 * 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 …]
|
| D | book3s_xics.h | 13 * 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()
|
| D | book3s_hv_rm_xics.c | 37 /* -- 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/ |
| D | ics-opal.c | 3 * 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 …]
|
| D | xics-common.c | 30 /* 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 …]
|
| D | ics-rtas.c | 27 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 …]
|
| D | Makefile | 6 obj-$(CONFIG_PPC_ICS_RTAS) += ics-rtas.o 7 obj-$(CONFIG_PPC_POWERNV) += ics-opal.o icp-opal.o
|
| /kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
| D | xics.h | 3 * 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-5.10/arch/powerpc/include/asm/ |
| D | xics.h | 3 * 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-5.10/drivers/iio/adc/ |
| D | stmpe-adc.c | 212 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-6.6/drivers/iio/adc/ |
| D | stmpe-adc.c | 212 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/ |
| D | wdt.rst | 9 - 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/ |
| D | wdt.rst | 9 - 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-5.10/drivers/input/touchscreen/ |
| D | mk712.c | 3 * 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/drivers/input/touchscreen/ |
| D | mk712.c | 3 * 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/ |
| D | acorn.c | 325 * 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/ |
| D | acorn.c | 325 * 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.
|