TAMS 81622 Enhancements beyond the HP 2074/5
TAMS 81622 PCI DMA.
The TAMS 81622 interface has two modes of transfer: DMA and interrupt driven.
A program may control transfer mode used by calls to
ihint()
. See the
SICL
Reference Manual
for more information.There are six values that could be
specified to this call:
•
I_HINT_USEPOLL
•
I_HINT_USEINTR
•
I_HINT_USEDMA
•
I_HINT_IO
•
I_HINT_SYSTEM
•
I_HINT_DONTCARE
If I_HINT_USEPOLL is specified, interrupt mode (I_HINT_USEINTR) is used.
This is due to the fact that with advances in hardware and operating systems,
there is no situation that using polled mode would have an advantage over
interrupt mode. Interrupt mode is not noticeably slower than polled and it
releases the processor while waiting for interrupts greatly improving system
overall performance.
If I_HINT_USEINTR is used, all inbound and outbound transfer will be performed
in interrupt mode. Each transfer of a single 8 or 16-bit data item (depending on
configured GPIO width) will be initiated, and the processor freed to perform other
tasks. Once the transfer is complete, the processor will initiate another transfer.
If the transfer is inbound and a termination and/or end character is specified, the
driver will check if the termination condition occurred before initiating another
transfer.
The
igpioctrl(id, I_GPIO_READ_EOI,
<end_char>)
and
itermchr(id,
<term_chr>)
calls control end and termination characters.
If I_HINT_USEDMA is specified, DMA will always be used for outbound transfer.
For inbound transfer, if no termination nor end character is specified, DMA is
used. Otherwise interrupt mode (I_HINT_USEINTR) will be used. This will only
happen for the current transfer. No call to
ihint()
is required to restore DMA
transfer mode. For the next transfer, DMA will be resumed for outbound and if no
termination and/or end character is specified, for inbound transfers.
14