Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
S
Simple VME FMC Carrier SVEC
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
14
Issues
14
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 VME FMC Carrier SVEC
Commits
c0d76b04
Commit
c0d76b04
authored
Jul 29, 2021
by
Federico Vaga
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'release/v2.0.4'
parents
1e9756d5
323252c3
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
21 additions
and
11 deletions
+21
-11
CHANGELOG.rst
CHANGELOG.rst
+6
-0
xloader_regs.h
software/kernel/hw/xloader_regs.h
+5
-0
svec-core-fpga.c
software/kernel/svec-core-fpga.c
+2
-8
svec-core.c
software/kernel/svec-core.c
+8
-3
No files found.
CHANGELOG.rst
View file @
c0d76b04
...
...
@@ -2,6 +2,12 @@
Change Log
==========
2.0.4 - 2021-07-29
==================
Fixed
-----
- sw: improve compatibility with newer ( > 3.10) Linux kernel version
2.0.3 - 2021-03-22
==================
Fixed
...
...
software/kernel/hw/xloader_regs.h
View file @
c0d76b04
...
...
@@ -58,6 +58,11 @@
#define XLDR_CSR_CLKDIV_SHIFT 8
#define XLDR_CSR_CLKDIV_W(value) WBGEN2_GEN_WRITE(value, 8, 6)
#define XLDR_CSR_CLKDIV_R(reg) WBGEN2_GEN_READ(reg, 8, 6)
/* definitions for field: Bootloader version */
#define XLDR_CSR_VERSION_MASK WBGEN2_GEN_MASK(14, 8)
#define XLDR_CSR_VERSION_SHIFT 14
#define XLDR_CSR_VERSION_R(reg) WBGEN2_GEN_READ(reg, 14, 8)
/* definitions for register: Bootloader Trigger Register */
...
...
software/kernel/svec-core-fpga.c
View file @
c0d76b04
...
...
@@ -217,14 +217,8 @@ static struct resource svec_fpga_vic_res[] = {
struct
irq_domain
*
svec_fpga_irq_find_host
(
struct
device
*
dev
)
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
struct
irq_fwspec
fwspec
=
{
.
fwnode
=
dev
->
fwnode
,
.
param_count
=
2
,
.
param
[
0
]
=
((
unsigned
long
)
dev
>>
32
)
&
0xffffffff
,
.
param
[
1
]
=
((
unsigned
long
)
dev
)
&
0xffffffff
,
};
return
irq_find_matching_fwspec
(
&
fwspec
,
DOMAIN_BUS_ANY
);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)
return
irq_find_matching_fwnode
(
dev
->
fwnode
,
DOMAIN_BUS_ANY
);
#else
return
(
irq_find_host
((
void
*
)
dev
));
#endif
...
...
software/kernel/svec-core.c
View file @
c0d76b04
...
...
@@ -252,14 +252,17 @@ static int svec_fpga_loader_is_active(struct fpga_manager *mgr)
struct
vme_dev
*
vdev
=
to_vme_dev
(
svec
->
dev
.
parent
);
void
*
loader_addr
=
vdev
->
map_cr
.
kernel_va
+
SVEC_BASE_LOADER
;
char
buf
[
5
];
uint32_t
idc
;
uint32_t
idc
,
csr
;
csr
=
ioread32be
(
loader_addr
+
XLDR_REG_CSR
);
idc
=
ioread32be
(
loader_addr
+
XLDR_REG_IDR
);
idc
=
htonl
(
idc
);
memset
(
buf
,
0
,
5
);
strncpy
(
buf
,
(
char
*
)
&
idc
,
4
);
dev_dbg
(
&
mgr
->
dev
,
"SVEC Loader: {ID:
\"
%s
\"
(0x%08x), Version: %d (0x%08x)}"
,
buf
,
idc
,
XLDR_CSR_VERSION_R
(
csr
),
csr
);
return
(
strncmp
(
buf
,
"SVEC"
,
4
)
==
0
);
}
...
...
@@ -428,8 +431,10 @@ static size_t svec_fpga_write_buf(struct fpga_manager *mgr,
svec
->
bitstream_last_word
,
svec
->
bitstream_last_word_size
,
0
);
if
(
err
&&
!
(
err
==
-
EINVAL
&&
i
==
0
))
if
(
err
&&
!
(
err
==
-
EINVAL
&&
i
==
0
))
{
dev_err
(
&
mgr
->
dev
,
"failed at word %d/%ld (%d)
\n
"
,
i
,
size
,
err
);
goto
out
;
}
/*
* EINVAL is "fine" here because the first time we give a
...
...
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