Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
FMC TDC 1ns 5cha - Software
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
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
FMC TDC 1ns 5cha - Software
Commits
0a0acc10
Commit
0a0acc10
authored
Sep 27, 2018
by
Juan David González Cobas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
instrument to figure out IDR <- 0 offender
parent
f1fb504e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
0 deletions
+13
-0
ft-irq.c
kernel/ft-irq.c
+13
-0
No files found.
kernel/ft-irq.c
View file @
0a0acc10
...
...
@@ -132,6 +132,10 @@ static inline uint32_t ft_chan_to_irq_mask(struct fmctdc_dev *ft, uint32_t chan_
static
void
ft_irq_disable_save
(
struct
fmctdc_dev
*
ft
)
{
ft
->
irq_imr
=
ft_ioread
(
ft
,
ft
->
ft_irq_base
+
TDC_EIC_REG_EIC_IMR
);
printk
(
KERN_INFO
"race69 %s:%d: ft = %p TDC_EIC_REG_EIC_IDR, ft->irq_imr = %x
\n
"
,
__FILE__
,
__LINE__
,
ft
,
ft
->
irq_imr
);
dump_stack
();
ft_iowrite
(
ft
,
ft
->
irq_imr
,
ft
->
ft_irq_base
+
TDC_EIC_REG_EIC_IDR
);
}
...
...
@@ -706,6 +710,9 @@ int ft_irq_init(struct fmctdc_dev *ft)
/* disable & kick off the interrupts (fixme: possible issue with the HDL) */
ft_iowrite
(
ft
,
~
0
,
ft
->
ft_irq_base
+
TDC_EIC_REG_EIC_IDR
);
printk
(
KERN_INFO
"race69 %s:%d: ft = %p TDC_EIC_REG_EIC_IDR, ft->irq_imr = %x
\n
"
,
__FILE__
,
__LINE__
,
ft
,
0
);
fmc_irq_ack
(
ft
->
fmc
);
/*
* We enable interrupts on all channel. but if we do not enable
...
...
@@ -729,7 +736,13 @@ int ft_irq_init(struct fmctdc_dev *ft)
void
ft_irq_exit
(
struct
fmctdc_dev
*
ft
)
{
ft_iowrite
(
ft
,
~
0
,
ft
->
ft_irq_base
+
TDC_EIC_REG_EIC_IDR
);
printk
(
KERN_INFO
"race69 %s:%d: ft = %p TDC_EIC_REG_EIC_IDR, ft->irq_imr = %x
\n
"
,
__FILE__
,
__LINE__
,
ft
,
0
);
if
(
ft
->
mode
==
FT_ACQ_TYPE_DMA
)
{
printk
(
KERN_INFO
"race69 %s:%d: ft = %p DMA_EIC_REG_EIC_IER, DMA_EIC_EIC_IDR_DMA_DONE | DMA_EIC_EIC_IDR_DMA_ERROR = %x
\n
"
,
__FILE__
,
__LINE__
,
ft
,
DMA_EIC_EIC_IDR_DMA_DONE
|
DMA_EIC_EIC_IDR_DMA_ERROR
);
ft_iowrite
(
ft
,
DMA_EIC_EIC_IDR_DMA_DONE
|
DMA_EIC_EIC_IDR_DMA_ERROR
,
ft
->
ft_dma_eic_base
+
DMA_EIC_REG_EIC_IER
);
...
...
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