lkml.org 
[lkml]   [2014]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: Does it need to implement irq_set_type method in the ioapic_chip?
From
Hi Thomas,

Thanks a lot for your help!

But I still have some confusion. Could you please help to give some
suggestions to me?

1) This device is a ACPI device, the hardware engineer designed it as
falling edge interrupt trigger
mode, does it need to re-work the hardware and modify it as rising
edge trigger mode to suit the
Linux APIC driver architecture?
2) Why does APIC driver not implement the irq_set_type method? if
implement it, will supply more
free space for the device driver developer(they can set the interrupt
trigger mode by calling request_irq).

Thank you!
Carl


On Wed, Feb 19, 2014 at 4:13 AM, Thomas Gleixner <tglx@linutronix.de> wrote:
> On Tue, 18 Feb 2014, carl peng wrote:
>
> Carl, sending the same mail twice within an hour does not speed up
> things. It's quite likely that it gets ignored.
>
>> 1. Does it need to implement irq_set_type method in the ioapic_chip
>> structure?
>
> No. The irq type is configured by the type of the interrupt or the
> BIOS.
>
> ISA interrupts are always polarity zero edge triggered (historic)
>
> PCI interrupts are always polarity one level triggered
>
> PCIE interrupts are either legacy PCI or with MSI[X] always edge
> triggered
>
>> 2. if no need to implement it, how can device driver set the trigger mode
>> of APIC interrupt controller pin?
>
> Not at all.
>
> The device which is connected to one of the busses must follow the
> specification of the bus. There is no choice. Any additional
> requirements of the device to deal with external signals must be
> handled by the device itself and converted to the appropriate bus
> requirement.
>
> This all is configured by the kernel automatically through bus
> detection and BIOS tables.
>
> Thanks,
>
> tglx


\
 
 \ /
  Last update: 2014-02-19 04:02    [W:0.122 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site