Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\irq\generic-chip.c Create Date:2022-07-28 10:12:52
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:q_map_generic_chip - Map a generic chip for an irq domain

Proto:int irq_map_generic_chip(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw_irq)

Type:int

Parameter:

TypeParameterName
struct irq_domain *d
unsigned intvirq
irq_hw_number_thw_irq
380  data = q_domain_get_irq_data - Get irq_data associated with @virq and @domain*@domain: domain to match*@virq: IRQ number to get irq_data
381  dgc = Pointer to a list of generic chips
388  gc = __irq_get_domain_generic_chip(d, hw_irq)
389  If IS_ERR(gc) Then Return PTR_ERR(gc)
392  idx = hw_irq % irqs_per_chip
394  If st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from Then Return -Operation is not supported
397  If st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from Then Return -EBUSY
400  ct = chip_types
401  chip = chip
404  If Not installed Then
405  raw_spin_lock_irqsave( & lock, flags)
406  irq_gc_init_mask_cache(gc, gc_flags)
407  raw_spin_unlock_irqrestore( & lock, flags)
411  Atomically set a bit in memory
413  If gc_flags & IRQ_GC_INIT_NESTED_LOCK Then irq_set_lockdep_class(virq, & Separate lockdep classes for interrupt chip which can nest irq_desc* lock and request mutex., & irq_nested_request_class)
417  If irq_calc_mask Then irq_calc_mask(data)
419  Else mask = 1 << idx
422  q_domain_set_info - Set the complete data for a @virq in @domain*@domain: Interrupt domain to match*@virq: IRQ number*@hwirq: The hardware interrupt number*@chip: The associated interrupt chip*@chip_data: The associated interrupt chip data*@handler: The
423  irq_modify_status(virq, irq_flags_to_clear, irq_flags_to_set)
424  Return 0