.. | .. |
---|
114 | 114 | { |
---|
115 | 115 | struct rockchip_drm_fb *rockchip_fb; |
---|
116 | 116 | struct rockchip_gem_object *rk_obj; |
---|
117 | | - struct rockchip_drm_private *private = dev->dev_private; |
---|
118 | | - struct drm_fb_helper *fb_helper = private->fbdev_helper; |
---|
119 | 117 | int ret = 0; |
---|
120 | 118 | int i; |
---|
121 | 119 | |
---|
.. | .. |
---|
141 | 139 | rk_obj = to_rockchip_obj(obj[i]); |
---|
142 | 140 | rockchip_fb->dma_addr[i] = rk_obj->dma_addr; |
---|
143 | 141 | rockchip_fb->kvaddr[i] = rk_obj->kvaddr; |
---|
144 | | - private->fbdev_bo = &rk_obj->base; |
---|
145 | | - if (fb_helper && fb_helper->fbdev && rk_obj->kvaddr) |
---|
146 | | - fb_helper->fbdev->screen_base = rk_obj->kvaddr; |
---|
147 | 142 | } |
---|
148 | 143 | #ifndef MODULE |
---|
149 | 144 | } else if (logo) { |
---|
.. | .. |
---|
366 | 361 | } |
---|
367 | 362 | } |
---|
368 | 363 | |
---|
| 364 | +static void drm_atomic_helper_connector_commit(struct drm_device *dev, |
---|
| 365 | + struct drm_atomic_state *old_state) |
---|
| 366 | +{ |
---|
| 367 | + struct drm_connector *connector; |
---|
| 368 | + struct drm_connector_state *new_conn_state; |
---|
| 369 | + int i; |
---|
| 370 | + |
---|
| 371 | + for_each_new_connector_in_state(old_state, connector, new_conn_state, i) { |
---|
| 372 | + const struct drm_connector_helper_funcs *funcs; |
---|
| 373 | + |
---|
| 374 | + funcs = connector->helper_private; |
---|
| 375 | + if (!funcs->atomic_commit) |
---|
| 376 | + continue; |
---|
| 377 | + |
---|
| 378 | + funcs->atomic_commit(connector, new_conn_state); |
---|
| 379 | + } |
---|
| 380 | +} |
---|
| 381 | + |
---|
369 | 382 | static void |
---|
370 | 383 | rockchip_atomic_helper_commit_tail_rpm(struct drm_atomic_state *old_state) |
---|
371 | 384 | { |
---|
.. | .. |
---|
381 | 394 | DRM_PLANE_COMMIT_ACTIVE_ONLY); |
---|
382 | 395 | |
---|
383 | 396 | rockchip_drm_psr_inhibit_put_state(old_state); |
---|
| 397 | + |
---|
| 398 | + drm_atomic_helper_connector_commit(dev, old_state); |
---|
384 | 399 | |
---|
385 | 400 | drm_atomic_helper_commit_hw_done(old_state); |
---|
386 | 401 | |
---|
.. | .. |
---|
445 | 460 | |
---|
446 | 461 | rockchip_drm_psr_inhibit_put_state(state); |
---|
447 | 462 | |
---|
| 463 | + drm_atomic_helper_connector_commit(dev, state); |
---|
| 464 | + |
---|
448 | 465 | drm_atomic_helper_commit_hw_done(state); |
---|
449 | 466 | |
---|
450 | 467 | rockchip_drm_atomic_helper_wait_for_vblanks(dev, state); |
---|