Method and apparatus for generating interrupts on a buffer by buffer basis in buffer descriptor ring direct memory access system
AssigneeAdvanced Micro Devices, Inc.
InventorsThai H. Pham, Patrick E. Maupin
Life of this patent
Estimating the term…
Abstract
A microcontroller implements a buffer descriptor ring direct memory access (DMA) unit that can transmit a chained series of buffers without processor intervention. The buffers, however, include an interrupt on end-of-buffer flag that allows for an interrupt to be generated at the end of each buffer on a buffer-by-buffer basis.
Claims19
A microcontroller implemented as a single monolithic integrated circuit, comprising:
- an execution unit for executing instructions;
- and
- a buffer descriptor ring direct memory access (DMA) controller coupled to the execution unit and for performing DMA with a memory, comprising:
- a buffer descriptor unit that reads buffer descriptors from a buffer descriptor chain in the memory and directs the DMA controller to perform DMA actions in response to the buffer descriptors using buffers in the memory, the buffer descriptor unit reading a terminal count interrupt enable indicator as part of each of the buffer descriptors;
- and
- an interrupt source providing an interrupt signal for the microcontroller responsive to the terminal count interrupt enable indicator being true in a buffer descriptor and DMA being completed on a corresponding buffer.
A microcontroller implemented as a single monolithic integrated circuit, comprising:
- an execution unit for executing instructions;
- and
- a buffer descriptor ring direct memory access (DMA) controller coupled to the execution unit for performing DMA with memory, the buffer descriptor ring DMA controller using buffer descriptors in memory to control DMA buffer-by-buffer, the buffer descriptor ring DMA controller selectively providing an interrupt after completion of a particular buffer's DMA responsive to a terminal count interrupt enable indicator in a corresponding buffer descriptor.
A buffer descriptor ring direct memory access (DMA) controller, comprising:
- a buffer descriptor unit that reads buffer descriptors from a buffer descriptor chain in the memory and directs the DMA controller to perform DMA actions in response to the buffer descriptors using buffers in the memory, the buffer descriptor unit reading a terminal count interrupt enable indicator as part of each of the buffer descriptors;
- and
- an interrupt source providing an interrupt signal for the microcontroller responsive to the terminal count interrupt enable indicator being true in a buffer descriptor and DMA being completed on a corresponding buffer.
A method for providing interrupts in ring buffer direct memory access (DMA) operations, comprising:
- performing DMA using a first buffer in memory;
- accessing a first flag associated with the first buffer that indicates whether to provide an interrupt on completion of the DMA using the first buffer;
- selectively providing an end of buffer interrupt responsive to the first flag;
- performing DMA using a second buffer in memory;
- accessing a second flag associated with the second buffer that indicates whether to provide an interrupt on completion of DMA using the second buffer;
- and
- selectively providing an end of buffer interrupt responsive to the second flag, where selectively providing the first and second end of buffer interrupts are independent of each other.
Dependencies are inferred from the claim text.