1460955151-0e986322-e709-4865-a57a-5a7105cfcb18

1. A display pipe configured to provide image frames to a display controller, the display pipe comprising:
a plurality of parameter registers configured to store parameter settings to control processing of a current display frame;
a buffer configured to store a plurality of frame packets, each frame packet comprising one or more parameter settings to control processing of at least one display frame; and
a control circuit coupled to the buffer and to the plurality of parameter registers, wherein the control circuit is configured to update the plurality of parameter registers from the buffer with parameter settings corresponding to a next display frame, wherein the next display frame is to be processed subsequent to processing the current display frame, wherein to update the plurality of parameter registers the control circuit is configured to use from the buffer a first frame packet of the plurality of frame packets that comprises the parameter settings that control processing of the next display frame.
2. The display pipe of claim 1, further comprising one or more processing units comprising the plurality of parameter registers and configured to perform respective display pipe operations;
wherein the control circuit is further configured to put in an idle state those processing units of the one or more processing units that comprise parameter registers of the plurality of parameter registers that are to be updated for processing the next display frame.
3. The display pipe of claim 2, wherein the control circuit is further configured to put in a run state those processing units of the one or more processing units that are currently in an idle state, once the parameter registers comprised in those processing units have been updated.
4. The display pipe of claim 1, further comprising one or more processing units configured to perform respective display pipe operations, wherein the plurality of parameter registers are comprised in the one or more processing units;
wherein the control circuit is further configured to:
instruct the one or more processing units to automatically restart when a vertical blanking interval occurs, leaving the plurality of parameter registers comprised in the one or more processing units in their present state;
retrieve the first frame packet from the buffer;
update the plurality of parameter registers according to information comprised in the first frame packet; and
subsequent to updating the parameter registers, instruct the one or more processing units to run.
5. The display pipe of claim 1, wherein the control circuit is further configured to issue direct memory access (DMA) requests to fill the buffer with the plurality of frame packets.
6. A method comprising:
reading a next frame packet from a parameter buffer, wherein the parameter buffer stores frame packets, wherein each frame packet of the frame packets comprises one or more parameter settings to control processing of at least one respective display frame; and
updating one or more parameter registers according to contents of the next frame packet, wherein the contents of the next frame packet comprise one or more parameter settings to control processing of a next display frame subsequent to processing a current display frame, wherein the one or more parameter registers store parameter settings control processing of the current display frame.
7. The method of claim 6, wherein the contents of the next frame packet comprise parameter commands, wherein the updating of the one or more parameter registers comprises processing the next frame packet;
wherein processing the next frame packet comprises issuing the parameter commands to processing units which comprise the one or more parameter registers, to write the one or more parameter registers the with the one or more parameter settings.
8. The method of claim 6, wherein the contents of the next frame packet comprise a sync bit and a frame pointer, wherein updating the one or more parameter registers comprises:
determining that the sync bit is active; and
in response to determining that the sync bit is active, processing the next frame packet; and
if the sync bit is inactive, determining whether the frame pointer leads a frame count.
9. The method of claim 6, wherein the contents of the next frame packet comprise a sync bit and a frame pointer, wherein updating the one or more parameter registers comprises:
determining that the sync bit is inactive;
in response to determining that the sync bit is inactive:
determining if the frame pointer leads the frame count;
processing the next frame packet;
in response to the determining if the frame pointer leads the frame count indicating that the frame pointer leads the frame count by a specified amount, processing the next frame packet;
in response to the determining if the frame pointer leads the frame count indicating that the frame pointer leads the frame count by an amount other than the specified amount, instructing the processing units to restart and begin operation using parameters currently stored in the one or more parameter registers; and
in response to the determining if the frame pointer leads the frame count indicating that the frame pointer does not lead the frame count, discarding the next packet.
10. The method of claim 6, wherein updating the one or more parameter registers comprises processing the next frame packet at a next vertical blanking interval.
11. A graphics system comprising:
one or more processing units configured to process a current display frame, and further comprising a plurality of parameter registers configured to store parameter settings to control processing of the current display frame;
a parameter buffer configured to store a plurality of frame packets, each frame packet of the plurality of frame packets comprising one or more parameter settings to control processing of at least one respective display frame; and
a control circuit coupled to the buffer and to the one or more processing units, wherein the control circuit is configured to retrieve and process a top frame packet from the parameter buffer and update one or more of the plurality of parameter registers according to contents of the top frame packet, wherein the contents of the top frame packet comprise parameter settings to control processing of a next display frame subsequent to processing the current display frame.
12. The graphics system of claim 11, wherein each frame packet comprises a frame header and parameter commands, wherein each parameter command includes respective portions of the one or more parameter settings, wherein each parameter command also includes information specifying which of the plurality of parameter registers are to be updated with the respective portions of the one or more parameter settings.
13. The graphics system of claim 12, wherein the frame header comprises one or more of:
packet size information indicative of a size of the respective portions of the one or more parameter settings; or
a frame pointer for synchronizing the frame packet with the next display frame.
14. The graphics system of claim 13, wherein synchronizing the frame packet with a next display frame comprises determining whether or not the parameter commands subsequent to the frame header in the frame packet are to be issued.
15. The graphics system of claim 12, wherein the frame header includes a header flag to identify the frame header as being a frame header as opposed to being a parameter command.
16. The graphics system of claim 11, wherein the control circuit comprises a DMA (direct memory access) control register programmable to specify one or more of:
when DMA is enabled to transfer frame packets from system memory to the parameter buffer through DMA requests;
a percentage of the parameter buffer to be used for storing the plurality of frame packets;
a burst size indicative of how much data is expected when a DMA request is issued; and
a threshold value defining when to resume issuing DMA requests subsequent to DMA requests having been suspended in response to reaching a limit of the parameter buffer, wherein DMA requests are to be resumed when the number of frame packets in the parameter buffer drops below the threshold value.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. An engine or pump, comprising:
a) a rotatable shaft defining a central axis A, the shaft having a first end and a second end, the shaft having an elongate first island disposed thereon, the first island having a body with a volume generally defined between front and rear surfaces that are spaced apart along the rotatable shaft, the front and rear surfaces lying in a plane parallel to a radial axis R, the front and rear surfaces having a rounded, non-circular shape, the perimeters of the front and rear surfaces defining a curved perimeter surface therebetween;
b) a front side plate disposed adjacent to the front surface of the first island;
c) a rear side plate disposed adjacent to the rear surface of the first island; and
d) a first contour assembly disposed between the front side plate and the rear side plate, the first contour assembly being defined by a pair of opposed outwardly facing arcuately shaped front and rear surfaces that are connected by a concave inwardly facing surface, the concave inwardly facing surface of the contour assembly facing the curved perimeter surface of the first island, the concave inwardly facing surface and the curved perimeter surface of the island and the front side plate and rear side plate cooperating to form a working volume, the rotatable shaft and first island being configured to rotate with respect to the first contour assembly.
2. The engine or pump of claim 1, wherein the contour assembly defines an opening therein for receiving a spark plug.
3. The engine or pump of claim 1, wherein the first contour assembly is coupled to a stationary housing.
4. The engine or pump of claim 1, wherein the first contour assembly is mounted to a stationary wrist pin, the first contour assembly being able to oscillate about the wrist pin as the first island and rotatable shaft rotate about the central axis A, the wrist pin being generally parallel to the central axis A.
5. The engine or pump of claim 1, wherein the contour includes a first apex point disposed proximate to a first end of the concave inwardly facing surface of the contour assembly and a second apex point disposed proximate to a second end of the concave inwardly facing surface of the contour assembly, the apex points being disposed in a gap defined between the concave inwardly facing surface of the contour assembly and the curved perimeter surface of the first island, the apex points helping to define the working volume.
6. The engine or pump of claim 5, wherein the apex points are disposed within recesses defined in the contour assembly.
7. The engine or pump of claim 6, wherein the contour assembly further includes at least one preloading spring disposed proximate to each of the apex points, the at least one preloading spring being adapted to urge the apex points against the first island.
8. The engine or pump of claim 7, wherein the gap between the contour assembly and first island that is covered by the apex seals is less than about 0.10 inches, less than about 0.010 inches, less than about 0.0010 inches, less than about 0.00010 inches, or less than about 0.000010 inches.
9. The engine or pump of claim 5, wherein the contour includes a first corner seal disposed proximate to the front face of the contour assembly and a second corner seal disposed proximate to the rear face of the contour assembly, the corner seals being disposed in a gap defined between the front and rear faces of the contour assembly and the front and rear side plates, the corner seals helping to define the working volume.
10. The engine or pump of claim 9, wherein the corner seals are disposed within recesses defined in the front and rear faces of the contour assembly.
11. The engine or pump of claim 10, wherein the contour assembly further includes corner seal preloading springs disposed proximate to each of the corner seals, the corner seal preloading springs being adapted to urge the corner seals against the front and rear side plates.
12. The engine or pump of claim 6, wherein the contour assembly further includes a plurality of floating side seals embedded in arcuate grooves defined in the pair of opposed outwardly facing arcuately shaped front and rear surfaces of the contour assembly.
13. The engine or pump of claim 12, wherein the arcuate grooves are generally coincident with the arcuate extent of the concave inner surface, and intersect with the grooves configured to receive the apex seals.
14. The engine or pump of claim 12, wherein each of the side seals sits on top of at least one preloading springs for maintaining stability and orientation of the side seals in the arcuate grooves.
15. The engine or pump of claim 9, wherein the corner seals and apex points substantially coincide to help define the working volume.
16. The engine or pump of claim 1, wherein the front and rear side plates rotate with the rotatable shaft.
17. The engine or pump of claim 16, wherein the front and rear side plates have a center of rotation that substantially matches a geometric center of the front and rear side plates.
18. The engine or pump of claim 16, wherein the front and rear side plates have a center of rotation that do not substantially match a geometric center of the front and rear side plates.
19. The engine or pump of claim 16, further comprising a front thrust bearing disposed proximate to the front plate and a rear thrust bearing disposed proximate to the rear plate to maintain the first island and side plates at a substantially fixed axial location.
20. The engine or pump of claim 1, wherein the front of the island is one of (i) generally elliptical, (ii) generally oval and (iii) generally dumbbell-shaped.
21. The engine or pump of claim 16, wherein at least one of the front and rear side plates includes ports defined therein for directing working fluids passing through the device.
22. The engine or pump of claim 1, wherein the first island includes at least one port defined therein for directing working fluids passing through the device.
23. The engine or pump of claim 22, wherein the at least one port is formed through the curved perimeter surface of the first island.
24. The engine or pump of claim 23, wherein the at least one port includes a first portion that is generally parallel to the radial axis R and a second portion in fluid communication with the first portion that is generally parallel to the central axis A.
25. The engine or pump of claim 24, wherein the second portion of the at least one port is configured to align with a port defined in at least one of the front and rear side plates.
26. The engine or pump of claim 24, wherein at least two ports are formed through the curved perimeter surface of the first island, the at least two ports including a first port and a second port that are displaced from each other about the curved perimeter surface of the first island along a circumferential axis C that is orthogonal to the central axis A and the radial axis R.
27. The engine or pump of claim 24, wherein the first port is configured to function as an intake port to direct working fluid into the working volume, and further wherein the second port is configured to function as an exhaust port to direct working fluid out of the working volume.
28. The engine or pump of claim 1, further comprising a second contour assembly disposed between the front side plate and the rear side plate, the second contour assembly being defined by a pair of opposed outwardly facing arcuately shaped front and rear surfaces that are connected by a concave inwardly facing surface, the concave inwardly facing surface of the second contour assembly facing the curved perimeter surface of the first island, the concave inwardly facing surface and the curved perimeter surface of the first island and the front side plate and rear side plate cooperating to form a second working volume, the rotatable shaft and first island being configured to rotate with respect to the second contour assembly.
29. The engine or pump of claim 28, wherein the second contour assembly is angularly displaced from the first contour assembly about the central axis along a circumferential axis by a first angular increment.
30. The engine or pump of claim 28, further comprising a third contour assembly disposed between the front side plate and the rear side plate, the third contour assembly being defined by a pair of opposed outwardly facing arcuately shaped front and rear surfaces that are connected by a concave inwardly facing surface, the concave inwardly facing surface of the third contour assembly facing the curved perimeter surface of the first island, the concave inwardly facing surface and the curved perimeter surface of the first island and the front side plate and rear side plate cooperating to form a third working volume, the rotatable shaft and first island being configured to rotate with respect to the third contour assembly.