| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
| |
Update #2897.
|
|
|
|
|
|
|
|
|
|
|
| |
Adding modified FreeBSD headers to synchronize RTEMS termios with
FreeBSD. Modify termios to support dedicated input and output baud for
termios structure. Updated BSPs to use dedicated input and output baud
in termios structure. Updated tools to use dedicated input and output
baud in termios structure. Updated termios testsuites to use dedicated
input and output baud in termios structure.
Close #2897.
|
|
|
|
| |
This is a fix for a coverity warning
|
|
|
|
| |
This is a fix for a coverity warning
|
|
|
|
|
|
|
|
|
|
| |
The driver already was developed with SMP in mind however SMP was
disabled waiting for final fixups and testing.
The new function to control the affinity of the ISR was added
but does not work for now since the LEON BSP does not reroute
IRQs between CPUs during run-time:
grspw_isr_affinity()
|
| |
|
|
|
|
|
|
| |
In shared interrupt systems it might be a problem to handle the interrupt
regardless of the interrupt is enabled. Now the same approach to the
DMA RX/TX interrupt in the ISR is taken.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces some new options to let the user control when
the ISR shall disable DMA RX/TX interrupt. The ISR can be set in three
modes when a RX/TX DMA interrupt is asserted:
1) ISR will always clear both RX/TX DMA interrupt enable. (DEFAULT).
2) ISR will never never RX or TX DMA interrupt enable, ISR will
leave RX/TX DMA interrupt enable untouched.
3) ISR will clear the interrupt enable(s) causing the interrupt,
this allows separate RX and TX IRQ handling.
This patch is backwards compatible since default mode 1) is activated
when the grspw_dma_config.flags DMAFLAGS2_IRQD field is 0.
|
| |
|
|
|
|
|
|
|
| |
Added new function:
* grspw_dma_ctrlsts() - Read value of DMA CTRL/STS reg.
* grspw_dma_enable_int() - re-enable interrupt, used when
implementing a custom work-task.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following changes:
* possible for user to create work-tasks and assign custom message queues.
* possible for user to override default ISR message to implement custom
handling of DMA error, DMA RX/TX and link error from ISR.
* work-task now checks message to determine which work to perform rather than
looking at registers only, this makes it possible for user to implement
custom handling.
* exported work-queue message definitions and separated them so that a user
can assign custom DMA RX/TX handling of a specific DMA channel.
* added a work-task event callback to let user add custom handling or
monitoring of DMA Stop, DMA error, Link Error or work-task exits etc.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- Fixed grspw_dma_tx_send() so that it does not fail when an empty user packet
is provided.
- Added empty checks on some of the list handling inline functions for
GRSPW_PKT. Their use by the driver may be correct already, but the user might
not have been aware of the assumptions that certain lists had to be non-empty.
|
|
|
|
|
| |
Without this patch time code interrupts was never cleared
in the STATUS register.
|
|
|
|
|
|
|
| |
By introducing a spearate RX and TX DMA channel semaphore RX
operations and TX operations does not block each other. Stopping
a DMA channel needs now to take both RX and TX semaphores to
block out both RX and TX tasks.
|
| |
|
|
|
|
|
|
|
| |
The user has already the power to control which DMA buffer
will generate interrupt, but no clean way to enable RX/TX
interrupts on DMA channel. Without this patch the user had
to init DMA config rx/tx_irq_en_cnt to a very large value.
|
|
|
|
|
|
|
|
|
|
| |
* Add support for reading the GRSPW TX/RX descriptor counters
directly.
* Add semaphore lock to counters to avoid couters being out
of sync
* This makes it possible for the user in polling mode to check
the amount of work before entering RX/TX descriptor table
processing.
|
|
|
|
|
|
|
|
|
| |
The user is now responsible to stop and close the DMA channels
before closing the device. To prevent complicated situations and
blocking the caller of grspw_close and grspw_dma_close a return
code was added to indicate to the user that the DMA may not have
been stopped or that blocked tasks are still active within the
driver for the specified device.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Added functionality for manual handling of link status events,
configurable via grspw_link_ctrl.
Added statistics counter for disconnect error.
|
|
|
|
|
|
|
|
|
| |
Improved the link error handling options. Its now possible to
disable the link on individual link errors/warnings instead of
always on all or none.
Changed name of LINKOPTS_IRQ to LINKOPTS_EIRQ to match Linux
and VxWorks SpW driver.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
NOTE that this will change the association of /dev/occanN
with OCCAN[N] device to the same order as in hardware. This means
that if you have been useing /dev/occan0 before you have to use
/dev/occan1 on a dual OCCAN device system (this affects GR712RC).
|
|
|
|
|
| |
The EN bit (enable separate node address for this channel) is preserved when
grspw_dma_start is called. This preserves any previous address configuration.
|
|
|
|
|
|
| |
There was a mixup between the transmit descriptor Link error (LE) bit and
Interrupt enable (IE) bit. TXPKT_FLAG_LINKERR now correctly indicates the link
error condition.
|
| |
|
|
|
|
|
|
| |
The fix does not affect the driver since the bit definitions
were never used by the GR5133B drivers. However it could affect
and application using the definitions.
|
| |
|
| |
|
| |
|
|
|
|
| |
closes #2796.
|
|
|
|
| |
closes #2810.
|
|
|
|
|
|
| |
Use _Thread_Do_dispatch() instead of _Thread_Dispatch(). Restore the
PSR[EF] state of the interrupted context via new system call
syscall_irqdis_fp in case floating-point support is enabled.
|
|
|
|
| |
Update #2751.
|
|
|
|
|
|
|
|
|
| |
Use a processor-specific interrupt frame during context switches in case
the executing thread is longer executes on the processor and the heir
thread is about to start execution. During this period we must not use
a thread stack for interrupt processing.
Update #2809.
|