pciehp: remove needless command completed interrupt setting
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Thu, 26 Jun 2008 11:07:33 +0000 (20:07 +0900)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Fri, 27 Jun 2008 20:01:03 +0000 (13:01 -0700)
Currently, pciehp driver enables command completed interrupt as follows.

(1) Don't enable at initialization.
(2) Enable command completed interrupt whenever pciehp issues a
    command, if the command doesn't attempt to disable the interrupt.
(3) Disable command completed interrupt at driver unloading.

Once we enable command completed interrupt, we don't need to re-enable
it for every command. So we can simplify above steps as follows:

(1) Enable command completed interrupt at initialization.
(2) No special sequence for command completed interrupt.
(3) Disable command completed interrupt at driver unloading.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/hotplug/pciehp_hpc.c

index 1ce52437e1ed24f2167f90238836cccc8fa3dcab..1323a43285d71efb7635e1114d939fef34618219 100644 (file)
@@ -337,10 +337,6 @@ static int pcie_write_cmd(struct controller *ctrl, u16 cmd, u16 mask)
 
        slot_ctrl &= ~mask;
        slot_ctrl |= (cmd & mask);
-       /* Don't enable command completed if caller is changing it. */
-       if (!(mask & CMD_CMPL_INTR_ENABLE))
-               slot_ctrl |= CMD_CMPL_INTR_ENABLE;
-
        ctrl->cmd_busy = 1;
        smp_mb();
        retval = pciehp_writew(ctrl, SLOTCTRL, slot_ctrl);
@@ -996,10 +992,10 @@ int pcie_enable_notification(struct controller *ctrl)
        if (MRL_SENS(ctrl))
                cmd |= MRL_DETECT_ENABLE;
        if (!pciehp_poll_mode)
-               cmd |= HP_INTR_ENABLE;
+               cmd |= HP_INTR_ENABLE | CMD_CMPL_INTR_ENABLE;
 
-       mask = PRSN_DETECT_ENABLE | ATTN_BUTTN_ENABLE |
-               PWR_FAULT_DETECT_ENABLE | MRL_DETECT_ENABLE | HP_INTR_ENABLE;
+       mask = PRSN_DETECT_ENABLE | ATTN_BUTTN_ENABLE | MRL_DETECT_ENABLE |
+              PWR_FAULT_DETECT_ENABLE | HP_INTR_ENABLE | CMD_CMPL_INTR_ENABLE;
 
        if (pcie_write_cmd(ctrl, cmd, mask)) {
                err("%s: Cannot enable software notification\n", __func__);