mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-18 06:33:43 -04:00
drm/amd/display: Add periodic detection for IPS
[Why] HPD interrupt cannot be handled in IPS2 state. So if there's a display topology change while system in IPS2 it can be missed. [How] Implement worker to check each 5 sec in IPS for HPD. Reviewed-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Acked-by: Wayne Lin <wayne.lin@amd.com> Signed-off-by: Roman Li <roman.li@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -137,6 +137,13 @@ struct vblank_control_work {
|
||||
bool enable;
|
||||
};
|
||||
|
||||
struct idle_workqueue {
|
||||
struct work_struct work;
|
||||
struct amdgpu_display_manager *dm;
|
||||
bool enable;
|
||||
bool running;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct amdgpu_dm_backlight_caps - Information about backlight
|
||||
*
|
||||
@@ -487,6 +494,7 @@ struct amdgpu_display_manager {
|
||||
* Deferred work for vblank control events.
|
||||
*/
|
||||
struct workqueue_struct *vblank_control_workqueue;
|
||||
struct idle_workqueue *idle_workqueue;
|
||||
|
||||
struct drm_atomic_state *cached_state;
|
||||
struct dc_state *cached_dc_state;
|
||||
@@ -956,4 +964,5 @@ amdgpu_dm_find_first_crtc_matching_connector(struct drm_atomic_state *state,
|
||||
struct drm_crtc *crtc);
|
||||
|
||||
int convert_dc_color_depth_into_bpc(enum dc_color_depth display_color_depth);
|
||||
struct idle_workqueue *idle_create_workqueue(struct amdgpu_device *adev);
|
||||
#endif /* __AMDGPU_DM_H__ */
|
||||
|
||||
Reference in New Issue
Block a user