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
ab0725df
Commit
ab0725df
authored
Aug 25, 2020
by
Federico Vaga
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drv: add debug file
Signed-off-by:
Federico Vaga
<
federico.vaga@cern.ch
>
parent
7dc1f214
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
37 additions
and
0 deletions
+37
-0
Kbuild
kernel/Kbuild
+1
-0
fmc-tdc.h
kernel/fmc-tdc.h
+4
-0
ft-core.c
kernel/ft-core.c
+3
-0
ft-debug.c
kernel/ft-debug.c
+29
-0
No files found.
kernel/Kbuild
View file @
ab0725df
...
...
@@ -45,5 +45,6 @@ fmc-tdc-objs += ft-core.o
fmc-tdc-objs += ft-fifo.o
fmc-tdc-objs += ft-time.o
fmc-tdc-objs += ft-zio.o
fmc-tdc-objs += ft-debug.o
fmc-tdc-spec-objs := fmc-tdc-spec-core.o
kernel/fmc-tdc.h
View file @
ab0725df
...
...
@@ -262,6 +262,8 @@ struct fmctdc_dev {
struct
dma_chan
*
dchan
;
int
pending_dma
;
struct
work_struct
irq_work
;
struct
dentry
*
dbg_dir
;
};
static
inline
u32
ft_ioread
(
struct
fmctdc_dev
*
ft
,
void
*
addr
)
...
...
@@ -343,6 +345,8 @@ void ft_irq_coalescing_timeout_set(struct fmctdc_dev *ft,
uint32_t
ft_irq_coalescing_timeout_get
(
struct
fmctdc_dev
*
ft
,
unsigned
int
chan
);
int
ft_debug_init
(
struct
fmctdc_dev
*
ft
);
void
ft_debug_exit
(
struct
fmctdc_dev
*
ft
);
/**
* It enables the acquisition on a give channel
...
...
kernel/ft-core.c
View file @
ab0725df
...
...
@@ -478,6 +478,7 @@ int ft_probe(struct platform_device *pdev)
if
(
ret
<
0
)
goto
err
;
ft_debug_init
(
ft
);
ft_writel
(
ft
,
TDC_INPUT_ENABLE_FLAG
,
TDC_REG_INPUT_ENABLE
);
ft_writel
(
ft
,
TDC_CTRL_EN_ACQ
,
TDC_REG_CTRL
);
...
...
@@ -514,6 +515,8 @@ int ft_remove(struct platform_device *pdev)
ft_writel
(
ft
,
TDC_CTRL_DIS_ACQ
,
TDC_REG_CTRL
);
ft_writel
(
ft
,
0
,
TDC_REG_INPUT_ENABLE
);
ft_debug_exit
(
ft
);
switch
(
ft
->
mode
)
{
case
FT_ACQ_TYPE_DMA
:
ft_buf_exit
(
ft
);
...
...
kernel/ft-debug.c
0 → 100644
View file @
ab0725df
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright CERN 2018-2019
* Author: Federico Vaga <federico.vaga@cern.ch>
*/
#include <linux/debugfs.h>
#include "fmc-tdc.h"
int
ft_debug_init
(
struct
fmctdc_dev
*
ft
)
{
int
err
;
ft
->
dbg_dir
=
debugfs_create_dir
(
dev_name
(
&
ft
->
pdev
->
dev
),
NULL
);
if
(
IS_ERR_OR_NULL
(
ft
->
dbg_dir
))
{
err
=
PTR_ERR
(
ft
->
dbg_dir
);
dev_err
(
&
ft
->
zdev
->
head
.
dev
,
"Cannot create debugfs directory
\"
%s
\"
(%d)
\n
"
,
dev_name
(
&
ft
->
zdev
->
head
.
dev
),
err
);
return
err
;
}
return
0
;
}
void
ft_debug_exit
(
struct
fmctdc_dev
*
ft
)
{
debugfs_remove_recursive
(
ft
->
dbg_dir
);
}
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