- 04 Apr, 2019 1 commit
-
-
Jan Kiszka authored
This is not yet the final solution, we need pci_alloc_irq_vectors on the long run, but that will require more wrapping or deprecation of older kernels. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 01 Apr, 2019 11 commits
-
-
Philippe Gerum authored
Converging to the upstream implementation further, disregard any event which source is disabled, to help dealing with transitory states of the hardware (e.g. as triggered by device closure). Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
No ifs, not buts: drivers must pass -EINTR to the core whenever received from a blocking call. NOTE: this change also prevents userland from receiving a partial byte count from an interrupted read/write operation, although such amount of bytes may have been transferred from/to the corresponding software FIFO. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
- fix the reset sequence which may have caused random lockups when re-opening the device. - converge to the mainline implementation wrt setting up the UART registers. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
We may receive TRDY when the TX-FIFO is not entirely empty, which breaks the logic in rt_imx_uart_tx_chars(), as we may break early from the transmit loop when the TXFULL condition is detected, skipping decrement of ctx->out_npend although a byte was sent. Because of this, we may end up with ghost bytes in the output buffer which were actually sent to the UART, but still erroneously counted in ctx->out_npend. As a result, incorrect output can be observed later on as bytes from the software FIFO are unduly sent, or such FIFO may overflow indefinitely due to accumulated errors. Fix this by testing TXFULL before sending the next byte to the UART. At this chance, drop the count limit on the FIFO depth: testing TXFULL is sufficient and robust. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
This speeds-up travis build Measurement results (build with ipipe-core-4.14.85-arm-6) - Without ccache: 26 min 7 sec - With ccache (1st run): 31 min 21 sec - With ccache (every next run): 4 min 23 sec Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
We have no more in-tree users for it. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
See https://www.xenomai.org/pipermail/xenomai/2019-February/040321.html. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 19 Mar, 2019 10 commits
-
-
Roman Stratiienko authored
Use access_wok / access_rok wrappers to enable support for kernel v5.0 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
As do_gettimeofday is very old and deprecated, use ktime instead This also fixed the old conversion to nanoseconds in a4l_init_time. Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> [Jan: leave note on drive-by fix of a4l_init_time] Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
Starting from kernel v5.0 commit f5451582c4e2 ("kconfig: stop supporting '.' and '/' in unquoted words") quotes are mandatory for usage Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
Since kernel v5.0 upstream commit 96d4f267e40f ("Remove 'type' argument from access_ok() function") access_ok() function takes only 2 parameters Change access_rok and access_wok wrappers for kernels starting from v5.0, and preserve them for earlier versions This will fix build error on v5.0 and later Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
siginfo_t can't be used in kernel-space starting from v4.20-rc1 commit ae7795bc6187 ("signal: Distinguish between kernel_siginfo and siginfo") replace all siginfo_t to kernel_siginfo_t and create wrapper for kernel < v4.20 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
After kernel v4.18 commit 4a0772cf0674 ("tracing: Prevent further users of zero size static arrays in trace events") creating zero length arrays will force compile-time error This will fix BUILD_BUG_ON error on v4.18 and later Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
$SRCARCH removed since v4.18-rc1, upstream commit 104daea149c4 ("kconfig: reference environment variables directly and remove 'option env='") This will fix build with v4.18 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
print_symbol() removed since v4.16-rc1 commit d2279c9d7f7d ("kallsyms: remove print_symbol() function") use print_symbol for version less than v4.16 and printk starting from v4.16 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
READ_ONCE() introduced from v3.19 commit 230fa253df63 ("kernel: Provide READ_ONCE and ASSIGN_ONCE") and ACCESS_ONCE() removed startibg from v4.15-rc4 commit b899a850431e ("compiler.h: Remove ACCESS_ONCE()") Replace ACCESS_ONCE with READ_ONCE and make READ_ONCE wrapper for case when READ_ONCE is not available (<v3.19) This will fix build with v4.15 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
This also builds the Xenomai userspace as part of CI. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 18 Mar, 2019 4 commits
-
-
Roman Stratiienko authored
Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
The token-based approach for detecting preemption while data is being moved into or out of the ring only protects from read vs read races, not from races involving a write side. For instance, a reader might read dirty data being changed by a writer concurrently, or two writers might compete writing two distinct messages at the same place in the ring space. To address this issue, use a slot-based implementation which atomically reserves exclusive portions of the ring space readers and writers will be accessing locklessly. Those slots are guaranteed to never overlap among read and write requests, until the lockless operation finishes. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
This aligns the definition of our user copy services with the kernel in two aspects: - use unlikely to mark the fast path - memset the remaining bits of the target region if the copy fails; this avoids false-positive compiler warnings and reduces the risk to evaluate undefined data in case the return value is not checked Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
This instruments the sched-quota scheduling policy to track which groups exit, with which settings, and which threads belong to them. As trace_cobalt_schedquota_add_thread may be invoked before a thread is fully initialized, we need to trace also the thread address. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 25 Feb, 2019 1 commit
-
-
Jan Kiszka authored
Missed by e8178c98. Reported-by:
Edouard Tisserant <edouard.tisserant@gmail.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 04 Feb, 2019 13 commits
-
-
Jan Kiszka authored
Required to handle compat syscalls correctly. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Visibale with --verbose=2. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Checking whether calling a lock operation is actually needed is better wrt I-cache performance. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
If the test interface is already up on entry, keep it that way on exit, so that we may run this test multiple times without having to reconfigure. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
We may want to use those tests in pre-configured situations, where a set of RTnet modules is already in place at startup, which we don't want the test to remove on exit. Those changes ensure that only the modules we had to push for running the test are actually removed on exit, leaving the pre-loaded ones running. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
This issue triggers domain violation on ARM, SMAP violation on x86. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
This fixes a regression introduced by #a69c4ac5, making the UDP stack basically unusable since no xmit could ever take place due to the wrong return value. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
This patch works around a regression introduced by #74464ee3, causing a new device's skbs not to be passed to its ->map_rtskb() handler when registered, breaking further DMA inits in the driver. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
We may want to embed struct rtnet_device into a pre-allocated parent container struct, which makes rtdev_alloc() and rt_alloc_etherdev() useless for the purpose. The new rtdev_init() and rt_init_etherdev() calls can be used to initialize a pre-allocated device structure and set it up with default ethernet settings resp. The caller should set the private area pointer manually (defaults to NULL). Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
In timestamping mode, read() returns the timestamp of the latest event receipt on the pin based on CLOCK_MONOTONIC, along with the pin state. This is an optional pin readout mode controlled by the GPIO_RTIOC_TS request, e.g.: struct rtdm_gpio_readout rdo; int ret, on, val; on = 1; ret = ioctl(pinfd, GPIO_RTIOC_TS, &on); ret = read(pinfd, &rdo, sizeof(rdo)); /* pin state changed to rdo.value at time rdo.timestamp */ on = 0; ret = ioctl(pinfd, GPIO_RTIOC_TS, &on); ret = read(pinfd, &val, sizeof(val)); /* pin state changed to value (time of change unspecified) */ By default, timestamping mode is disabled, which corresponds to the original behavior. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-