[RFC] Docs: drm: Move KMS properties table out to source files

Daniel Vetter daniel at ffwll.ch
Wed Sep 2 08:30:18 PDT 2015


On Wed, Sep 02, 2015 at 02:50:52PM +0100, Graham Whaley wrote:
> (RFC/test - not for merging)
> The below is a test of moving the large HTML KMS properties table out
> to markdown style in the appropriate files.
> In the test we only use the first few rows of the existing KMS table
> an example.
> We use a fixed width table as the other styles of table supported by
> pandoc markdown do not support multi-column cells.
> 
> The test shows a couple of issues:
>  1) double quote characters are being expanded in the fixed width table
>  which then breaks the table alignment and leaves html style <quote> tags
>  in the text
> 
>  2) Cramming the seven columns into the apprx 80ish column width makes
>  some entries fairly impractical - one word per row. For reference,
>  pdfdocs rendering clips the fixed text tables at around 80 characters.
> 
> If we can:
>  a) Resolve (1) above
> and
>  b) Agree that we are OK with comment fields extending beyond the 80th
>  column significantly
> 
> then maybe we can continue looking at moving the KMS properties table out
> of drm.tmpl and into markdown format fragments in the source files.
> If not, then maybe we go back to considering the conversion of the KMS
> table to docbook CALS format.

Another option would be to split up the table into sub-tables - the first
1-2 rows are really just headings for sub-tables imo. If we split them up
we have tables without spans and that could use the markdown table layout
instead of fixed-width text.

But then we'd need to do that part-by-part ...
-Daniel

> ---
>  Documentation/DocBook/drm.tmpl | 925 +----------------------------------------
>  drivers/gpu/drm/drm_crtc.c     |  16 +
>  2 files changed, 17 insertions(+), 924 deletions(-)
> 
> diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/drm.tmpl
> index 66bc646..ecfd084 100644
> --- a/Documentation/DocBook/drm.tmpl
> +++ b/Documentation/DocBook/drm.tmpl
> @@ -2573,930 +2573,7 @@ void intel_crt_init(struct drm_device *dev)
>  	The following table gives description of drm properties exposed by various
>  	modules/drivers.
>  	</para>
> -	<table border="1" cellpadding="0" cellspacing="0">
> -	<tbody>
> -	<tr style="font-weight: bold;">
> -	<td valign="top" >Owner Module/Drivers</td>
> -	<td valign="top" >Group</td>
> -	<td valign="top" >Property Name</td>
> -	<td valign="top" >Type</td>
> -	<td valign="top" >Property Values</td>
> -	<td valign="top" >Object attached</td>
> -	<td valign="top" >Description/Restrictions</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="37" valign="top" >DRM</td>
> -	<td valign="top" >Generic</td>
> -	<td valign="top" >“rotation”</td>
> -	<td valign="top" >BITMASK</td>
> -	<td valign="top" >{ 0, "rotate-0" },
> -	{ 1, "rotate-90" },
> -	{ 2, "rotate-180" },
> -	{ 3, "rotate-270" },
> -	{ 4, "reflect-x" },
> -	{ 5, "reflect-y" }</td>
> -	<td valign="top" >CRTC, Plane</td>
> -	<td valign="top" >rotate-(degrees) rotates the image by the specified amount in degrees
> -	in counter clockwise direction. reflect-x and reflect-y reflects the
> -	image along the specified axis prior to rotation</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="5" valign="top" >Connector</td>
> -	<td valign="top" >“EDID”</td>
> -	<td valign="top" >BLOB | IMMUTABLE</td>
> -	<td valign="top" >0</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >Contains id of edid blob ptr object.</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“DPMS”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ “On”, “Standby”, “Suspend”, “Off” }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >Contains DPMS operation mode value.</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“PATH”</td>
> -	<td valign="top" >BLOB | IMMUTABLE</td>
> -	<td valign="top" >0</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >Contains topology path to a connector.</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“TILE”</td>
> -	<td valign="top" >BLOB | IMMUTABLE</td>
> -	<td valign="top" >0</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >Contains tiling information for a connector.</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“CRTC_ID”</td>
> -	<td valign="top" >OBJECT</td>
> -	<td valign="top" >DRM_MODE_OBJECT_CRTC</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >CRTC that connector is attached to (atomic)</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="11" valign="top" >Plane</td>
> -	<td valign="top" >“type”</td>
> -	<td valign="top" >ENUM | IMMUTABLE</td>
> -	<td valign="top" >{ "Overlay", "Primary", "Cursor" }</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >Plane type</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“SRC_X”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=UINT_MAX</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >Scanout source x coordinate in 16.16 fixed point (atomic)</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“SRC_Y”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=UINT_MAX</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >Scanout source y coordinate in 16.16 fixed point (atomic)</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“SRC_W”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=UINT_MAX</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >Scanout source width in 16.16 fixed point (atomic)</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“SRC_H”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=UINT_MAX</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >Scanout source height in 16.16 fixed point (atomic)</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“CRTC_X”</td>
> -	<td valign="top" >SIGNED_RANGE</td>
> -	<td valign="top" >Min=INT_MIN, Max=INT_MAX</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >Scanout CRTC (destination) x coordinate (atomic)</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“CRTC_Y”</td>
> -	<td valign="top" >SIGNED_RANGE</td>
> -	<td valign="top" >Min=INT_MIN, Max=INT_MAX</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >Scanout CRTC (destination) y coordinate (atomic)</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“CRTC_W”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=UINT_MAX</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >Scanout CRTC (destination) width (atomic)</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“CRTC_H”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=UINT_MAX</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >Scanout CRTC (destination) height (atomic)</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“FB_ID”</td>
> -	<td valign="top" >OBJECT</td>
> -	<td valign="top" >DRM_MODE_OBJECT_FB</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >Scanout framebuffer (atomic)</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“CRTC_ID”</td>
> -	<td valign="top" >OBJECT</td>
> -	<td valign="top" >DRM_MODE_OBJECT_CRTC</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >CRTC that plane is attached to (atomic)</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="2" valign="top" >DVI-I</td>
> -	<td valign="top" >“subconnector”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ “Unknown”, “DVI-D”, “DVI-A” }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“select subconnector”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ “Automatic”, “DVI-D”, “DVI-A” }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="13" valign="top" >TV</td>
> -	<td valign="top" >“subconnector”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "Unknown", "Composite", "SVIDEO", "Component", "SCART" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“select subconnector”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "Automatic", "Composite", "SVIDEO", "Component", "SCART" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“mode”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc.</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“left margin”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=100</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“right margin”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=100</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“top margin”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=100</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“bottom margin”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=100</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“brightness”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=100</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“contrast”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=100</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“flicker reduction”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=100</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“overscan”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=100</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“saturation”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=100</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“hue”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=100</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="2" valign="top" >Virtual GPU</td>
> -	<td valign="top" >“suggested X”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0xffffffff</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >property to suggest an X offset for a connector</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“suggested Y”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0xffffffff</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >property to suggest an Y offset for a connector</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="3" valign="top" >Optional</td>
> -	<td valign="top" >“scaling mode”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "None", "Full", "Center", "Full aspect" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"aspect ratio"</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "None", "4:3", "16:9" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >DRM property to set aspect ratio from user space app.
> -		This enum is made generic to allow addition of custom aspect
> -		ratios.</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“dirty”</td>
> -	<td valign="top" >ENUM | IMMUTABLE</td>
> -	<td valign="top" >{ "Off", "On", "Annotate" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="20" valign="top" >i915</td>
> -	<td rowspan="2" valign="top" >Generic</td>
> -	<td valign="top" >"Broadcast RGB"</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "Automatic", "Full", "Limited 16:235" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“audio”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "force-dvi", "off", "auto", "on" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="17" valign="top" >SDVO-TV</td>
> -	<td valign="top" >“mode”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc.</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"left_margin"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"right_margin"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"top_margin"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"bottom_margin"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“hpos”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“vpos”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“contrast”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“saturation”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“hue”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“sharpness”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“flicker_filter”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“flicker_filter_adaptive”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“flicker_filter_2d”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“tv_chroma_filter”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“tv_luma_filter”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“dot_crawl”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=1</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >SDVO-TV/LVDS</td>
> -	<td valign="top" >“brightness”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="2" valign="top" >CDV gma-500</td>
> -	<td rowspan="2" valign="top" >Generic</td>
> -	<td valign="top" >"Broadcast RGB"</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ “Full”, “Limited 16:235” }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"Broadcast RGB"</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ “off”, “auto”, “on” }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="19" valign="top" >Poulsbo</td>
> -	<td rowspan="1" valign="top" >Generic</td>
> -	<td valign="top" >“backlight”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=100</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="17" valign="top" >SDVO-TV</td>
> -	<td valign="top" >“mode”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc.</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"left_margin"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"right_margin"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"top_margin"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"bottom_margin"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“hpos”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“vpos”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“contrast”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“saturation”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“hue”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“sharpness”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“flicker_filter”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“flicker_filter_adaptive”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“flicker_filter_2d”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“tv_chroma_filter”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“tv_luma_filter”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“dot_crawl”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=1</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >SDVO-TV/LVDS</td>
> -	<td valign="top" >“brightness”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max= SDVO dependent</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="11" valign="top" >armada</td>
> -	<td rowspan="2" valign="top" >CRTC</td>
> -	<td valign="top" >"CSC_YUV"</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "Auto" , "CCIR601", "CCIR709" }</td>
> -	<td valign="top" >CRTC</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"CSC_RGB"</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "Auto", "Computer system", "Studio" }</td>
> -	<td valign="top" >CRTC</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="9" valign="top" >Overlay</td>
> -	<td valign="top" >"colorkey"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0xffffff</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"colorkey_min"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0xffffff</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"colorkey_max"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0xffffff</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"colorkey_val"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0xffffff</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"colorkey_alpha"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0xffffff</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"colorkey_mode"</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "disabled", "Y component", "U component"
> -	, "V component", "RGB", “R component", "G component", "B component" }</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"brightness"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=256 + 255</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"contrast"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0x7fff</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"saturation"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0x7fff</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="2" valign="top" >exynos</td>
> -	<td valign="top" >CRTC</td>
> -	<td valign="top" >“mode”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "normal", "blank" }</td>
> -	<td valign="top" >CRTC</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >Overlay</td>
> -	<td valign="top" >“zpos”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=MAX_PLANE-1</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="2" valign="top" >i2c/ch7006_drv</td>
> -	<td valign="top" >Generic</td>
> -	<td valign="top" >“scale”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=2</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="1" valign="top" >TV</td>
> -	<td valign="top" >“mode”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "PAL", "PAL-M","PAL-N"}, ”PAL-Nc"
> -	, "PAL-60", "NTSC-M", "NTSC-J" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="15" valign="top" >nouveau</td>
> -	<td rowspan="6" valign="top" >NV10 Overlay</td>
> -	<td valign="top" >"colorkey"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0x01ffffff</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“contrast”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=8192-1</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“brightness”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=1024</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“hue”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=359</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“saturation”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=8192-1</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“iturbt_709”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=1</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="2" valign="top" >Nv04 Overlay</td>
> -	<td valign="top" >“colorkey”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0x01ffffff</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“brightness”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=1024</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="7" valign="top" >Display</td>
> -	<td valign="top" >“dithering mode”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "auto", "off", "on" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“dithering depth”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "auto", "off", "on", "static 2x2", "dynamic 2x2", "temporal" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“underscan”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "auto", "6 bpc", "8 bpc" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“underscan hborder”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=128</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“underscan vborder”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=128</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“vibrant hue”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=180</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >“color vibrance”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=200</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >omap</td>
> -	<td valign="top" >Generic</td>
> -	<td valign="top" >“zorder”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=3</td>
> -	<td valign="top" >CRTC, Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >qxl</td>
> -	<td valign="top" >Generic</td>
> -	<td valign="top" >“hotplug_mode_update"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=1</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="9" valign="top" >radeon</td>
> -	<td valign="top" >DVI-I</td>
> -	<td valign="top" >“coherent”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=1</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >DAC enable load detect</td>
> -	<td valign="top" >“load detection”</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=1</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >TV Standard</td>
> -	<td valign="top" >"tv standard"</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "ntsc", "pal", "pal-m", "pal-60", "ntsc-j"
> -	, "scart-pal", "pal-cn", "secam" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >legacy TMDS PLL detect</td>
> -	<td valign="top" >"tmds_pll"</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "driver", "bios" }</td>
> -	<td valign="top" >-</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="3" valign="top" >Underscan</td>
> -	<td valign="top" >"underscan"</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "off", "on", "auto" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"underscan hborder"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=128</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"underscan vborder"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=128</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >Audio</td>
> -	<td valign="top" >“audio”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "off", "on", "auto" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >FMT Dithering</td>
> -	<td valign="top" >“dither”</td>
> -	<td valign="top" >ENUM</td>
> -	<td valign="top" >{ "off", "on" }</td>
> -	<td valign="top" >Connector</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td rowspan="3" valign="top" >rcar-du</td>
> -	<td rowspan="3" valign="top" >Generic</td>
> -	<td valign="top" >"alpha"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=255</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"colorkey"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=0, Max=0x01ffffff</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	<tr>
> -	<td valign="top" >"zpos"</td>
> -	<td valign="top" >RANGE</td>
> -	<td valign="top" >Min=1, Max=7</td>
> -	<td valign="top" >Plane</td>
> -	<td valign="top" >TBD</td>
> -	</tr>
> -	</tbody>
> -	</table>
> +!Pdrivers/gpu/drm/drm_crtc.c rotation properties
>      </sect2>
>    </sect1>
>  
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 474f328..d48cc02 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -5760,6 +5760,22 @@ void drm_mode_config_cleanup(struct drm_device *dev)
>  }
>  EXPORT_SYMBOL(drm_mode_config_cleanup);
>  
> +/**
> + * DOC: rotation properties
> + *
> + *     DRM rotation properties
> + *     ----------------------------------------------------------------------------
> + *     |Owner  |Group  |Property  |Type   |Property         |Object  |Description/|
> + *     |Module/|       |Name      |       |Values           |attached|Restrictions|
> + *     |Drivers|       |          |       |                 |        |            |
> + *     --------|-------|----------|-------|-----------------|--------|-------------
> + *     |DRM    |Generic|"rotation"|BITMASK|{0, "rotate-0"}, |CRTC,   |rotate      |
> + *     |       |       |          |       |{1, "rotate-90"},|Plane   |{degrees}   |
> + *     |       |       |          |       |                 |        |rotates     |
> + *     |       |       |          |       |{ blah           |        |the image   |
> + *     |       |       |          |       |...              |        |...         |
> + *     ----------------------------------------------------------------------------
> + */
>  struct drm_property *drm_mode_create_rotation_property(struct drm_device *dev,
>  						       unsigned int supported_rotations)
>  {
> -- 
> 2.4.3
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list