Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
S
Simple PCIe FMC carrier SPEC - Software
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
3
Issues
3
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
Simple PCIe FMC carrier SPEC - Software
Commits
a9bf1e86
Commit
a9bf1e86
authored
Sep 26, 2012
by
Alessandro Rubini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kernel/wr-nic: fix interrupt issue (see comment in code)
Signed-off-by:
Alessandro Rubini
<
rubini@gnudd.com
>
parent
8bd0450b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
3 deletions
+12
-3
wr-nic-eth.c
kernel/wr-nic-eth.c
+12
-3
No files found.
kernel/wr-nic-eth.c
View file @
a9bf1e86
...
...
@@ -70,10 +70,19 @@ irqreturn_t wrn_handler(int irq, void *dev_id)
}
fmc
->
op
->
irq_ack
(
fmc
);
/* after ack, disable and re-enable the irq, so to force an edge */
writel
(
WRN_ALL_MASK
,
&
vic
->
IDR
);
/*
* The VIC is really level-active, but my Gennum refuses to work
* properly on level interrupts (maybe it's just me). So I'll use
* the typical trick you see in level-irq Ethernet drivers when
* they are plugged to edge-irq gpio lines: force an edge in case
* the line has become active again while we were serving it.
* (with a big thank you to Tomasz for the exact sequence to use)
*/
writel
(
VIC_CTL_POL
,
&
vic
->
CTL
);
/* not enabled */
udelay
(
1
);
writel
(
WRN_ALL_MASK
,
&
vic
->
IER
);
writel
(
VIC_CTL_ENABLE
|
VIC_CTL_POL
,
&
vic
->
CTL
);
writel
(
0
,
&
vic
->
EOIR
);
return
ret
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment