提交 abdba717 编写于 作者: L Linus Torvalds

Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Add linux/pagemap.h to asm/tlb.h
  [SPARC64]: Need to set state to IDLE during sun4v IRQ enable.
  [SPARC64]: Fix VIRQ enabling.
  [SPARC64]: Add irqs to mdesc_node.
...@@ -329,6 +329,10 @@ static void sun4v_irq_enable(unsigned int virt_irq) ...@@ -329,6 +329,10 @@ static void sun4v_irq_enable(unsigned int virt_irq)
if (err != HV_EOK) if (err != HV_EOK)
printk("sun4v_intr_settarget(%x,%lu): err(%d)\n", printk("sun4v_intr_settarget(%x,%lu): err(%d)\n",
ino, cpuid, err); ino, cpuid, err);
err = sun4v_intr_setstate(ino, HV_INTR_STATE_IDLE);
if (err != HV_EOK)
printk("sun4v_intr_setstate(%x): "
"err(%d)\n", ino, err);
err = sun4v_intr_setenabled(ino, HV_INTR_ENABLED); err = sun4v_intr_setenabled(ino, HV_INTR_ENABLED);
if (err != HV_EOK) if (err != HV_EOK)
printk("sun4v_intr_setenabled(%x): err(%d)\n", printk("sun4v_intr_setenabled(%x): err(%d)\n",
...@@ -400,6 +404,12 @@ static void sun4v_virq_enable(unsigned int virt_irq) ...@@ -400,6 +404,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 +430,7 @@ static void sun4v_virq_disable(unsigned int virt_irq) ...@@ -420,7 +430,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,"
......
...@@ -15,6 +15,7 @@ struct mdesc_node { ...@@ -15,6 +15,7 @@ struct mdesc_node {
u64 node; u64 node;
unsigned int unique_id; unsigned int unique_id;
unsigned int num_arcs; unsigned int num_arcs;
unsigned int irqs[2];
struct property *properties; struct property *properties;
struct mdesc_node *hash_next; struct mdesc_node *hash_next;
struct mdesc_node *allnodes_next; struct mdesc_node *allnodes_next;
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#define _SPARC64_TLB_H #define _SPARC64_TLB_H
#include <linux/swap.h> #include <linux/swap.h>
#include <linux/pagemap.h>
#include <asm/pgalloc.h> #include <asm/pgalloc.h>
#include <asm/tlbflush.h> #include <asm/tlbflush.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册