Commit 12450884 authored by David S. Miller's avatar David S. Miller

[SPARC64]: Fix VIRQ enabling.

We were doing the wrong call to turn them on, and also
when enabling we need to forcefully set the state to IDLE.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 701271df
...@@ -400,6 +400,12 @@ static void sun4v_virq_enable(unsigned int virt_irq) ...@@ -400,6 +400,12 @@ static void sun4v_virq_enable(unsigned int virt_irq)
"err(%d)\n", "err(%d)\n",
dev_handle, dev_ino, cpuid, err); dev_handle, dev_ino, cpuid, err);
err = sun4v_vintr_set_state(dev_handle, dev_ino, err = sun4v_vintr_set_state(dev_handle, dev_ino,
HV_INTR_STATE_IDLE);
if (err != HV_EOK)
printk("sun4v_vintr_set_state(%lx,%lx,"
"HV_INTR_STATE_IDLE): err(%d)\n",
dev_handle, dev_ino, err);
err = sun4v_vintr_set_valid(dev_handle, dev_ino,
HV_INTR_ENABLED); HV_INTR_ENABLED);
if (err != HV_EOK) if (err != HV_EOK)
printk("sun4v_vintr_set_state(%lx,%lx," printk("sun4v_vintr_set_state(%lx,%lx,"
...@@ -420,7 +426,7 @@ static void sun4v_virq_disable(unsigned int virt_irq) ...@@ -420,7 +426,7 @@ static void sun4v_virq_disable(unsigned int virt_irq)
dev_handle = ino & IMAP_IGN; dev_handle = ino & IMAP_IGN;
dev_ino = ino & IMAP_INO; dev_ino = ino & IMAP_INO;
err = sun4v_vintr_set_state(dev_handle, dev_ino, err = sun4v_vintr_set_valid(dev_handle, dev_ino,
HV_INTR_DISABLED); HV_INTR_DISABLED);
if (err != HV_EOK) if (err != HV_EOK)
printk("sun4v_vintr_set_state(%lx,%lx," printk("sun4v_vintr_set_state(%lx,%lx,"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment