Lines Matching +full:hardware +full:- +full:protected
42 * struct drm_mode_config_funcs - basic driver provided mode setting functions
44 * Some global (i.e. not per-CRTC, connector, etc) mode setting functions that
59 * ie. when (@mode_cmd->flags & DRM_MODE_FB_MODIFIERS) == 0.
70 * driver-specific information (like the internal native buffer object
115 * function must reject any modeset and state changes which the hardware
119 * - Checking that the modes, framebuffers, scaling and placement
120 * requirements and so on are within the limits of the hardware.
122 * - Checking that any hidden shared resources are not oversubscribed.
127 * - Checking that virtualized resources exported to userspace are not
130 * example is dual-pipe operations (which generally should be hidden
131 * from userspace if when lockstepped in hardware, exposed otherwise),
132 * where a plane might need 1 hardware plane (if it's just on one
133 * pipe), 2 hardware planes (when it spans both pipes) or maybe even
134 * shared a hardware plane with a 2nd plane (if there's a compatible
137 * - Check that any transitional state is possible and that if
141 * - Check any other constraints the driver or hardware might have.
143 * - This callback also needs to correctly fill out the &drm_crtc_state
152 * - The driver also does not need to repeat basic input validation
164 * drm_atomic_helper_check(), or one of the exported sub-functions of
171 * - -EINVAL, if any of the above constraints are violated.
173 * - -EDEADLK, when returned from an attempt to acquire an additional
176 * - -ENOMEM, if allocating additional state sub-structures failed due
179 * - -EINTR, -EAGAIN or -ERESTARTSYS, if the IOCTL should be restarted.
200 * drm_atomic_helper_commit(), or one of the exported sub-functions of
205 * in the context of this callback. The only exceptions are hardware
206 * errors resulting in -EIO. But even in that case the driver must
209 * specifically committing the update to the hardware, should be done
216 * buffer is a shared dma-buf. Nonblocking commits must not wait for
220 * completed. These events are per-CRTC and can be distinguished by the
239 * - -EBUSY, if a nonblocking updated is requested and there is
246 * - -ENOMEM, if the driver failed to allocate memory. Specifically
250 * - -ENOSPC, as a refinement of the more generic -ENOMEM to indicate
254 * - -EIO, if the hardware completely died.
256 * - -EINTR, -EAGAIN or -ERESTARTSYS, if the IOCTL should be restarted.
263 * return -EINVAL (any invalid requests should be caught in
264 * @atomic_check) or -EDEADLK (this function must not acquire
275 * &drm_atomic_state to be able to track their own driver-private global
292 * passed-in &drm_atomic_state. This hook is called when the caller
326 * struct drm_mode_config - Mode configuration control structure
337 * @prefer_shadow: hint to userspace to prefer shadow-fb rendering
340 * @helper_private: mid-layer private data
354 * memory. For hardware that has no real maximum, drivers should pick a
365 * anything from under its protection and move it into more well-scoped
387 * impossible to use driver-private &struct drm_modeset_lock. Users of
404 * connector, modes - just makes life easier to have only one.
412 * high-res DP MST screens.
429 * @num_connector: Number of connectors on this device. Protected by
440 * List of connector objects linked with &drm_connector.head. Protected
449 * Protected by @connector_list_lock. Used by
496 * the display hardware or modeset software state, which the panic
497 * printing code must be protected against. See drm_panic_trylock(),
557 * &drm_property_blob.head. Protected by @blob_lock.
672 * CRTC. A 0 mode implies that the CRTC is entirely disabled - all
683 * @dvi_i_subconnector_property: Optional DVI-I property to
688 * @dvi_i_select_subconnector_property: Optional DVI-I property to
776 * upscaling, mostly used for built-in panels.
796 * the degamma LUT as supported by the driver (read-only).
813 * gamma LUT as supported by the driver (read-only).
837 * how the lcd-panel is mounted inside the casing (e.g. normal or
838 * upside-down).
852 * engine (read-only).
880 * Protected Content.
905 * opt-in.
962 * drm_mode_config_init - DRM mode_configuration structure initialization