• Yijing Wang's avatar
    s390/MSI: Use standard mask and unmask funtions · 8fb878c5
    Yijing Wang authored
    MSI irqchip in s390 has its own mask and unmask MSI irq
    functions, zpci_enable_irq() and zpci_disable_irq().
    They mask and unmask MSI irq in standard ways, no arch
    special. MSI driver provides two global standard functions
    mask_msi_irq() and unmask_msi_irq(). Local zpci_enable_irq()
    and zpci_disable_irq() are almost the same as the standard
    two. the difference is local mask/unmask functions
    read the mask status before mask and unmask everytime.
    Then change the value and rewrite to hardware. In standard
    functions, save the mask status after mask and unmask msi
    irq, and use the cached status to change the mask status.
    When we mask or unmask a MSI irq, we always cache its
    mask status except we know need not to cache it, like in
    pci_msi_shutdown. So use the standard functions to replace
    the local is safe.
    Signed-off-by: default avatarYijing Wang <wangyijing@huawei.com>
    [sebott: fixed inverted function pointers]
    Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    8fb878c5
pci.c 19.5 KB