|
@@ -24,9 +24,30 @@ struct drm_simple_display_pipe_funcs {
|
|
|
/**
|
|
|
* @mode_valid:
|
|
|
*
|
|
|
- * This function is called to filter out valid modes from the
|
|
|
- * suggestions suggested by the bridge or display. This optional
|
|
|
- * hook is passed in when initializing the pipeline.
|
|
|
+ * This callback is used to check if a specific mode is valid in the
|
|
|
+ * crtc used in this simple display pipe. This should be implemented
|
|
|
+ * if the display pipe has some sort of restriction in the modes
|
|
|
+ * it can display. For example, a given display pipe may be responsible
|
|
|
+ * to set a clock value. If the clock can not produce all the values
|
|
|
+ * for the available modes then this callback can be used to restrict
|
|
|
+ * the number of modes to only the ones that can be displayed. Another
|
|
|
+ * reason can be bandwidth mitigation: the memory port on the display
|
|
|
+ * controller can have bandwidth limitations not allowing pixel data
|
|
|
+ * to be fetched at any rate.
|
|
|
+ *
|
|
|
+ * This hook is used by the probe helpers to filter the mode list in
|
|
|
+ * drm_helper_probe_single_connector_modes(), and it is used by the
|
|
|
+ * atomic helpers to validate modes supplied by userspace in
|
|
|
+ * drm_atomic_helper_check_modeset().
|
|
|
+ *
|
|
|
+ * This function is optional.
|
|
|
+ *
|
|
|
+ * NOTE:
|
|
|
+ *
|
|
|
+ * Since this function is both called from the check phase of an atomic
|
|
|
+ * commit, and the mode validation in the probe paths it is not allowed
|
|
|
+ * to look at anything else but the passed-in mode, and validate it
|
|
|
+ * against configuration-invariant hardware constraints.
|
|
|
*
|
|
|
* RETURNS:
|
|
|
*
|