- 15 Nov, 2013 4 commits
-
-
Alessandro Rubini authored
This adds the needed configuration items: architectures, extension, cross_compile and wrpc_root. So, what we passed on environment and command line is now in the configuration file. This changes the priorities of such options, so the Makefile is changed to force $(CC), $(LD) and $(CROSS_COMPILE) down to subprojects (i.e. pp_printf and arch-wrs/mini-rpc). Also, we need to remove quotes from .config items, and this is ugly linesin ./Makefile Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Now Kconfig works, but we have no active configuration at all. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Add the lines from the .gitignore found in bst-kconfig. As in the previous commit, use bst-kconfig commit v2.6.34-4-g8168c0b (cherry-picked from wrpc-sw d923523a) Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is the combination of the following commits (oldest on top) from wrpc-sw: 89cdfcd added kconfig infrastructure, the trivial way 5fda0c8 kconfig: use pathnames from Linux-2.6.34 ab30804 kconfig: use 'Kconfig' as file name, not the bst-kconfig ones 7c78880 kconfig: trivially write "WRPC" in place of "Linux Kernel" 2c30cb4 kconfig: trivially fix most 'kernel' words in messages 70eb3ba kconfig: add a configs/ directory and use it 64cc10f scripts/kconfig: don't complain for default in choices After picking them, I replaced all "WRPC" with "PPSi", and I removed the configs/ files (unrelated to this project). In practice, at this point we have the Kconfig infrastructure of Linux-2.6.34, which I picked from the "bst-kconfig" package, which did the extraction work. One day I forward-ported this from v2.6.34 to v3.4, by applying a few hundred kernel patches. While the final code was working, we decided the port was not needed for wrpc-sw. Here in PPSi I keep the same version we have in wrpc-sw. As of this commit, the code is not used; the default configuration file and Makefile targets are added in the next commits. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 14 Nov, 2013 1 commit
-
-
Grzegorz Daniluk authored
-
- 13 Nov, 2013 2 commits
-
-
Alessandro Rubini authored
Bug introduced by ce8485bf bmc: remove field ppi->frgn_rec_i I forgot to run ./MAKEALL during the last commits. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is needed for the wrpc-sw release, as Etherbone won't fit with a full ppsi in the default RAM size for SPEC cards. ptpdump support will soon become optional in ppsi, through Kconfig, and a bigger RAM size will become the default for SPEC images as well. But currently we need this hack. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 09 Nov, 2013 2 commits
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 08 Nov, 2013 1 commit
-
-
Alessandro Rubini authored
This was already expexted to happen, but it was done in the wrong place (my fault). Most likely we should move this "enable_timing_output" in the ptp-wide operations, to be used outside of WR as well. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 07 Nov, 2013 1 commit
-
-
Alessandro Rubini authored
The field is a duplicate of ppi->frgn_rec_num, and got out of sync. This removal fixes WR syncronization as a slave. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 06 Nov, 2013 6 commits
-
-
Alessandro Rubini authored
Also, report how may are there in bmc diagnostics Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This works around a design problem that must be checked carefully. The "is from current parent" flags set at receive time reveales bad, as we should only check when needed. So by now just say it is the current parent if we don't have a current parent yet (i.e., we are not in error, even if it is not from current parent). Also, forget about current parent and foreign masters when the servo is initialized (e.g., at link-up on the wr node). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
wr_ops->enable_timing_output checks the current status and only acts on hardware when the pps must be changed (turned on or off). Thus, all internal uses must refer to this function, or we'll get out of sync between actually pps activation and internall-known state. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Grzegorz Daniluk authored
-
Alessandro Rubini authored
This was wrong (and segfaulted) since we introduced multi-link operation, but I only tested bare-i386 today. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 04 Nov, 2013 16 commits
-
-
Pietro Fezzardi authored
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This only works with wrpc at this point, due to the missing poll for WRS lock to 10MHz. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The locking_poll operation needs to differentiate between slave and grandmaster mode (we use this in the wrpc to change the clock class, according to whether we are locked to the 10MHz or not). The WR-Switch implementation is missing at this point. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is the last bit of the overhaul made by the previous commit, and has no technical effect. (In a perfect world, the previous commit would have been one per function, to easily find errors, but I had not enough time; this is different because it was a two-level call). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is a massive change, but one that we needed since time 0. Aliases were a bad choice, while use of an operation structure shows better the symmetry between the two white rabbit implementations. But, mainly, maintainance is easier. I really needed this because I need to change one prototype, to add support for wrpc acting as grandmaster. There are still some asymmetries to be fixed, but the thing is acceptable at this point. While I was at it, I removed some WR_DSPORT(ppi) using a local pointer "wrp". The code after this commit is shorter by a dozen bytes or so, both on wrpc and wrs. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Currently implementations of WR functions do not include wr-api.h. I need such consistency check to have compiler help in creating the wr_operations structures. Anyways, files should always include its own header. I add wr-api.h in arch.h for laziness, so I get all files for sure. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
timeint_to_wr was actually copying data to a local uninitialized variable of the same type as the input one. The uninitialized structure generates warnings about unitialized fields (at least on newer compilers than the one we use on wr-switch). Instead of clearing the local variable, just use structure assignment and get rid of the function. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
When adjusting the time, we expect stamps to be invalid for a while. Don't print errors unless the fact repeats unexpectedly. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This centralizes a "software" enable timing output, that calls the "hardware" one (previous code) while keeping track of the status. With non-wr the pps output is always enabled if the offset from master is less than 1s. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This sets the clock class in arch-wrpc in a way more aligned to the standard. A grandmaster is 6 if locked to atomic or gps, but 52 if it is designated grandmaster but doesn't lock to a primary source (this is was we poor developers experience). A "master" is 187, the old default, and a slave-only remains 255 as it has always been. This also removes the ability to stop the program while it waits for the pll to lock. It can only succeed or timeout. 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
This defines PP_CLASS_SLAVE_ONLY and similar names, and uses them properly. Also, the global "struct default_rt_opts" was not following the conventions about naming, so rename it to be a "pp" thing. Moreover, since we put all globals in ppg and we have ppg->rt_opts, try to use that instead of a separate global. Unfortunately the initialization sequence is not well ordered, so __pp_default_rt_opts still remains as a global variable, double-underscored to show it's not meant to be used. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Pietro Fezzardi authored
-
- 01 Nov, 2013 1 commit
-
-
Grzegorz Daniluk authored
-
- 17 Oct, 2013 1 commit
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 16 Oct, 2013 5 commits
-
-
Alessandro Rubini authored
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
wrc_ptp_ppsi.o was not picked any more from libarch.a into ppsi.o, now that we don't refer to pp_diag_verbosity any more. So force linking it, or the final wrc.elf build will fail for undefined symbols. Also, remove a no-more-needed -I directive. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
We are already not using "const" verbosity in wrpc-sw, which is our most size-constrained architecture. So remove this legacy support. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is a long-standing bug introduced when fsm.c was changed to immediately enter a new state (before that, we had a grace period in state-faulty). The problem is exposed by running the suggested config file, if eth1 and/or eth2 exist but are currently down. This patch introduces a specific timeout, so we wait 4 seconds before reinitializing the pp instance; we thus avoid burning 100% CPU Time in trying again and again. As a side effect, this reduces timeouts provided to extensions from 4 to 3. I could have reused one of the other timeouts, as faulty state does not use them, but I'd better have proper timeout names in diagnostics. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-