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.
64 * driver-specific information (like the internal native buffer object
106 * Except that there's no vtable for device-level helper callbacks
126 * function must reject any modeset and state changes which the hardware
130 * - Checking that the modes, framebuffers, scaling and placement
131 * requirements and so on are within the limits of the hardware.
133 * - Checking that any hidden shared resources are not oversubscribed.
138 * - Checking that virtualized resources exported to userspace are not
141 * example is dual-pipe operations (which generally should be hidden
142 * from userspace if when lockstepped in hardware, exposed otherwise),
143 * where a plane might need 1 hardware plane (if it's just on one
144 * pipe), 2 hardware planes (when it spans both pipes) or maybe even
145 * shared a hardware plane with a 2nd plane (if there's a compatible
148 * - Check that any transitional state is possible and that if
152 * - Check any other constraints the driver or hardware might have.
154 * - This callback also needs to correctly fill out the &drm_crtc_state
163 * - The driver also does not need to repeat basic input validation
175 * drm_atomic_helper_check(), or one of the exported sub-functions of
182 * - -EINVAL, if any of the above constraints are violated.
184 * - -EDEADLK, when returned from an attempt to acquire an additional
187 * - -ENOMEM, if allocating additional state sub-structures failed due
190 * - -EINTR, -EAGAIN or -ERESTARTSYS, if the IOCTL should be restarted.
211 * drm_atomic_helper_commit(), or one of the exported sub-functions of
216 * in the context of this callback. The only exceptions are hardware
217 * errors resulting in -EIO. But even in that case the driver must
220 * specifically committing the update to the hardware, should be done
227 * buffer is a shared dma-buf. Nonblocking commits must not wait for
231 * completed. These events are per-CRTC and can be distinguished by the
250 * - -EBUSY, if a nonblocking updated is requested and there is
257 * - -ENOMEM, if the driver failed to allocate memory. Specifically
261 * - -ENOSPC, as a refinement of the more generic -ENOMEM to indicate
265 * - -EIO, if the hardware completely died.
267 * - -EINTR, -EAGAIN or -ERESTARTSYS, if the IOCTL should be restarted.
274 * return -EINVAL (any invalid requests should be caught in
275 * @atomic_check) or -EDEADLK (this function must not acquire
286 * &drm_atomic_state to be able to track their own driver-private global
303 * passed-in &drm_atomic_state. This hook is called when the caller
337 * struct drm_mode_config - Mode configuration control structure
349 * @prefer_shadow: hint to userspace to prefer shadow-fb rendering
352 * @helper_private: mid-layer private data
364 * anything from under its protection and move it into more well-scoped
386 * impossible to use driver-private &struct drm_modeset_lock. Users of
403 * connector, modes - just makes life easier to have only one.
411 * high-res DP MST screens.
428 * @num_connector: Number of connectors on this device. Protected by
439 * List of connector objects linked with &drm_connector.head. Protected
448 * Protected by @connector_list_lock. Used by
547 * &drm_property_blob.head. Protected by @blob_lock.
662 * CRTC. A 0 mode implies that the CRTC is entirely disabled - all
673 * @dvi_i_subconnector_property: Optional DVI-I property to
678 * @dvi_i_select_subconnector_property: Optional DVI-I property to
756 * upscaling, mostly used for built-in panels.
776 * the degamma LUT as supported by the driver (read-only).
793 * gamma LUT as supported by the driver (read-only).
817 * how the lcd-panel is mounted inside the casing (e.g. normal or
818 * upside-down).
832 * engine (read-only).
860 * Protected Content.
870 * Hint to framebuffer emulation to prefer shadow-fb rendering.
881 * FIXME: This should be replaced with a per-mapping is_iomem
904 * opt-in.
953 * drm_mode_config_init - DRM mode_configuration structure initialization