Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Trigger Distribution
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
White Rabbit Trigger Distribution
Commits
05da6271
Commit
05da6271
authored
Aug 15, 2018
by
Dimitris Lampridis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sw/lib: get rid of endianess fixes, not needed anymore
parent
d3f378b7
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
0 additions
and
46 deletions
+0
-46
libwrtd-input.c
software/lib/libwrtd-input.c
+0
-7
libwrtd-internal.c
software/lib/libwrtd-internal.c
+0
-20
libwrtd-internal.h
software/lib/libwrtd-internal.h
+0
-2
libwrtd-logging.c
software/lib/libwrtd-logging.c
+0
-1
libwrtd-output.c
software/lib/libwrtd-output.c
+0
-16
No files found.
software/lib/libwrtd-input.c
View file @
05da6271
...
...
@@ -93,23 +93,18 @@ int wrtd_in_state_get(struct wrtd_node *dev, unsigned int input,
state
->
input
=
chan
.
n
;
state
->
assigned_id
=
chan
.
config
.
id
;
state
->
delay
=
chan
.
config
.
delay
;
wrtd_timestamp_endianess_fix
(
&
state
->
delay
);
state
->
tdc_timebase_offset
=
chan
.
config
.
timebase_offset
;
wrtd_timestamp_endianess_fix
(
&
state
->
tdc_timebase_offset
);
state
->
last_tagged_pulse
=
chan
.
stats
.
last_tagged
;
wrtd_timestamp_endianess_fix
(
&
state
->
last_tagged_pulse
);
state
->
flags
=
chan
.
config
.
flags
;
state
->
log_level
=
chan
.
config
.
log_level
;
state
->
mode
=
chan
.
config
.
mode
;
state
->
tagged_pulses
=
chan
.
stats
.
total_pulses
;
state
->
sent_triggers
=
chan
.
stats
.
sent_pulses
;
state
->
last_sent
=
chan
.
stats
.
last_sent
;
wrtd_timestamp_endianess_fix
(
&
state
->
last_sent
.
ts
);
state
->
dead_time
.
seconds
=
0
;
state
->
dead_time
.
frac
=
0
;
state
->
dead_time
.
ticks
=
variables
[
3
]
*
2
;
wrtd_timestamp_endianess_fix
(
&
state
->
dead_time
);
state
->
sent_packets
=
variables
[
1
];
return
0
;
...
...
@@ -276,7 +271,6 @@ int wrtd_in_trigger_software(struct wrtd_node *dev,
struct
wrtd_trigger_entry
*
trigger
)
{
struct
wrtd_desc
*
wrtd
=
(
struct
wrtd_desc
*
)
dev
;
struct
wrtd_trigger_entry
ltrig
=
*
trigger
;
struct
trtl_msg
msg
;
if
(
trigger
==
NULL
)
{
...
...
@@ -286,7 +280,6 @@ int wrtd_in_trigger_software(struct wrtd_node *dev,
memset
(
&
msg
,
0
,
sizeof
(
struct
trtl_msg
));
wrtd_timestamp_endianess_fix
(
&
ltrig
.
ts
);
msg
.
hdr
.
msg_id
=
WRTD_IN_ACTION_SW_TRIG
;
msg
.
hdr
.
flags
=
TRTL_HMQ_HEADER_FLAG_RPC
;
msg
.
hdr
.
len
=
sizeof
(
struct
wrtd_trigger_entry
)
/
4
;
...
...
software/lib/libwrtd-internal.c
View file @
05da6271
...
...
@@ -100,23 +100,3 @@ int wrtd_trivial_request(struct wrtd_node *dev,
return
wrtd_validate_acknowledge
(
request_msg
);
}
/**
* The embedded core is big endian, convert it to little endian (host)
*/
void
wrtd_timestamp_endianess_fix
(
struct
wr_timestamp
*
ts
)
{
ts
->
seconds
=
((
ts
->
seconds
&
0xFFFFFFFF
)
<<
32
)
|
((
ts
->
seconds
>>
32
)
&
0xFFFFFFFF
);
}
void
wrtd_output_rule_endianess_fix
(
struct
lrt_output_rule
*
rule
)
{
uint16_t
tmp
=
rule
->
state
;
rule
->
state
=
(
rule
->
delay_frac
&
0x00FF
)
<<
8
|
(
rule
->
delay_frac
&
0xFF00
)
>>
8
;
rule
->
delay_frac
=
(
tmp
&
0x00FF
)
<<
8
|
(
tmp
&
0xFF00
)
>>
8
;
}
software/lib/libwrtd-internal.h
View file @
05da6271
...
...
@@ -46,7 +46,5 @@ extern int wrtd_trivial_request(struct wrtd_node *dev,
extern
int
wrtd_send_and_receive_sync
(
struct
wrtd_desc
*
wrtd
,
struct
trtl_msg
*
msg
,
enum
wrtd_core
core
);
extern
void
wrtd_timestamp_endianess_fix
(
struct
wr_timestamp
*
ts
);
extern
void
wrtd_output_rule_endianess_fix
(
struct
lrt_output_rule
*
rule
);
#endif
software/lib/libwrtd-logging.c
View file @
05da6271
...
...
@@ -153,7 +153,6 @@ int wrtd_log_read(struct wrtd_node *dev,
if
(
ret
<=
0
)
break
;
memcpy
(
cur
,
msg
.
data
,
sizeof
(
struct
wrtd_log_entry
));
wrtd_timestamp_endianess_fix
(
&
cur
->
ts
);
remaining
--
;
n_read
++
;
...
...
software/lib/libwrtd-output.c
View file @
05da6271
...
...
@@ -170,9 +170,6 @@ int wrtd_out_state_get(struct wrtd_node *dev, unsigned int output,
state
->
last_executed
=
chan
.
stats
.
last_executed
;
state
->
last_enqueued
=
chan
.
stats
.
last_enqueued
;
state
->
last_lost
=
chan
.
stats
.
last_lost
;
wrtd_timestamp_endianess_fix
(
&
state
->
last_executed
.
ts
);
wrtd_timestamp_endianess_fix
(
&
state
->
last_enqueued
.
ts
);
wrtd_timestamp_endianess_fix
(
&
state
->
last_lost
.
ts
);
state
->
mode
=
chan
.
config
.
mode
;
state
->
flags
=
chan
.
config
.
flags
;
...
...
@@ -195,7 +192,6 @@ int wrtd_out_state_get(struct wrtd_node *dev, unsigned int output,
state
->
received_messages
=
out
.
counter_etherbone
;
state
->
received_loopback
=
out
.
counter_loopback
;
state
->
last_received
=
out
.
last_received
;
wrtd_timestamp_endianess_fix
(
&
state
->
last_received
.
ts
);
return
0
;
}
...
...
@@ -259,7 +255,6 @@ static int wrtd_out_trig_assign_condition_by_index(struct wrtd_node *dev,
err
=
trtl_fw_buffer_get
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
if
(
err
)
return
err
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
output
]);
if
(
!
(
trig
.
flags
&
ENTRY_FLAG_VALID
))
{
/* If the given trigger is not valid, then skip */
...
...
@@ -271,7 +266,6 @@ static int wrtd_out_trig_assign_condition_by_index(struct wrtd_node *dev,
trig
.
ocfg
[
output
].
state
|=
HASH_ENT_CONDITIONAL
;
trig
.
ocfg
[
output
].
cond_ptr
=
cond_idx
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
output
]);
err
=
trtl_fw_buffer_set
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
if
(
err
)
return
err
;
...
...
@@ -280,7 +274,6 @@ static int wrtd_out_trig_assign_condition_by_index(struct wrtd_node *dev,
err
=
trtl_fw_buffer_get
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
if
(
err
)
return
err
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
output
]);
if
(
!
(
trig
.
flags
&
ENTRY_FLAG_VALID
))
{
/* If the given trigger is not valid, then skip */
...
...
@@ -292,7 +285,6 @@ static int wrtd_out_trig_assign_condition_by_index(struct wrtd_node *dev,
trig
.
ocfg
[
output
].
state
|=
HASH_ENT_CONDITION
;
trig
.
ocfg
[
output
].
cond_ptr
=
-
1
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
output
]);
return
trtl_fw_buffer_set
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
}
...
...
@@ -380,7 +372,6 @@ static int wrtd_out_trig_assign_one(struct wrtd_node *dev, unsigned int output,
trig
.
ocfg
[
handle
->
channel
].
state
=
HASH_ENT_DISABLED
;
trig
.
ocfg
[
handle
->
channel
].
state
|=
HASH_ENT_DIRECT
;
trig
.
ocfg
[
handle
->
channel
].
cond_ptr
=
-
1
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
handle
->
channel
]);
err
=
trtl_fw_buffer_set
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
if
(
err
)
...
...
@@ -458,7 +449,6 @@ int wrtd_out_trig_unassign(struct wrtd_node *dev,
err
=
trtl_fw_buffer_get
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
if
(
err
)
return
err
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
handle
->
channel
]);
cond
=
trig
.
ocfg
[
handle
->
channel
].
cond_ptr
;
memset
(
&
trig
.
ocfg
[
handle
->
channel
],
0
,
sizeof
(
struct
lrt_output_rule
));
...
...
@@ -468,7 +458,6 @@ int wrtd_out_trig_unassign(struct wrtd_node *dev,
if
(
cnt
==
FD_NUM_CHANNELS
)
trig
.
flags
&=
~
ENTRY_FLAG_VALID
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
handle
->
channel
]);
err
=
trtl_fw_buffer_set
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
if
(
err
)
return
err
;
...
...
@@ -611,7 +600,6 @@ int wrtd_out_trig_state_get_by_index(struct wrtd_node *dev, unsigned int index,
err
=
trtl_fw_buffer_get
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
if
(
err
)
return
err
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
output
]);
if
(
!
(
trig
.
flags
&
ENTRY_FLAG_VALID
)
||
(
trig
.
ocfg
[
output
].
state
==
HASH_ENT_EMPTY
))
{
...
...
@@ -679,7 +667,6 @@ static int wrtd_out_rule_delay_set(struct wrtd_node *dev,
err
=
trtl_fw_buffer_get
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
if
(
err
)
return
err
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
output
]);
if
(
!
(
trig
.
flags
&
ENTRY_FLAG_VALID
))
{
errno
=
EWRTD_NOFOUND_TRIGGER
;
...
...
@@ -690,7 +677,6 @@ static int wrtd_out_rule_delay_set(struct wrtd_node *dev,
trig
.
ocfg
[
output
].
delay_cycles
=
t
.
ticks
;
trig
.
ocfg
[
output
].
delay_frac
=
t
.
frac
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
output
]);
return
trtl_fw_buffer_set
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
}
...
...
@@ -825,7 +811,6 @@ int wrtd_out_trig_enable(struct wrtd_node *dev,
err
=
trtl_fw_buffer_get
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
if
(
err
)
return
err
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
handle
->
channel
]);
if
(
!
(
trig
.
flags
&
ENTRY_FLAG_VALID
))
{
errno
=
EWRTD_NOFOUND_TRIGGER
;
...
...
@@ -837,7 +822,6 @@ int wrtd_out_trig_enable(struct wrtd_node *dev,
else
trig
.
ocfg
[
handle
->
channel
].
state
|=
HASH_ENT_DISABLED
;
wrtd_output_rule_endianess_fix
(
&
trig
.
ocfg
[
handle
->
channel
]);
return
trtl_fw_buffer_set
(
wrtd
->
trtl
,
WRTD_CPU_FD
,
0
,
&
tlv
,
1
);
}
...
...
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