mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
drm/rockchip: Introduce connector commit
In order to achieve seamless HDR switching, avmute must be unmuted after VOP atomic flush. So we introduce connector commit. Signed-off-by: Algea Cao <algea.cao@rock-chips.com> Change-Id: Ibf11da67c4388f50d8fa34aa5b4902a45ef89f6f
This commit is contained in:
@@ -172,6 +172,24 @@ static int rockchip_drm_bandwidth_atomic_check(struct drm_device *dev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void drm_atomic_helper_connector_commit(struct drm_device *dev,
|
||||
struct drm_atomic_state *old_state)
|
||||
{
|
||||
struct drm_connector *connector;
|
||||
struct drm_connector_state *new_conn_state;
|
||||
int i;
|
||||
|
||||
for_each_new_connector_in_state(old_state, connector, new_conn_state, i) {
|
||||
const struct drm_connector_helper_funcs *funcs;
|
||||
|
||||
funcs = connector->helper_private;
|
||||
if (!funcs->atomic_commit)
|
||||
continue;
|
||||
|
||||
funcs->atomic_commit(connector, new_conn_state);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* rockchip_drm_atomic_helper_commit_tail_rpm - commit atomic update to hardware
|
||||
* @old_state: new modeset state to be committed
|
||||
@@ -202,6 +220,8 @@ static void rockchip_drm_atomic_helper_commit_tail_rpm(struct drm_atomic_state *
|
||||
|
||||
drm_atomic_helper_fake_vblank(old_state);
|
||||
|
||||
drm_atomic_helper_connector_commit(dev, old_state);
|
||||
|
||||
drm_atomic_helper_commit_hw_done(old_state);
|
||||
|
||||
drm_atomic_helper_wait_for_vblanks(dev, old_state);
|
||||
|
||||
Reference in New Issue
Block a user