I'm sponsoring this case for Miao Chen. This case is to add more 
exported interfaces to PSARC 2004/801 for the i915 driver. The requested 
release binding is patch/micro.

I have marked it as "closed approved automatic" since the change is 
straightforward and the interface is clear. If there is request, I'd be 
happy to upgrade it
to a fast track and set the timer.

-Frank

1. Introduction
1.1. Project/Component Working Name:
     Additional ioctls for GEM support in i915 driver.
1.2. Name of Document Author/Supplier:
     Author: Miao Chen
1.3  Date of This Document:
     7 August, 2009


4. Technical Description

4.1 Summary

This project is to add more DRM IOCTLs in the i915 driver
and the drm misc module for upgrading i915 driver to support
GEM.

4.2 Description

The drm (direct rendering management) misc module and i915
driver were introduced to Solaris in PSARC 2004/801. Xorg
needs them to work on those Intel integrated graphical devices
such as G33, G45, GM45 etc.

GEM (graphics execution manager) is a new memory management
framework in drm misc module and i915 driver. It provides much
better performance than old framework which works in user
level but not in kernel.

To upgrade the drm misc module and i915 driver to support GEM,
more DRM IOCTLs should be added.

4.3 Interface Table

------------------------------------------------------------------------------------------------------------------------------
 

| Interface exported        | Classifications | 
Comments                                                                     
|
------------------------------------------------------------------------------------------------------------------------------
 

| DRM_IOCTL_MODESET_CTL     | External        | Handle vblank event 
counter across mode switch                              |
| DRM_IOCTL_GEM_OPEN        | External        | Open an object using the 
global name, returning a handle and the size.       |
| DRM_IOCTL_GEM_FLINK       | External        | Create a global name for 
an object, returning the name.                      |
| DRM_IOCTL_GEM_CLOSE       | External        | Releases the handle to 
an object.                                            |
| DRM_I915_GEM_INIT         | External        | Initialize GEM for i915 
device specific feature.                             |
| DRM_I915_GEM_EXECBUFFER   | External        | Execute the batch 
buffer.                                                    |
| DRM_I915_GEM_PIN          | External        | Bind an object to 
hardware GTT.                                              |
| DRM_I915_GEM_UNPIN        | External        | Unbind an object to 
hardware GTT.                                            |
| DRM_I915_GEM_BUSY         | External        | Check if the specific 
object is busy.                                        |
| DRM_I915_GEM_THROTTLE     | External        | Throttle rendering by 
waiting until the ring has completed the requests.     |
| DRM_I915_GEM_ENTERVT      | External        | Setup kernel resources 
during entering vt.                                   |
| DRM_I915_GEM_LEAVEVT      | External        | Releases kernel 
resources during leaving vt.                                 |
| DRM_I915_GEM_CREATE       | External        | Create a new mm object 
and returns a handle to it.                           |
| DRM_I915_GEM_PREAD        | External        | Read data from the 
object referenced by handle.                              |
| DRM_I915_GEM_PWRITE       | External        | Write data to the object 
referenced by handle.                               |
| DRM_I915_GEM_MMAP         | External        | Map the contents of an 
object, returning the address it is mapped into.      |
| DRM_I915_GEM_SET_DOMAIN   | External        | Called when user space 
prepares to use an object with the CPU.               |
| DRM_I915_GEM_SW_FINISH    | External        | Called when user space 
has done writes to this buffer.                       |
| DRM_I915_GEM_SET_TILING   | External        | Set the tiling mode of 
an object.                                            |
| DRM_I915_GEM_GET_TILING   | External        | Returns the current 
tiling mode and required bit 6 swizzling for the object. |
| DRM_I915_GEM_GET_APERTURE | External        | Returns the total 
aperture size and current available aperture size.         |
------------------------------------------------------------------------------------------------------------------------------
 


4.4 References:

[1] PSARC/2004/801 DRI porting
http://sac.sfbay.sun.com/Archives/CaseLog/arc/PSARC/2004/801/

4.5 Documentation Change

There is no need to change any documentation about i915 driver.

6. Resources and Schedule
6.4. Steering Committee requested information
  6.4.1. Consolidation C-team Name:
           ON
6.5. ARC review type: self-review
6.6. ARC Exposure: open





Reply via email to