drm: Move drm_display_mode an related docs into kerneldoc
This was in the documentation for modeset helper hooks, where it is a bit misplaced. v2: Reindent the drm_mode_status enum, inspired by Ville. v3: Suggestions from Ville and Thierry. v4: Small fixup that 0day spotted. v5: Slight change to avoid accidental headings in kerneldoc output. Cc: ville.syrjala@linux.intel.com Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1449218769-16577-27-git-send-email-daniel.vetter@ffwll.ch Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (v3) Reviewed-by: Thierry Reding <treding@nvidia.com> (v3)
This commit is contained in:
@@ -1757,198 +1757,6 @@ void intel_crt_init(struct drm_device *dev)
|
||||
connector_status_connected. There is no need to call
|
||||
<function>drm_add_edid_modes</function> manually in that case.
|
||||
</para>
|
||||
<para>
|
||||
When adding modes manually the driver creates each mode with a call to
|
||||
<function>drm_mode_create</function> and must fill the following fields.
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<synopsis>__u32 type;</synopsis>
|
||||
<para>
|
||||
Mode type bitmask, a combination of
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_TYPE_BUILTIN</term>
|
||||
<listitem><para>not used?</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_TYPE_CLOCK_C</term>
|
||||
<listitem><para>not used?</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_TYPE_CRTC_C</term>
|
||||
<listitem><para>not used?</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
DRM_MODE_TYPE_PREFERRED - The preferred mode for the connector
|
||||
</term>
|
||||
<listitem>
|
||||
<para>not used?</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_TYPE_DEFAULT</term>
|
||||
<listitem><para>not used?</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_TYPE_USERDEF</term>
|
||||
<listitem><para>not used?</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_TYPE_DRIVER</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The mode has been created by the driver (as opposed to
|
||||
to user-created modes).
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
Drivers must set the DRM_MODE_TYPE_DRIVER bit for all modes they
|
||||
create, and set the DRM_MODE_TYPE_PREFERRED bit for the preferred
|
||||
mode.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<synopsis>__u32 clock;</synopsis>
|
||||
<para>Pixel clock frequency in kHz unit</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<synopsis>__u16 hdisplay, hsync_start, hsync_end, htotal;
|
||||
__u16 vdisplay, vsync_start, vsync_end, vtotal;</synopsis>
|
||||
<para>Horizontal and vertical timing information</para>
|
||||
<screen><![CDATA[
|
||||
Active Front Sync Back
|
||||
Region Porch Porch
|
||||
<-----------------------><----------------><-------------><-------------->
|
||||
|
||||
//////////////////////|
|
||||
////////////////////// |
|
||||
////////////////////// |.................. ................
|
||||
_______________
|
||||
|
||||
<----- [hv]display ----->
|
||||
<------------- [hv]sync_start ------------>
|
||||
<--------------------- [hv]sync_end --------------------->
|
||||
<-------------------------------- [hv]total ----------------------------->
|
||||
]]></screen>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<synopsis>__u16 hskew;
|
||||
__u16 vscan;</synopsis>
|
||||
<para>Unknown</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<synopsis>__u32 flags;</synopsis>
|
||||
<para>
|
||||
Mode flags, a combination of
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_PHSYNC</term>
|
||||
<listitem><para>
|
||||
Horizontal sync is active high
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_NHSYNC</term>
|
||||
<listitem><para>
|
||||
Horizontal sync is active low
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_PVSYNC</term>
|
||||
<listitem><para>
|
||||
Vertical sync is active high
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_NVSYNC</term>
|
||||
<listitem><para>
|
||||
Vertical sync is active low
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_INTERLACE</term>
|
||||
<listitem><para>
|
||||
Mode is interlaced
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_DBLSCAN</term>
|
||||
<listitem><para>
|
||||
Mode uses doublescan
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_CSYNC</term>
|
||||
<listitem><para>
|
||||
Mode uses composite sync
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_PCSYNC</term>
|
||||
<listitem><para>
|
||||
Composite sync is active high
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_NCSYNC</term>
|
||||
<listitem><para>
|
||||
Composite sync is active low
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_HSKEW</term>
|
||||
<listitem><para>
|
||||
hskew provided (not used?)
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_BCAST</term>
|
||||
<listitem><para>
|
||||
not used?
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_PIXMUX</term>
|
||||
<listitem><para>
|
||||
not used?
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_DBLCLK</term>
|
||||
<listitem><para>
|
||||
not used?
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>DRM_MODE_FLAG_CLKDIV2</term>
|
||||
<listitem><para>
|
||||
?
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
<para>
|
||||
Note that modes marked with the INTERLACE or DBLSCAN flags will be
|
||||
filtered out by
|
||||
<function>drm_helper_probe_single_connector_modes</function> if
|
||||
the connector's <structfield>interlace_allowed</structfield> or
|
||||
<structfield>doublescan_allowed</structfield> field is set to 0.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<synopsis>char name[DRM_DISPLAY_MODE_LEN];</synopsis>
|
||||
<para>
|
||||
Mode name. The driver must call
|
||||
<function>drm_mode_set_name</function> to fill the mode name from
|
||||
<structfield>hdisplay</structfield>,
|
||||
<structfield>vdisplay</structfield> and interlace flag after
|
||||
filling the corresponding fields.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
The <structfield>vrefresh</structfield> value is computed by
|
||||
<function>drm_helper_probe_single_connector_modes</function>.
|
||||
|
Reference in New Issue
Block a user