Synchronous Ethernet networks use a physical layer clock to syntonize
the frequency across different network elements.
Basic SyncE node defined in the ITU-T G.8264 consist of an Ethernet
Equipment Clock (EEC) and have the ability to recover synchronization
from the synchronization inputs - either traffic interfaces or external
frequency sources.
The EEC can synchronize its frequency (syntonize) to any of those sources.
It is also able to select synchronization source through priority tables
and synchronization status messaging. It also provides neccessary
filtering and holdover capabilities
This patch series introduces basic interface for reading the Ethernet
Equipment Clock (EEC) state on a SyncE capable device. This state gives
information about the source of the syntonization signal (ether my port,
or any external one) and the state of EEC. This interface is required\
to implement Synchronization Status Messaging on upper layers.
v2:
- improved documentation
- fixed kdoc warning
RFC history:
v2:
- removed whitespace changes
- fix issues reported by test robot
v3:
- Changed naming from SyncE to EEC
- Clarify cover letter and commit message for patch 1
v4:
- Removed sync_source and pin_idx info
- Changed one structure to attributes
- Added EEC_SRC_PORT flag to indicate that the EEC is synchronized
to the recovered clock of a port that returns the state
v5:
- add EEC source as an optiona attribute
- implement support for recovered clocks
- align states returned by EEC to ITU-T G.781
v6:
- fix EEC clock state reporting
- add documentation
- fix descriptions in code comments
Maciej Machnikowski (6):
ice: add support detecting features based on netlist
rtnetlink: Add new RTM_GETEECSTATE message to get SyncE status
ice: add support for reading SyncE DPLL state
rtnetlink: Add support for SyncE recovered clock configuration
ice: add support for SyncE recovered clocks
docs: net: Add description of SyncE interfaces
Documentation/networking/synce.rst | 117 ++++++++
drivers/net/ethernet/intel/ice/ice.h | 7 +
.../net/ethernet/intel/ice/ice_adminq_cmd.h | 94 ++++++-
drivers/net/ethernet/intel/ice/ice_common.c | 224 ++++++++++++++++
drivers/net/ethernet/intel/ice/ice_common.h | 20 +-
drivers/net/ethernet/intel/ice/ice_devids.h | 3 +
drivers/net/ethernet/intel/ice/ice_lib.c | 6 +-
drivers/net/ethernet/intel/ice/ice_main.c | 137 ++++++++++
drivers/net/ethernet/intel/ice/ice_ptp.c | 34 +++
drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 49 ++++
drivers/net/ethernet/intel/ice/ice_ptp_hw.h | 22 ++
drivers/net/ethernet/intel/ice/ice_type.h | 1 +
include/linux/netdevice.h | 33 +++
include/uapi/linux/if_link.h | 57 ++++
include/uapi/linux/rtnetlink.h | 10 +
net/core/rtnetlink.c | 253 ++++++++++++++++++
security/selinux/nlmsgtab.c | 6 +-
17 files changed, 1069 insertions(+), 4 deletions(-)
create mode 100644 Documentation/networking/synce.rst
--
2.26.3
V2 available at:
https://lore.kernel.org/lkml/cover.1635447301.git.reinette.chatre@intel.com/
Changes since V2:
- Remove the non-kselftest placeholder patches while also removing their
usage within the SGX selftests. Instead, the SGX selftests obtain needed
data from CPUID directly (Dave).
- Rewrite commit message of "selftests/x86/sgx: Fix a benign linker
warning" (Dave).
- Add Jarkko's signature to "selftests/sgx: Add page permission and
exception test" (Jarkko).
V1 available at:
https://lore.kernel.org/lkml/cover.1631731214.git.reinette.chatre@intel.com/
Changes since V1:
- Biggest change: The non-kselftest placeholder patches included in this series
that the kselftest work depends on are still being discussed elsewhere
(link below) but has changed significantly since the first submission,
warranting an update to the kselftest patches that depend on it.
Jarkko: I made significant modifications to your
"selftests/sgx: Add a new kselftest: unclobbered_vdso_oversubscribed"
that you may want to look at.
- Improve cover letter and changelogs (Dave).
- Add Jarkko and Dave's signatures where obtained (Jarkko and Dave).
- Fix Cedric's signature in patch 1 (Jarkko and Cedric).
- Improve the loop locating the data segment (Jarkko).
- Update placeholder patches that makes the amount of SGX memory available to
latest version (v8). Previously this dependency consisted out of one
patch, now it spans two.
Hi Everybody,
This series consists out of outstanding SGX selftests changes, rebased
and gathered in a single series that can easily be merged for testing
and development, and a few more changes added to expand the existing tests.
The outstanding SGX selftest changes included in this series that have already
been submitted separately are:
* A more than two year old patch fixing a benign linker warning that is still
present today:
https://lore.kernel.org/linux-sgx/20191017030340.18301-2-sean.j.christopher…
The original patch is added intact and not all email addresses
within are valid.
* Latest (v4) of Jarkko Sakkinen's series to add an oversubscription test:
https://lore.kernel.org/linux-sgx/20210809093127.76264-1-jarkko@kernel.org/
* Latest (v2) of Jarkko Sakkinen's patch that provides per-op
parameter structs for the test enclave:
https://lore.kernel.org/linux-sgx/20210812224645.90280-1-jarkko@kernel.org/
The new changes introduced in this series builds on Jarkko's outstanding
SGX selftest changes and adds new tests for page permissions, exception
handling, and thread entry.
Building and running enclaves is painful and traditionally requires a
big software stack. This adds features like threads to the SGX selftests
which are traditionally implemented in that big software stack. This
helps test SGX kernel support with only code from the kernel tree.
Reinette
Jarkko Sakkinen (8):
selftests/sgx: Assign source for each segment
selftests/sgx: Make data measurement for an enclave segment optional
selftests/sgx: Create a heap for the test enclave
selftests/sgx: Dump segments and /proc/self/maps only on failure
selftests/sgx: Encpsulate the test enclave creation
selftests/sgx: Move setup_test_encl() to each TEST_F()
selftests/sgx: Add a new kselftest: unclobbered_vdso_oversubscribed
selftests/sgx: Provide per-op parameter structs for the test enclave
Reinette Chatre (4):
selftests/sgx: Rename test properties in preparation for more enclave
tests
selftests/sgx: Add page permission and exception test
selftests/sgx: Enable multiple thread support
selftests/sgx: Add test for multiple TCS entry
Sean Christopherson (1):
selftests/x86/sgx: Fix a benign linker warning
tools/testing/selftests/sgx/Makefile | 2 +-
tools/testing/selftests/sgx/defines.h | 33 +-
tools/testing/selftests/sgx/load.c | 40 +-
tools/testing/selftests/sgx/main.c | 357 +++++++++++++++---
tools/testing/selftests/sgx/main.h | 6 +-
tools/testing/selftests/sgx/sigstruct.c | 12 +-
tools/testing/selftests/sgx/test_encl.c | 60 ++-
.../selftests/sgx/test_encl_bootstrap.S | 21 +-
8 files changed, 445 insertions(+), 86 deletions(-)
--
2.25.1
This is a series of fixes for minor problems in the building of the GPIO
selftests introduced by my rework of those tests.
The first patch is from Li Zhijian and fixes a compiler error when
building the selftests in environments with stale system includes.
I have reworded the commit comment to make it more to the point in
describing the root cause of the problem and the fix, as suggested by
Shuah in his initial review of that patch.
The second patch fixes a warning when the tests are compiled with -Wall,
and the final patch restores the CFLAGS that should not have been removed
in the rework, including the -Wall.
Kent Gibson (2):
selftests: gpio: fix uninitialised variable warning
selftests: gpio: restore CFLAGS options
Li Zhijian (1):
selftests: gpio: fix gpio compiling error
tools/testing/selftests/gpio/Makefile | 1 +
tools/testing/selftests/gpio/gpio-mockup-cdev.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
--
2.33.1
Hi,
This RFC is a preview of the progress we made in the KUnit hackathon[0].
This patch, made by Maíra and Arthur, converts the damage helper test
from the original DRM selftest framework to use the KUnit framework.
[0] https://groups.google.com/g/kunit-dev/c/YqFR1q2uZvk/m/IbvItSfHBAAJ
The IGT part of this work can be found here:
https://gitlab.freedesktop.org/isinyaaa/igt-gpu-tools/-/tree/introduce-kunit
We also have patches in progress converting the following tests:
framebuffer, cmdline_parser, dp_mst_helper, rect and dma-buf. As soon as
we sort out if this is the right way to proceed in both kernel and IGT
side, the hackathon participants will submit them.
Below, a dmesg output followed by the IGT output of the damage helper
test.
Thanks!
[ 32.502165] [IGT] kms_kunit: executing
[ 32.896062] # Subtest: drm_damage_helper_tests
[ 32.896115] 1..21
[ 32.906500] ok 1 - igt_damage_iter_no_damage
[ 32.907957] ok 2 - igt_damage_iter_no_damage_fractional_src
[ 32.922087] ok 3 - igt_damage_iter_no_damage_src_moved
[ 32.926174] ok 4 - igt_damage_iter_no_damage_fractional_src_moved
[ 32.931746] ok 5 - igt_damage_iter_no_damage_not_visible
[ 32.935329] ok 6 - igt_damage_iter_no_damage_no_crtc
[ 32.939826] ok 7 - igt_damage_iter_no_damage_no_fb
[ 32.942118] ok 8 - igt_damage_iter_simple_damage
[ 32.944158] ok 9 - igt_damage_iter_single_damage
[ 32.945583] ok 10 - igt_damage_iter_single_damage_intersect_src
[ 32.946565] ok 11 - igt_damage_iter_single_damage_outside_src
[ 32.949206] ok 12 - igt_damage_iter_single_damage_fractional_src
[ 32.952464] ok 13 - igt_damage_iter_single_damage_intersect_fractional_src
[ 32.954321] ok 14 - igt_damage_iter_single_damage_outside_fractional_src
[ 32.957147] ok 15 - igt_damage_iter_single_damage_src_moved
[ 32.959162] ok 16 - igt_damage_iter_single_damage_fractional_src_moved
[ 32.961100] ok 17 - igt_damage_iter_damage
[ 32.963609] ok 18 - igt_damage_iter_damage_one_intersect
[ 32.964913] ok 19 - igt_damage_iter_damage_one_outside
[ 32.966389] ok 20 - igt_damage_iter_damage_src_moved
[ 32.968279] ok 21 - igt_damage_iter_damage_not_visible
[ 32.971710] # drm_damage_helper_tests: pass:21 fail:0 skip:0 total:21
[ 32.973887] # Totals: pass:21 fail:0 skip:0 total:21
[ 32.975511] ok 1 - drm_damage_helper_tests
[ 33.051033] [IGT] kms_kunit: exiting, ret=0
IGT-Version: 1.26-g71e8eceb (x86_64) (Linux: 5.15.0-rc7amd-fix+ x86_64)
[IGT] running 21 tests...
[IGT] SUBTEST ok 1 - igt_damage_iter_no_damage
[IGT] SUBTEST ok 2 - igt_damage_iter_no_damage_fractional_src
[IGT] SUBTEST ok 3 - igt_damage_iter_no_damage_src_moved
[IGT] SUBTEST ok 4 - igt_damage_iter_no_damage_fractional_src_moved
[IGT] SUBTEST ok 5 - igt_damage_iter_no_damage_not_visible
[IGT] SUBTEST ok 6 - igt_damage_iter_no_damage_no_crtc
[IGT] SUBTEST ok 7 - igt_damage_iter_no_damage_no_fb
[IGT] SUBTEST ok 8 - igt_damage_iter_simple_damage
[IGT] SUBTEST ok 9 - igt_damage_iter_single_damage
[IGT] SUBTEST ok 10 - igt_damage_iter_single_damage_intersect_src
[IGT] SUBTEST ok 11 - igt_damage_iter_single_damage_outside_src
[IGT] SUBTEST ok 12 - igt_damage_iter_single_damage_fractional_src
[IGT] SUBTEST ok 13 - igt_damage_iter_single_damage_intersect_fractional_src
[IGT] SUBTEST ok 14 - igt_damage_iter_single_damage_outside_fractional_src
[IGT] SUBTEST ok 15 - igt_damage_iter_single_damage_src_moved
[IGT] SUBTEST ok 16 - igt_damage_iter_single_damage_fractional_src_moved
[IGT] SUBTEST ok 17 - igt_damage_iter_damage
[IGT] SUBTEST ok 18 - igt_damage_iter_damage_one_intersect
[IGT] SUBTEST ok 19 - igt_damage_iter_damage_one_outside
[IGT] SUBTEST ok 20 - igt_damage_iter_damage_src_moved
[IGT] SUBTEST ok 21 - igt_damage_iter_damage_not_visible
[IGT] TEST SUCCEEDED ok 1 - drm_damage_helper_tests
SUCCESS (0.465s)
Maíra Canal (1):
drm: selftest: convert drm_damage_helper selftest to KUnit
drivers/gpu/drm/Kconfig | 13 ++
drivers/gpu/drm/Makefile | 2 +-
drivers/gpu/drm/selftests/Makefile | 5 +-
.../gpu/drm/selftests/drm_modeset_selftests.h | 21 --
.../drm/selftests/test-drm_damage_helper.c | 215 +++++++++---------
5 files changed, 127 insertions(+), 129 deletions(-)
--
2.33.1