Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 44639
b: refs/heads/master
c: 729e7d7
h: refs/heads/master
i:
  44637: 90c3c7d
  44635: 5292a23
  44631: 2558783
  44623: 6078559
  44607: a89fc76
v: v3
  • Loading branch information
David S. Miller committed Dec 17, 2006
1 parent ac83953 commit 5a993ac
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 23 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 15f1483404f3497c66872de13f3d585e3da87785
refs/heads/master: 729e7d7e4dc6b905e40992b6439b07153db4bd63
24 changes: 4 additions & 20 deletions trunk/arch/sparc64/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -372,29 +372,29 @@ static void run_pre_handler(unsigned int virt_irq)
}
}

static struct hw_interrupt_type sun4u_irq = {
static struct irq_chip sun4u_irq = {
.typename = "sun4u",
.enable = sun4u_irq_enable,
.disable = sun4u_irq_disable,
.end = sun4u_irq_end,
};

static struct hw_interrupt_type sun4u_irq_ack = {
static struct irq_chip sun4u_irq_ack = {
.typename = "sun4u+ack",
.enable = sun4u_irq_enable,
.disable = sun4u_irq_disable,
.ack = run_pre_handler,
.end = sun4u_irq_end,
};

static struct hw_interrupt_type sun4v_irq = {
static struct irq_chip sun4v_irq = {
.typename = "sun4v",
.enable = sun4v_irq_enable,
.disable = sun4v_irq_disable,
.end = sun4v_irq_end,
};

static struct hw_interrupt_type sun4v_irq_ack = {
static struct irq_chip sun4v_irq_ack = {
.typename = "sun4v+ack",
.enable = sun4v_irq_enable,
.disable = sun4v_irq_disable,
Expand Down Expand Up @@ -493,22 +493,6 @@ unsigned int sun4v_build_irq(u32 devhandle, unsigned int devino)
return bucket->virt_irq;
}

void hw_resend_irq(struct hw_interrupt_type *handler, unsigned int virt_irq)
{
struct ino_bucket *bucket = virt_irq_to_bucket(virt_irq);
unsigned long pstate;
unsigned int *ent;

__asm__ __volatile__("rdpr %%pstate, %0" : "=r" (pstate));
__asm__ __volatile__("wrpr %0, %1, %%pstate"
: : "r" (pstate), "i" (PSTATE_IE));
ent = irq_work(smp_processor_id());
bucket->irq_chain = *ent;
*ent = __irq(bucket);
set_softint(1 << PIL_DEVICE_IRQ);
__asm__ __volatile__("wrpr %0, 0x0, %%pstate" : : "r" (pstate));
}

void ack_bad_irq(unsigned int virt_irq)
{
struct ino_bucket *bucket = virt_irq_to_bucket(virt_irq);
Expand Down
2 changes: 0 additions & 2 deletions trunk/include/asm-sparc64/hw_irq.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
#ifndef __ASM_SPARC64_HW_IRQ_H
#define __ASM_SPARC64_HW_IRQ_H

extern void hw_resend_irq(struct hw_interrupt_type *handler, unsigned int virt_irq);

#endif

0 comments on commit 5a993ac

Please sign in to comment.