Direct memory access for loopback transfers in a media controller architecture
First Claim
1. A method of transferring data from one location to another location in a memory of a media controller, the method comprising:
- arranging, in a media controller, a link protocol core in parallel with a buffer subsystem, the link protocol core exposing data in the memory to an external device coupled to the media controller by a communications link;
linking a transmit data path and a receive data path of the media controller with a generic direct memory access (GDMA), the transmit data path having a transmit (TX) buffer and the receive data path having a receive (RX) buffer;
programming the GDMA with a total transfer count and a transfer mode; and
processing, by the GDMA, the movable data based on the total transfer count and the transfer mode, the processing comprising;
isolating the link protocol core from the transmit and receive data paths of the media controller;
converting one or more portions of the movable data in the TX buffer into a predefined frame structure defined with status entries, thereby translating data frames of the movable data between the TX data path associated with the TX buffer and the RX data path associated with the RX buffer; and
synchronizing the movable data between the TX buffer and the RX buffer with the status entries;
wherein the GDMA is configured to place the link protocol core, coupled to the transmit and receive data paths of the media controller, into an idle mode where the link protocol core does not respond to data transfer requests during GDMA operations.
10 Assignments
0 Petitions
Accused Products
Abstract
Described embodiments provide for transferring data from one location to another location in a memory of a media controller. A transmit data path and a receive data path of the media controller are linked with a generic direct memory access (GDMA). The transmit data path includes a transmit (TX) buffer and the receive data path includes a receive (RX) buffer. The GDMA is programmed with a total transfer count and a transfer mode. The GDMA processes the movable data based on the total transfer count and the transfer mode by converting one or more portions of the movable data in the TX buffer into a predefined frame structure defined with status entries, which translates frames of the moveable data between the TX data path and the RX data path and synchronizes the movable data between the TX buffer and the RX buffer with the status entries.
-
Citations
20 Claims
-
1. A method of transferring data from one location to another location in a memory of a media controller, the method comprising:
-
arranging, in a media controller, a link protocol core in parallel with a buffer subsystem, the link protocol core exposing data in the memory to an external device coupled to the media controller by a communications link; linking a transmit data path and a receive data path of the media controller with a generic direct memory access (GDMA), the transmit data path having a transmit (TX) buffer and the receive data path having a receive (RX) buffer; programming the GDMA with a total transfer count and a transfer mode; and processing, by the GDMA, the movable data based on the total transfer count and the transfer mode, the processing comprising; isolating the link protocol core from the transmit and receive data paths of the media controller; converting one or more portions of the movable data in the TX buffer into a predefined frame structure defined with status entries, thereby translating data frames of the movable data between the TX data path associated with the TX buffer and the RX data path associated with the RX buffer; and synchronizing the movable data between the TX buffer and the RX buffer with the status entries; wherein the GDMA is configured to place the link protocol core, coupled to the transmit and receive data paths of the media controller, into an idle mode where the link protocol core does not respond to data transfer requests during GDMA operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory machine-readable storage medium, having encoded thereon program code, wherein, when the program code is executed by a machine, the machine implements a method of transferring data from one location to another location in a memory of a media controller, the method comprising:
-
arranging, in a media controller, a link protocol core coupled to an external device over a communication link, the link protocol core arranged in parallel with a buffer subsystem; linking a transmit data path and a receive data path of the media controller with a generic direct memory access (GDMA), the transmit data path having a transmit (TX) buffer and the receive data path having a receive (RX) buffer; programming the GDMA with a total transfer count and a transfer mode; and processing, by the GDMA, the movable data based on the total transfer count and the transfer mode, the processing comprising; isolating the link protocol core from the transmit and receive data paths of the media controller; converting one or more portions of the movable data in the TX buffer into a predefined frame structure defined with the status entries, thereby translating data frames of the moveable data between the TX data path associated with the TX buffer and the RX data path associated with the RX buffer; and synchronizing the movable data between the TX Buffer and the RX buffer with the status entries; wherein the GDMA places the link protocol core, coupled to the transmit and receive data paths of the media controller, into an idle mode where the link protocol core does not respond to the external device during GDMA operations.
-
-
17. A media controller, comprising:
-
a transmit data path having a transmit (TX) buffer, the transmit data path coupled to a buffer subsystem at an input of the TX buffer and a link protocol core at an output of the TX buffer; a receive data path having a receive (RX) buffer, the receive data path coupled to the link protocol core at an input of the RX buffer and the buffer subsystem at an output of the RX buffer; a generic direct memory access (GDMA), coupled between the transmit data path and the receive data path in parallel with the link core protocol and the buffer subsystem, the GDMA configured to transfer data from one location to another location in a memory of the media controller, wherein the media controller; i) receives a total transfer count and a transfer mode, ii) processes the movable data based on the total transfer count and the transfer mode, by (1) converting one or more portions of the movable data in the TX buffer into a predefined frame structure defined with status entries generated by the GDMA, thereby translating data frames of the movable data between the TX data path associated with the TX buffer and the RX data path associated with the RX buffer; and (2) synchronizing the movable data between the TX Buffer and the RX buffer with the status entries; wherein the TX buffer is coupled to a TX DMA for transferring data from the memory to the TX buffer, and the RX buffer is coupled to an RX DMA for transferring data from the RX buffer to the memory, and wherein the GDMA is configured to place the link protocol core, coupled to the transmit and receive data paths of the media controller, into an idle mode where the link protocol core ignores data transfer requests from an external device over a communications link coupled to the link protocol core during GDMA operations thereby isolating the link protocol core from the transmit and receive data paths of the media controller. - View Dependent Claims (18, 19, 20)
-
Specification