- Dec 05, 2014
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
In order to fit all pp_instance items withing WRS shared memory, we need to make them a little smaller. Thus, the tx and rx buffers are now allocated separately. And, while I am at it, I make them smaller, because 128 bytes are more than enough for PTP with extensions (all frames are under 100 bytes). Given we are always showr of memory in wrpc-sw, this is benefical. As a side effect, clean up some out-of-memory exit paths, and fix a use-before-check buglet in arch-unix (no, we never go out of memory, but the check was wrong). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Commit 3dabecf4 Makefile: bugfix for parallel builds forced all object files to be rebuilt every time, while fiing MAKEALL errors. By making objects depend on .config instead of depending on silentoldconfig we force a rebuild only when the configuration changed. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Dec 04, 2014
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The HAL process, in the white rabbit switch, is now exporting data structures in shared memory. Thus, we don't need to "get_port_state" by RPC, and accessing shared memory is enough. This change in ppsi involves the following changes: arch-wrs/wrs-startup.c: offer global hal_ports[] for others to use (yes, globals are bad, I know...) arch-wrs/include/ppsi-wrs.h: provide pp_wrs_lookup_port time-wrs/wrs-socket.c: use shmem. This means some values are now hardwired as constants, because they were passed as such from the hal. arch-wrs/main-loop.c: verify link up or down in the shared mem status arch-wrs/wrs-calibration.c: wrs_read_calibration_data uses shmem Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is respinning a previous commit, based on the new shmem in libwr after the feedback and patches by Adam. More headers are inserted, as they are included by the ones we use. hal_shmem.h has one 1-line modification to account for the different include path in ppsi, as opposed to wr-switch-sw. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Nov 27, 2014
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
When using "make -j" we must make silentoldconfig before building any object. Otherwise we may use the previous autoconf.h, in error if we just changed the configuration. This was exposed by ./MAKEALL with the properly working wr/non-wr build for wrs: previous wrcp_defconfig left CONFIG_EXT_WR active while building some file with wrs-nonwr_defconfig. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Nov 14, 2014
-
-
Grzegorz Daniluk authored
-
- Nov 13, 2014
-
-
Alessandro Rubini authored
All functions in msg.c that are used locally are now static. There is one that is never used at all (msg_unpack_delay_req) but I fear I need more auditing before removing it. It may be something we need to do, I'm not sure. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This field is not needed, because we issue the response immediately, using the last received header. The copy is not needed, nor the field. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
We always send them in pair, so use a single function to do it. This simplifies the code a little, but most of al it allows later interoduction of mandated masters on multiple vlans. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Signed-off-by:
C.Prados <c.prados@gsi.de>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Nov 11, 2014
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
In the next commits we'll need CONFIG_ symbols and ARRAY_SIZE Unfortunately, we can't use "-include include/generated/autoconf.h" in CFLAGS, because pp_printf is built with our CFLAGS from its own directory. And I'd better not include the full pathname as our make is verbose Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Nov 07, 2014
-
-
Alessandro Rubini authored
-
Alessandro Rubini authored
This paves the way to the addition of a third protocol. Besides the code is slightly smaller (around 50 bytes on all archs). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This reverts commit 9a3e00784afea6ab46510315b9c50cb510175f2d.
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Bitfields are bad, so this turns them into flags and constants. There should be no change at all in behaviour (although the code is a little smaller). The next commit does a change for real. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
I'm going to introduce a "flags" field in pp_instance, so diagnostic flags are better called d_flags. The same applies, for consistency, to the global variable. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Bitfields are a bad practice. And this removes a few bytes in the wrpc builds (no change in other builds). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Nov 04, 2014
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
-
-
- Oct 14, 2014
-
-
Grzegorz Daniluk authored
This reverts commit 5ac225a4. Otherwise, in the case of WRS (when wrp->calibrated is always true) we never call calib_poll() and we don't provide correct values of fixed Tx/Rx deltas.
-
- Sep 22, 2014
-
-
Alessandro Rubini authored
The port number used to be 1, but we are multi-port, and forgot to update this item (no bad effects were seen so far, but the standard requires each port to use a different port number so loops can be managed, and, for example, having both Ethernet and UDP on the same wire is a loop. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Otherwise, if we have two PTP ports for the same interface, like Ethernet and UDP, we are not able to tell which message is for which. This now works as expected: ./ppsi -C "port eth0; iface eth0; role master; proto raw; diagnostics 111" \ -C "port eth0u; iface eth0; role master; proto udp; diagnostics 111" Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This adds the "adjust_frequecy" method to time-wrs. The WR servo is not using this method, which is only called by the normal PTP servo. With this new method, a non-WR slave is able to trim frequency, whereas before this commit we were only able to jump our time. The code move straight the FPGA register, by having some hardware-specific constants explicit in the code. Thus, it is not very beautiful, but it works fine on my systems. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-