Bjarne von Horn
8c30331e6e
use `int` as return type for ecrt_soe_request_*
...
See #101
2024-04-03 10:34:17 +02:00
Bjarne von Horn
885b8717e1
use `int` as return type for ecrt_sdo_request_*
...
See #101
2024-04-03 10:34:17 +02:00
Bjarne von Horn
5248b967d2
use `int` as return type for ecrt_slave_*
...
See #101
2024-04-03 10:34:17 +02:00
Bjarne von Horn
13e99008c3
use int as return type for ecrt_master_*
...
See #101
2024-04-03 10:34:17 +02:00
Bjarne von Horn
06b408ef1b
use int as return type for ecrt_domain_*
...
See #101
2024-04-03 10:34:17 +02:00
Bjarne von Horn
5d39d3b0cf
Add dwmac_intel and stmmac_pci v6.1.81
2024-04-03 10:33:12 +02:00
Bjarne von Horn
3870a66c8f
Fix rtdm rtai redefinition error
2024-02-16 14:06:23 +01:00
Bjarne von Horn
e8213ea7e8
allow non-standard RTAI include dir
2024-02-16 14:05:58 +01:00
Florian Pose
251bb4a147
Changed AL state change timeout. Maybe a fix for #32 .
2024-02-08 12:43:17 +01:00
Florian Pose
5f8d97edcf
Assigned ioctl calls to RT, nRT or both; documented that in header.
2024-02-08 12:05:29 +01:00
Florian Pose
677b8442e3
Minor: Use slave pointer.
2024-02-08 12:04:47 +01:00
Florian Pose
caea048cc9
Merge branch 'prefetch-domain-pointer' into 'devel-1.6'
...
Prefetch domain pointer / made domain argument const
See merge request etherlab.org/ethercat!118
2024-02-08 08:54:17 +00:00
Bjarne von Horn
d0f4aed39b
Make ecrt_master_reset available in RT context
...
It takes the master_sem, so calling it from RT context is not an option.
The reset is done by a workqueue now, which is triggered in a NMI-safe way.
Fixes #103
2024-02-08 08:59:29 +01:00
Florian Pose
2f4c06afc1
Moved application time ioctl for RT-only; changed some permissions.
2024-02-07 17:08:52 +01:00
Florian Pose
67b3756976
Removed header addition.
2024-02-07 16:18:05 +01:00
Florian Pose
0c9813862f
Minor: Broke long lines.
2024-02-07 16:11:02 +01:00
Florian Pose
a5df1c38d1
Moved fetching domain offset to ecrt_master_activate().
2024-02-07 15:27:47 +01:00
Florian Pose
4bab54a336
Removed some unused variables.
2024-02-07 15:26:37 +01:00
Bjarne von Horn
a5fc2b0f26
remove unused variables.
2024-02-07 15:03:39 +01:00
Bjarne von Horn
26ffb1d265
Merge branch 'genet_5.10' into devel-1.6
2024-02-07 14:48:05 +01:00
Florian Pose
c8ed5fa38d
Unified EoE IP parameter names.
2024-02-07 12:44:55 +01:00
Bjarne von Horn
19b8f672c7
Disable memory allocation in {soe,sdo}_request_write
...
Because it's not compatible with Xenomai and other atomic contexts.
The memory is preallocated when creating the request in before.
2024-02-05 16:05:57 +01:00
Florian Pose
25cfa1ead1
Fix building with --disable-eoe.
2024-02-05 15:41:02 +01:00
Florian Pose
25bf7ef885
Set IP parameter methods on user and kernel side.
2024-02-05 15:24:24 +01:00
Bjarne von Horn
c76399b8db
more eth_hw_addr_set ifdefs for suse's kernel
2024-02-05 14:25:48 +01:00
Florian Pose
d89191cd9e
strcpy explanations.
2024-02-05 12:07:34 +01:00
Bjarne von Horn
aa89735e55
do ioctl multiplexing in ioctl.c
2024-02-05 10:08:55 +01:00
Bjarne von Horn
bf790debb6
Split ioctl switch statements into rt, nrt and common
2024-02-05 10:08:55 +01:00
Bjarne von Horn
385f2ba64e
Use rtdm_safe_copy_{from,to}_user
2024-02-05 10:04:14 +01:00
Bjarne von Horn
ca60769996
introduce ec_copy_{from,to}_user macros with ctx argument in ioctl
2024-02-05 10:02:28 +01:00
Bjarne von Horn
95209d2858
Move ec_rtdm_context into common header
2024-02-05 09:58:05 +01:00
Bjarne von Horn
0a41222ee6
prepare uniting ec_rtdm_context
2024-02-05 09:58:04 +01:00
Bjarne von Horn
656526f03c
remove EC_RTDM_OPS_HAS_MMAP again
2024-02-05 09:58:04 +01:00
Bjarne von Horn
1c9f9bfe7d
use RTDM CFLAGS for non-standard include dir
2024-02-05 09:58:04 +01:00
Bjarne von Horn
1dae91d8c3
Use mmap handler in Xenomai3
2024-02-05 09:58:04 +01:00
Bjarne von Horn
e76109c854
Use xeno_config for xenomai version detection
2024-02-05 09:58:04 +01:00
Joonyoung Shim
023d989ee3
Support Xenomai version 3
...
From 9567f460411d9a832c24b3ef65252f6f4f902fef Mon Sep 17 00:00:00 2001
Xenomai version 3 has different RTDM interface with version 2 and has
Alchemy interface instead of native API. This supports RTDM of Xenomai
version 3 and to use Alchemy interface.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
2024-02-05 09:58:04 +01:00
Florian Pose
4ce4d08b7b
Made some more pointer arguments const in API.
2024-02-02 10:56:09 +01:00
Florian Pose
df3954d8ec
Fixed line lengths; and ID keywords of merged sources.
2024-02-01 16:38:06 +01:00
Florian Pose
5e0d49755d
Merge branch 'devel-1.6' into ethercat-backport_setip
2024-02-01 15:30:05 +01:00
Florian Pose
4f32561ce9
Merge branch 'devel-1.6' into ethercat-backport_setip
2024-02-01 15:27:17 +01:00
Florian Pose
ee55c20e28
Fixed mail address; limited lines to 78 characters; removed $Id$.
2024-02-01 15:15:41 +01:00
Florian Pose
512bac72e2
Merge branch 'devel-1.6' into prepare-1.6
2024-02-01 13:26:12 +01:00
Florian Pose
be41b79f3f
Merge branch 'devel-1.6' into prepare-1.6
2024-02-01 13:09:45 +01:00
Florian Pose
038f732543
Increase ioctl() version magic to 35.
2024-02-01 13:05:55 +01:00
Florian Pose
762bb01ff9
Merge branch 'devel-1.6' into ethercat-backport_setip
2024-02-01 12:41:38 +01:00
Florian Pose
2fdea4dd53
Merge branch '79-query-scan-progress-via-api-2' into 'devel-1.6'
...
Resolve "Query scan progress via API"
See merge request etherlab.org/ethercat!110
2024-02-01 10:27:07 +00:00
Bjarne von Horn
2e071ad680
Remove EtherCAT copyright notice.
2024-02-01 09:18:26 +01:00
Bjarne von Horn
9a2abde36c
Remove 2.6 conditionals in master
2024-02-01 09:12:55 +01:00
Florian Pose
91fe3eb735
Added ecrt_master_scan_progress() method.
2024-01-31 16:52:18 +01:00
Florian Pose
21b0b13703
Merge branch 'kbuild_out_of_tree' into 'devel-1.6'
...
support out-of-tree build
See merge request etherlab.org/ethercat!79
2024-01-31 14:52:23 +00:00
Florian Pose
6c6b68c00b
Merge branch 'stable-1.5' into soe-handler
2024-01-18 10:40:06 +01:00
Florian Pose
5c6e19981b
Incremented ioctl version magic to 33.
2024-01-18 10:37:27 +01:00
Bjarne von Horn
dc13d7c511
Add lockdep assertion for EoE xmit callback
2024-01-15 11:43:59 +01:00
Bjarne von Horn
eb44f82a91
Reuse netif_tx_lock for EoE TX synchronization
...
ndo_start_xmit callback is protected by __netif_tx_lock by the network stack,
so we no not need our own locks.
2024-01-15 11:20:25 +01:00
Bjarne von Horn
a54fac3090
Make locking of ext_datagram_queue more selective
2024-01-15 11:20:25 +01:00
Bjarne von Horn
13e1e469e1
Use RT Mutex instead of semaphore for RT ioctl locking.
2024-01-15 11:20:25 +01:00
Bjarne von Horn
7a7f9a041e
Fix -Wcomment.
2024-01-15 11:20:25 +01:00
Bjarne von Horn
c3826c7758
Remove EtherCAT copyright notice.
2024-01-15 11:20:25 +01:00
Bjarne von Horn
543dc87d88
Remove 2.6 conditionals in master
2024-01-15 11:20:25 +01:00
Bjarne von Horn
267ae77ea2
add 0 terminator in ioctl
2023-11-23 18:21:02 +01:00
Florian Pose
97ee76462b
Introduced feature flag WaitBeforeSAFEOPms.
2023-11-23 14:38:29 +01:00
Florian Pose
f46b4ba654
Fixed wrong state assignment for IDN config.
2023-11-23 14:27:01 +01:00
Bjarne von Horn
3eda5173c6
Use fixed-size setip request
2023-09-20 12:46:52 +02:00
Bjarne von Horn
01c72a8865
EoE for Set IP in master
2023-09-20 12:30:24 +02:00
Florian Pose
7b2084e270
Fixed endianess of EoE parameters.
2023-09-15 13:41:01 +02:00
Florian Pose
4d47f0b328
Implemented EoE Set IP parameter request via command-line tool.
2023-09-15 13:40:57 +02:00
Florian Pose
0e25f6d80f
Removed obsolete mailbox type name and clarified documentation.
2023-09-13 10:02:31 +02:00
Florian Pose
5a255fce3d
Removed obsolete FoE type name.
2023-09-13 10:02:31 +02:00
Florian Pose
41bc600cef
Removed obsolete SoE type name.
2023-09-13 10:02:31 +02:00
Florian Pose
d1df6520ba
Cleaned up EoE frame type definitions.
2023-09-13 10:02:31 +02:00
Florian Pose
60ebe661a6
EoE frame types.
2023-09-13 10:02:31 +02:00
Bjarne von Horn
758b4adc99
reserve extra headroom in tx buffer for genet
2023-09-11 21:31:57 +02:00
Bjarne von Horn
d967426204
add missing EXTRA_DIST
2023-09-11 11:43:39 +02:00
Bjarne von Horn
73e6ea9ce6
support out-of-tree build
...
by replacing `src` variable in Kbuild files.
2023-09-11 11:43:39 +02:00
Bjarne von Horn
d08e41f913
Add page ref to device drivers page.
...
It's now always in doxygen-output/html/devicedrivers.html
2023-09-06 10:19:49 +02:00
Florian Pose
d35c5a41cc
Always define EoE handler count.
2023-07-19 15:56:09 +02:00
Nicola Fontana
5d8c8990de
Fix class_create on kernel 6.4
...
Commit 1aaba11da9aa7d7d6b52a74d45b31cac118295a1 in kernel code removed
`module *` argument from `class_create`.
2023-07-05 12:13:32 +02:00
Andreas Stewering-Bone
04f202a39c
Merge branch 'fix_vm_set_flag' into 'stable-1.5'
...
Fix setting flag in vm_area_struct for Kernel 6.3
See merge request etherlab.org/ethercat!67
2023-06-01 05:53:32 +00:00
Bjarne von Horn
27db882dab
Fix setting flag in vm_area_struct for Kernel 6.3
...
The error was:
```
[ 150s] gcc -Wp,-MMD,/home/abuild/rpmbuild/BUILD/build-default/devices/ccat/.netdev.o.d -nostdinc -I/usr/src/linux-6.3.1-1/arch/x86/include -I./arch/x86/include/generated -I/usr/src/linux-6.3.1-1/include -I./include -I/usr/src/linux-6.3.1-1/arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I/usr/src/linux-6.3.1-1/include/uapi -I./include/generated/uapi -include /usr/src/linux-6.3.1-1/include/linux/compiler-version.h -include /usr/src/linux-6.3.1-1/include/linux/kconfig.h -include /usr/src/linux-6.3.1-1/include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=/usr/src/linux-6.3.1-1/= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -funsigned-char -std=gnu11 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-dangling-pointer -fno-stack-clash-protection -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -falign-functions=16 -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -g -gdwarf-5 -DMODULE -DKBUILD_BASENAME='"netdev"' -DKBUILD_MODNAME='"ec_ccat"' -D__KBUILD_MODNAME=kmod_ec_ccat -c -o /home/abuild/rpmbuild/BUILD/build-default/devices/ccat/netdev.o /home/abuild/rpmbuild/BUILD/build-default/devices/ccat/netdev.c ; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --orc --retpoline --rethunk --sls --static-call --uaccess --prefix=16 --module /home/abuild/rpmbuild/BUILD/build-default/devices/ccat/netdev.o
[ 151s] /home/abuild/rpmbuild/BUILD/build-default/master/cdev.c: In function 'eccdev_mmap':
[ 151s] /home/abuild/rpmbuild/BUILD/build-default/master/cdev.c:246:19: error: assignment of read-only member 'vm_flags'
[ 151s] 246 | vma->vm_flags |= VM_DONTDUMP; /* Pages will not be swapped out */
[ 151s] | ^~
[ 151s] make[3]: *** [/usr/src/linux-6.3.1-1/scripts/Makefile.build:253: /home/abuild/rpmbuild/BUILD/build-default/master/cdev.o] Error 1
```
2023-05-09 14:28:11 +02:00
Bjarne von Horn
b97af7523a
igb for 5.15
2023-05-02 12:17:37 +00:00
Florian Pose
47cf84f406
Merge branch 'allow-empty-sdos' into 'stable-1.5'
...
Allow zero-sized SDO responses
See merge request etherlab.org/ethercat!61
2023-05-02 08:43:17 +00:00
Florian Pose
1726abf0c3
Allow zero-sized SDO responses
2023-05-02 08:43:16 +00:00
Florian Pose
c022ddbcf2
Merge branch 'stable-1.5' into 'stable-1.5'
...
fix version compatibility of alloc_netdev when debug if is enabled
See merge request etherlab.org/ethercat!62
2023-03-14 15:59:31 +00:00
Florian Pose
bdab9570f2
Implemented SoE requests in user-space library.
2023-03-14 16:48:48 +01:00
Florian Pose
56c4556173
New SoE request API; implemented API in kernel.
2023-03-14 16:12:45 +01:00
Florian Pose
eac4e340eb
Init missing fields.
2023-03-14 16:07:29 +01:00
Florian Pose
c1fb080b55
Removed Id keywords.
2023-03-14 16:05:15 +01:00
Florian Pose
57adee4c7b
Changed email and postal address.
2023-01-09 09:59:08 +01:00
raim.delgado
7bdaca925c
fix version compatibility of alloc_netdev when debug if is enabled
2022-11-29 09:59:02 +09:00
Florian Pose
9aa5935d08
Merge branch 'fix_eoe_usermode_lock' into 'stable-1.5'
...
ioctl.c: FIX: must take io_sem around ecrt_master_send/ecrt_master_receive
See merge request etherlab.org/ethercat!36
2022-09-05 09:11:37 +00:00
Florian Pose
26e5b9f553
Minor: Fixed indent.
2022-05-17 14:10:51 +02:00
Bjarne von Horn
d301cbb992
Fix setting mac_address
...
eoe->dev->dev_addr is read_only in 5.17.0
using eth_hw_addr_set instead
2022-05-17 12:17:28 +02:00
Florian Pose
49135bfaff
Centrally defined mailbox types.
2022-03-04 10:00:47 +01:00
till straumann
f4e3a92352
master/ioctl.c: FIX -- more points where io_sem must be locked
...
Experienced corruption of master->datagram_queue because ecrt_domain_queue()
(when called from ioctl) does not hold the io_sem!
2021-11-04 13:50:55 +01:00
till straumann
5437ec4ef1
ioctl.c: FIX: must take io_sem around ecrt_master_send/ecrt_master_receive
2021-10-14 10:20:52 +02:00
Matthias Schoepfer
e6d842cc8f
master: added 'run_on_cpu' module parameter to bind kthreads to a cpu
...
When you use isolcpus to isolate a cpu for the realtime task, as well
as assiging all relevant interrupts to this cpu, it makes sense to
also bind the EtherCAT-OP / EtherCAT-IDLE task to this cpu to reduce
the cache misses and avoid data migration between cores. Therefore
a parameter 'run_on_cpu' is added, that takes the cpu number (same as
in isolcpus, not a smp_affinity mask). If unset, will bind to any cpu
and will be migratable.
The reason to put this into the kernel module is, that the thread is
created during runtime, i.e. when the userspace program is starting
the ethercat master. It would be rather hacky, to find the pid of the
EtherCAT-xx thread and migrate it at this point.
Signed-off-by: Matthias Schoepfer <m.schoepfer@rethinkrobotics.com>
2021-09-27 14:56:01 +02:00
Florian Pose
eba73fc292
Strictly using KERN_CONT for continued printk() calls to avoid newlines.
2021-09-01 11:00:49 +02:00
Florian Pose
09d1096623
Avoided warning about unreasonable use of strncpy().
2021-08-25 12:00:01 +02:00
Florian Pose
4e11a50670
Define set_normal_priority() inside #ifdef EC_EOE. Fixes #12 .
2021-08-25 09:47:26 +02:00