summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* leon, grspw_pkt: Added checks for special list casesDaniel Hellstrom2017-03-061-2/+2
| | | | | | | | - 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.
* leon, grspw_pkt: fix stscfg cfg TimeCode Int clrDaniel Hellstrom2017-03-061-1/+2
| | | | | Without this patch time code interrupts was never cleared in the STATUS register.
* leon, grspw_pkt: split DMA sem into RX and TX semDaniel Hellstrom2017-03-061-54/+94
| | | | | | | 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.
* leon, grspw_pkt: coding style fixDaniel Hellstrom2017-03-061-1/+1
|
* leon, grspw_pkt: allow user controlled DMA intrDaniel Hellstrom2017-03-061-5/+7
| | | | | | | 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.
* leon, grspw_pkt: support for reading tx/rx DMA queueDaniel Hellstrom2017-03-061-4/+72
| | | | | | | | | | * 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.
* leon, grspw_pkt: fixed device/dma closingDaniel Hellstrom2017-03-061-13/+31
| | | | | | | | | 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.
* leon, grspw_pkt: fixed and improved RX/TX waitDaniel Hellstrom2017-03-061-42/+57
|
* leon, grspw_pkt: fixed error return path in dma_openDaniel Hellstrom2017-03-061-12/+31
|
* leon, grspw_pkt: Manual handling of link status eventsDaniel Hellstrom2017-03-061-2/+15
| | | | | | | Added functionality for manual handling of link status events, configurable via grspw_link_ctrl. Added statistics counter for disconnect error.
* leon, grspw_pkt: added link_ctrl optionsDaniel Hellstrom2017-03-061-6/+11
| | | | | | | | | 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.
* leon, grspw_pkt: added grspw_link_status_clr() to APIDaniel Hellstrom2017-03-061-0/+8
|
* leon, grspw_pkt: code style clean-upsDaniel Hellstrom2017-03-061-8/+9
|
* leon, grspw_pkt: Preserve DMA address enable at start.Martin Aberg2017-03-061-0/+4
| | | | | The EN bit (enable separate node address for this channel) is preserved when grspw_dma_start is called. This preserves any previous address configuration.
* leon, grspw_pkt: Fixed parameter check in grspw_dma_open()Martin Aberg2017-03-061-1/+1
|
* DRVMGR: KEY_TYPE now a enum drvmgr_ktDaniel Hellstrom2015-04-171-2/+2
|
* sparc bsps: updated license to rtems.orgDaniel Hellstrom2015-04-171-1/+1
|
* LEON: move driver headers to bsp/ directoryDaniel Hellstrom2015-04-171-1/+1
|
* GRSPW_PKT: fix build warningsDaniel Hellstrom2015-04-171-1/+1
|
* GRSPW_PKT: Add support for Interrupt-codesAndreas Larsson2015-04-171-17/+292
| | | | | Update: Daniel Hellstrom updated SpW-IRQ implementation accoring to changes in hardware register layout and features.
* GRSPW: Fix incorrect register defines - presently functionally inconsequentialAndreas Larsson2015-04-171-4/+4
|
* GRSPW: New packet based driver for SPW/SPW2/SPW2_DMADaniel Hellstrom2015-04-171-0/+2642
This patch adds a new driver for the GRSPW SpaceWire AMBA interface family. The new driver does not implement a standard RTEMS driver, instead it provides only a library interface to the GRSPW devices. This driver can be used to implement a RTEMS I/O driver or used directly. New features compared with old GRSPW driver: * zero-copy packet interface * possibility to send/receive mulitple packets per call * optional interrupt awaken work-task to process TX/RX queues * DMA channels support. Before only first DMA channel supported * Separate DMA and link control * Packet based error flags