Searched refs:msic (Results 1 - 6 of 6) sorted by relevance

/linux-4.1.27/arch/powerpc/platforms/cell/
H A Daxon_msi.c81 void axon_msi_debug_setup(struct device_node *dn, struct axon_msic *msic);
84 struct axon_msic *msic) { }
88 static void msic_dcr_write(struct axon_msic *msic, unsigned int dcr_n, u32 val) msic_dcr_write() argument
92 dcr_write(msic->dcr_host, dcr_n, val); msic_dcr_write()
98 struct axon_msic *msic = irq_get_handler_data(irq); axon_msi_cascade() local
103 write_offset = dcr_read(msic->dcr_host, MSIC_WRITE_OFFSET_REG); axon_msi_cascade()
109 while (msic->read_offset != write_offset && retry < 100) { axon_msi_cascade()
110 idx = msic->read_offset / sizeof(__le32); axon_msi_cascade()
111 msi = le32_to_cpu(msic->fifo_virt[idx]); axon_msi_cascade()
115 write_offset, msic->read_offset, msi); axon_msi_cascade()
117 if (msi < nr_irqs && irq_get_chip_data(msi) == msic) { axon_msi_cascade()
119 msic->fifo_virt[idx] = cpu_to_le32(0xffffffff); axon_msi_cascade()
139 msic->read_offset += MSIC_FIFO_ENTRY_SIZE; axon_msi_cascade()
140 msic->read_offset &= MSIC_FIFO_SIZE_MASK; axon_msi_cascade()
146 msic->read_offset += MSIC_FIFO_ENTRY_SIZE; axon_msi_cascade()
147 msic->read_offset &= MSIC_FIFO_SIZE_MASK; axon_msi_cascade()
158 struct axon_msic *msic = NULL; find_msi_translator() local
194 msic = irq_domain->host_data; find_msi_translator()
199 return msic; find_msi_translator()
261 struct axon_msic *msic; axon_msi_setup_msi_irqs() local
263 msic = find_msi_translator(dev); axon_msi_setup_msi_irqs()
264 if (!msic) axon_msi_setup_msi_irqs()
272 virq = irq_create_direct_mapping(msic->irq_domain); axon_msi_setup_msi_irqs()
325 struct axon_msic *msic = dev_get_drvdata(&device->dev); axon_msi_shutdown() local
329 msic->irq_domain->of_node->full_name); axon_msi_shutdown()
330 tmp = dcr_read(msic->dcr_host, MSIC_CTRL_REG); axon_msi_shutdown()
332 msic_dcr_write(msic, MSIC_CTRL_REG, tmp); axon_msi_shutdown()
338 struct axon_msic *msic; axon_msi_probe() local
344 msic = kzalloc(sizeof(struct axon_msic), GFP_KERNEL); axon_msi_probe()
345 if (!msic) { axon_msi_probe()
346 printk(KERN_ERR "axon_msi: couldn't allocate msic for %s\n", axon_msi_probe()
361 msic->dcr_host = dcr_map(dn, dcr_base, dcr_len); axon_msi_probe()
362 if (!DCR_MAP_OK(msic->dcr_host)) { axon_msi_probe()
368 msic->fifo_virt = dma_alloc_coherent(&device->dev, MSIC_FIFO_SIZE_BYTES, axon_msi_probe()
369 &msic->fifo_phys, GFP_KERNEL); axon_msi_probe()
370 if (!msic->fifo_virt) { axon_msi_probe()
382 memset(msic->fifo_virt, 0xff, MSIC_FIFO_SIZE_BYTES); axon_msi_probe()
385 msic->irq_domain = irq_domain_add_nomap(dn, 65536, &msic_host_ops, msic); axon_msi_probe()
386 if (!msic->irq_domain) { axon_msi_probe()
392 irq_set_handler_data(virq, msic); axon_msi_probe()
397 msic_dcr_write(msic, MSIC_BASE_ADDR_HI_REG, msic->fifo_phys >> 32); axon_msi_probe()
398 msic_dcr_write(msic, MSIC_BASE_ADDR_LO_REG, axon_msi_probe()
399 msic->fifo_phys & 0xFFFFFFFF); axon_msi_probe()
400 msic_dcr_write(msic, MSIC_CTRL_REG, axon_msi_probe()
404 msic->read_offset = dcr_read(msic->dcr_host, MSIC_WRITE_OFFSET_REG) axon_msi_probe()
407 dev_set_drvdata(&device->dev, msic); axon_msi_probe()
412 axon_msi_debug_setup(dn, msic); axon_msi_probe()
419 dma_free_coherent(&device->dev, MSIC_FIFO_SIZE_BYTES, msic->fifo_virt, axon_msi_probe()
420 msic->fifo_phys); axon_msi_probe()
422 kfree(msic); axon_msi_probe()
430 .compatible = "ibm,axon-msic"
454 struct axon_msic *msic = data; msic_set() local
455 out_le32(msic->trigger, val); msic_set()
467 void axon_msi_debug_setup(struct device_node *dn, struct axon_msic *msic) axon_msi_debug_setup() argument
478 msic->trigger = ioremap(addr, 0x4); axon_msi_debug_setup()
479 if (!msic->trigger) { axon_msi_debug_setup()
487 msic, &fops_msic)) { axon_msi_debug_setup()
83 axon_msi_debug_setup(struct device_node *dn, struct axon_msic *msic) axon_msi_debug_setup() argument
/linux-4.1.27/drivers/mfd/
H A Dintel_msic.c286 * @msic: MSIC instance
300 int intel_msic_irq_read(struct intel_msic *msic, unsigned short reg, u8 *val) intel_msic_irq_read() argument
305 *val = readb(msic->irq_base + (reg - INTEL_MSIC_IRQLVL1)); intel_msic_irq_read()
310 static int intel_msic_init_devices(struct intel_msic *msic) intel_msic_init_devices() argument
312 struct platform_device *pdev = msic->pdev; intel_msic_init_devices()
366 static void intel_msic_remove_devices(struct intel_msic *msic) intel_msic_remove_devices() argument
368 struct platform_device *pdev = msic->pdev; intel_msic_remove_devices()
376 struct intel_msic *msic; intel_msic_probe() local
404 msic = devm_kzalloc(&pdev->dev, sizeof(*msic), GFP_KERNEL); intel_msic_probe()
405 if (!msic) intel_msic_probe()
408 msic->vendor = MSIC_VENDOR(id0); intel_msic_probe()
409 msic->version = MSIC_VERSION(id0); intel_msic_probe()
410 msic->pdev = pdev; intel_msic_probe()
417 msic->irq_base = devm_ioremap_resource(&pdev->dev, res); intel_msic_probe()
418 if (IS_ERR(msic->irq_base)) intel_msic_probe()
419 return PTR_ERR(msic->irq_base); intel_msic_probe()
421 platform_set_drvdata(pdev, msic); intel_msic_probe()
423 ret = intel_msic_init_devices(msic); intel_msic_probe()
430 MSIC_MAJOR(msic->version), MSIC_MINOR(msic->version), intel_msic_probe()
431 msic->vendor); intel_msic_probe()
438 struct intel_msic *msic = platform_get_drvdata(pdev); intel_msic_remove() local
440 intel_msic_remove_devices(msic); intel_msic_remove()
/linux-4.1.27/drivers/gpio/
H A Dgpio-msic.c40 /* masks for msic gpio output GPIOxxxxCTLO registers */
47 /* masks for msic gpio input GPIOxxxxCTLI registers */
240 struct intel_msic *msic = pdev_to_intel_msic(mg->pdev); msic_gpio_irq_handler() local
247 intel_msic_irq_read(msic, INTEL_MSIC_GPIO0LVIRQ + i, &pin); msic_gpio_irq_handler()
/linux-4.1.27/drivers/platform/x86/
H A Dintel_mid_thermal.c188 /* Enable the msic for conversion before reading */ mid_read_temp()
251 * @base_addr: index of free msic ADC channel
/linux-4.1.27/sound/soc/intel/boards/
H A Dmfld_machine.c430 MODULE_ALIAS("platform:msic-audio");
/linux-4.1.27/include/linux/mfd/
H A Dintel_msic.h453 extern int intel_msic_irq_read(struct intel_msic *msic, unsigned short reg,

Completed in 189 milliseconds