Re: [PATCH 05/12] genirq: Shutdown irq chips in suspend/resume during hibernation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



    CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.



    On 5/19/20 7:26 PM, Anchal Agarwal wrote:
    > Many legacy device drivers do not implement power management (PM)
    > functions which means that interrupts requested by these drivers stay
    > in active state when the kernel is hibernated.
    >
    > This does not matter on bare metal and on most hypervisors because the
    > interrupt is restored on resume without any noticable side effects as
    > it stays connected to the same physical or virtual interrupt line.
    >
    > The XEN interrupt mechanism is different as it maintains a mapping
    > between the Linux interrupt number and a XEN event channel. If the
    > interrupt stays active on hibernation this mapping is preserved but
    > there is unfortunately no guarantee that on resume the same event
    > channels are reassigned to these devices. This can result in event
    > channel conflicts which prevent the affected devices from being
    > restored correctly.
    >
    > One way to solve this would be to add the necessary power management
    > functions to all affected legacy device drivers, but that's a
    > questionable effort which does not provide any benefits on non-XEN
    > environments.
    >
    > The least intrusive and most efficient solution is to provide a
    > mechanism which allows the core interrupt code to tear down these
    > interrupts on hibernation and bring them back up again on resume. This
    > allows the XEN event channel mechanism to assign an arbitrary event
    > channel on resume without affecting the functionality of these
    > devices.
    >
    > Fortunately all these device interrupts are handled by a dedicated XEN
    > interrupt chip so the chip can be marked that all interrupts connected
    > to it are handled this way. This is pretty much in line with the other
    > interrupt chip specific quirks, e.g. IRQCHIP_MASK_ON_SUSPEND.
    >
    > Add a new quirk flag IRQCHIP_SHUTDOWN_ON_SUSPEND and add support for
    > it the core interrupt suspend/resume paths.
    >
    > Signed-off-by: Anchal Agarwal <anchalag@xxxxxxxxxx>
    > Signed-off--by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>


    Since Thomas wrote this patch I think it should also have "From: " him.

That sounds about right. I will update it next round and add Tested-by.

    -boris

- Anchal







[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux