mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
drm: Handle properties in the core for atomic drivers
The reason behind the original indirection through the helper functions was to allow existing drivers to overwrite how they handle properties. For example when a vendor-specific userspace had expectations that didn't match atomic. That seemed likely, since atomic is standardizing a _lot_ more of the behaviour of a kms driver. But 20 drivers later there's no such need at all. Worse, this forces all drivers to hook up the default behaviour, breaking userspace if they forget to do that. And it forces us to export a bunch of core function just for those helpers. And finally, these helpers are the last places using drm_atomic_legacy_backoff() and the implicit acquire_ctx. This patch here just implements the new behaviour and updates the docs. Follow-up patches will garbage-collect all the dead code. v2: Fixup docs even better! v3: Make it actually work ... v4: Drop the uses_atomic_modeset() checks from the previous patch again, since they're now moved up in the callchain. Cc: Maarten Lankhorst <[email protected]> Reviewed-by: Archit Taneja <[email protected]> (v3) Reviewed-by: Maarten Lankhorst <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
This commit is contained in:
parent
4a97a3da42
commit
144a7999d6
10 changed files with 161 additions and 53 deletions
|
|
@ -382,8 +382,8 @@ struct drm_connector_funcs {
|
|||
* implement the 4 level DPMS support on the connector any more, but
|
||||
* instead only have an on/off "ACTIVE" property on the CRTC object.
|
||||
*
|
||||
* Drivers implementing atomic modeset should use
|
||||
* drm_atomic_helper_connector_dpms() to implement this hook.
|
||||
* This hook is not used by atomic drivers, remapping of the legacy DPMS
|
||||
* property is entirely handled in the DRM core.
|
||||
*
|
||||
* RETURNS:
|
||||
*
|
||||
|
|
@ -480,11 +480,9 @@ struct drm_connector_funcs {
|
|||
* This is the legacy entry point to update a property attached to the
|
||||
* connector.
|
||||
*
|
||||
* Drivers implementing atomic modeset should use
|
||||
* drm_atomic_helper_connector_set_property() to implement this hook.
|
||||
*
|
||||
* This callback is optional if the driver does not support any legacy
|
||||
* driver-private properties.
|
||||
* driver-private properties. For atomic drivers it is not used because
|
||||
* property handling is done entirely in the DRM core.
|
||||
*
|
||||
* RETURNS:
|
||||
*
|
||||
|
|
|
|||
|
|
@ -473,11 +473,9 @@ struct drm_crtc_funcs {
|
|||
* This is the legacy entry point to update a property attached to the
|
||||
* CRTC.
|
||||
*
|
||||
* Drivers implementing atomic modeset should use
|
||||
* drm_atomic_helper_crtc_set_property() to implement this hook.
|
||||
*
|
||||
* This callback is optional if the driver does not support any legacy
|
||||
* driver-private properties.
|
||||
* driver-private properties. For atomic drivers it is not used because
|
||||
* property handling is done entirely in the DRM core.
|
||||
*
|
||||
* RETURNS:
|
||||
*
|
||||
|
|
|
|||
|
|
@ -233,11 +233,9 @@ struct drm_plane_funcs {
|
|||
* This is the legacy entry point to update a property attached to the
|
||||
* plane.
|
||||
*
|
||||
* Drivers implementing atomic modeset should use
|
||||
* drm_atomic_helper_plane_set_property() to implement this hook.
|
||||
*
|
||||
* This callback is optional if the driver does not support any legacy
|
||||
* driver-private properties.
|
||||
* driver-private properties. For atomic drivers it is not used because
|
||||
* property handling is done entirely in the DRM core.
|
||||
*
|
||||
* RETURNS:
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in a new issue