diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0332-drm-amd-display-get_atomic_property-missing-for-drm_.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/0332-drm-amd-display-get_atomic_property-missing-for-drm_.patch | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0332-drm-amd-display-get_atomic_property-missing-for-drm_.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0332-drm-amd-display-get_atomic_property-missing-for-drm_.patch deleted file mode 100644 index b113d34d..00000000 --- a/common/recipes-kernel/linux/linux-yocto-4.14.71/0332-drm-amd-display-get_atomic_property-missing-for-drm_.patch +++ /dev/null @@ -1,159 +0,0 @@ -From 1c923b6e6672bc55c6f0c0f3abd3a0bb8ac5dea6 Mon Sep 17 00:00:00 2001 -From: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com> -Date: Thu, 6 Apr 2017 13:18:20 +0530 -Subject: [PATCH 0332/4131] drm/amd/display: get_atomic_property missing for - drm_connector_funcs - -DRM_IOCTL_MODE_GETCONNECTOR fails with EINVAL on enabling DRIVER_ATOMIC -With this DRM_IOCTL_MODE_GETCONNECTOR returns all the connector properties. -freesync_property and freesync_capable_property return 0 currently. - -TESTS(On Chromium OS on Stoney Only) -* Builds without compilation errors. -* 'atomictest' proceeds after applying patch and fails with vblank event -timed out. -* Chromium OS ui comes up. - -Signed-off-by: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com> -Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> -Reviewed-by: Harry Wentland <harry.wentland@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - .../drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 89 +++++++++++++--------- - .../drm/amd/display/amdgpu_dm/amdgpu_dm_types.h | 6 ++ - 2 files changed, 57 insertions(+), 38 deletions(-) - -diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c -index 28bd6be..f0896e8 100644 ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c -@@ -1348,6 +1348,56 @@ int amdgpu_dm_connector_atomic_set_property( - return ret; - } - -+int amdgpu_dm_connector_atomic_get_property( -+ struct drm_connector *connector, -+ const struct drm_connector_state *state, -+ struct drm_property *property, -+ uint64_t *val) -+{ -+ struct drm_device *dev = connector->dev; -+ struct amdgpu_device *adev = dev->dev_private; -+ struct dm_connector_state *dm_state = -+ to_dm_connector_state(state); -+ int ret = -EINVAL; -+ -+ if (property == dev->mode_config.scaling_mode_property) { -+ switch (dm_state->scaling) { -+ case RMX_CENTER: -+ *val = DRM_MODE_SCALE_CENTER; -+ break; -+ case RMX_ASPECT: -+ *val = DRM_MODE_SCALE_ASPECT; -+ break; -+ case RMX_FULL: -+ *val = DRM_MODE_SCALE_FULLSCREEN; -+ break; -+ case RMX_OFF: -+ default: -+ *val = DRM_MODE_SCALE_NONE; -+ break; -+ } -+ ret = 0; -+ } else if (property == adev->mode_info.underscan_hborder_property) { -+ *val = dm_state->underscan_hborder; -+ ret = 0; -+ } else if (property == adev->mode_info.underscan_vborder_property) { -+ *val = dm_state->underscan_vborder; -+ ret = 0; -+ } else if (property == adev->mode_info.underscan_property) { -+ *val = dm_state->underscan_enable; -+ ret = 0; -+ } else if (property == adev->mode_info.freesync_property) { -+ //TODO -+ *val = 0; -+ ret = 0; -+ } else if (property == adev->mode_info.freesync_capable_property) { -+ //TODO -+ *val = 0; -+ ret = 0; -+ } -+ return ret; -+} -+ - void amdgpu_dm_connector_destroy(struct drm_connector *connector) - { - struct amdgpu_connector *aconnector = to_amdgpu_connector(connector); -@@ -1410,43 +1460,6 @@ struct drm_connector_state *amdgpu_dm_connector_atomic_duplicate_state( - return NULL; - } - -- --/** -- * amdgpu_dm_atomic_get_property - fetch connector property value -- * @connector: connector to fetch property for -- * @state: state containing the property value -- * @property: property to look up -- * @val: pointer to write property value into -- * -- * The DRM core does not store shadow copies of properties for -- * atomic-capable drivers. This entrypoint is used to fetch -- * the current value of a driver-specific connector property. -- */ --int amdgpu_dm_connector_atomic_get_property(struct drm_connector *connector, -- const struct drm_connector_state *state, -- struct drm_property *property, -- uint64_t *val) --{ -- int i; -- -- /* -- * TODO: Get properties from atomic state or objs. Until it's ready, -- * continue to look up all property values in the DRM's shadow copy -- * in obj->properties->values[]. -- * -- * When the crtc/connector state work matures, this function should -- * be updated to read the values out of the state structure instead. -- */ -- for (i = 0; i < connector->base.properties->count; i++) { -- if (connector->base.properties->properties[i] == property) { -- *val = connector->base.properties->values[i]; -- return 0; -- } -- } -- -- return -EINVAL; --} -- - static const struct drm_connector_funcs amdgpu_dm_connector_funcs = { - .dpms = drm_atomic_helper_connector_dpms, - .reset = amdgpu_dm_connector_funcs_reset, -@@ -1457,7 +1470,7 @@ static const struct drm_connector_funcs amdgpu_dm_connector_funcs = { - .atomic_duplicate_state = amdgpu_dm_connector_atomic_duplicate_state, - .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, - .atomic_set_property = amdgpu_dm_connector_atomic_set_property, -- .atomic_get_property = amdgpu_dm_connector_atomic_get_property, -+ .atomic_get_property = amdgpu_dm_connector_atomic_get_property - }; - - static struct drm_encoder *best_encoder(struct drm_connector *connector) -diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.h -index ab6d51d..b69c868 100644 ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.h -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.h -@@ -71,6 +71,12 @@ int amdgpu_dm_connector_atomic_set_property( - struct drm_property *property, - uint64_t val); - -+int amdgpu_dm_connector_atomic_get_property( -+ struct drm_connector *connector, -+ const struct drm_connector_state *state, -+ struct drm_property *property, -+ uint64_t *val); -+ - int amdgpu_dm_get_encoder_crtc_mask(struct amdgpu_device *adev); - - void amdgpu_dm_connector_init_helper( --- -2.7.4 - |