Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(118)

Issue 1279703004: Ozone: HDC should only keep track of planes owned by it’s crtc controllers (Closed)

Created:
5 years, 4 months ago by kalyank
Modified:
5 years, 4 months ago
CC:
chromium-reviews, piman+watch_chromium.org, ozone-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Ozone: HDC should only keep track of planes owned by it’s crtc controllers Hardware Display Controller keeps track of planes owned by crtc controller, even after it’s removed. This can result in unbinding the frame buffer of primary plane for that controller in subsequent page flip call. After this any page flip requests for that crtc controller will fail with error EBUSY(Tested 3.18 + kernel), assuming that user space is still handling some hot plug events. I encountered this when connected to an external display and changing between extended/mirrored mode. Frame buffer associated with primary plane of the extended display was Zero and Kernel started reporting EBUSY. Now we make sure that Hardware Display Controller only keeps track of the planes owned by its controllers. Committed: https://crrev.com/8e36b241b80f875cf72b90798b65a106a76ace75 Cr-Commit-Position: refs/heads/master@{#344261}

Patch Set 1 #

Patch Set 2 : Always set plane data #

Patch Set 3 : Reset planes when removing CrtcController from HardwareDisplayController #

Patch Set 4 : Move planes to correct HDC #

Patch Set 5 : Fix typo #

Patch Set 6 : Track owned planes #

Total comments: 2

Patch Set 7 : Unit tests and update list in AddCrtc #

Patch Set 8 : Missing changes #

Patch Set 9 : Fix comments #

Total comments: 5

Patch Set 10 : Review fixes #

Total comments: 2

Patch Set 11 : Add comments to clarify what test is doing #

Unified diffs Side-by-side diffs Delta from patch set Stats (+118 lines, -13 lines) Patch
M ui/ozone/platform/drm/gpu/crtc_controller.cc View 1 2 3 4 5 1 chunk +9 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/hardware_display_controller.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +26 lines, -4 lines 0 comments Download
M ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +83 lines, -1 line 0 comments Download
M ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc View 1 2 3 4 5 6 1 chunk +0 lines, -8 lines 0 comments Download

Messages

Total messages: 31 (4 generated)
kalyank
5 years, 4 months ago (2015-08-07 20:32:59 UTC) #2
dnicoara
I think you mean fb as in framebuffer rather than fd (just use the long ...
5 years, 4 months ago (2015-08-10 20:40:40 UTC) #4
kalyank
On 2015/08/10 20:40:40, dnicoara wrote: > I think you mean fb as in framebuffer rather ...
5 years, 4 months ago (2015-08-10 20:45:53 UTC) #5
achaulk
This doesn't seem to have anything to do with the framebuffer though. The only effect ...
5 years, 4 months ago (2015-08-10 20:55:55 UTC) #6
kalyank
On 2015/08/10 20:55:55, achaulk wrote: > This doesn't seem to have anything to do with ...
5 years, 4 months ago (2015-08-10 21:33:59 UTC) #7
achaulk
On 2015/08/10 21:33:59, kalyank wrote: > On 2015/08/10 20:55:55, achaulk wrote: > > This doesn't ...
5 years, 4 months ago (2015-08-10 21:55:03 UTC) #8
kalyank
On 2015/08/10 21:55:03, achaulk wrote: > On 2015/08/10 21:33:59, kalyank wrote: > > On 2015/08/10 ...
5 years, 4 months ago (2015-08-10 23:11:10 UTC) #9
kalyank
HDC = Hardware Display Controller CRTC = CrtcController Here is my observation as to how ...
5 years, 4 months ago (2015-08-11 16:22:54 UTC) #10
kalyank
@dnicoara can you please take another look as issue seems to be in controller.
5 years, 4 months ago (2015-08-12 16:50:08 UTC) #11
achaulk
Hmm I think I see the problem now. One HDC will clear the state for ...
5 years, 4 months ago (2015-08-12 17:15:06 UTC) #12
kalyank
On 2015/08/12 17:15:06, achaulk wrote: > Hmm I think I see the problem now. One ...
5 years, 4 months ago (2015-08-12 17:51:01 UTC) #13
achaulk
On 2015/08/12 17:51:01, kalyank wrote: > On 2015/08/12 17:15:06, achaulk wrote: > > Hmm I ...
5 years, 4 months ago (2015-08-12 20:42:02 UTC) #14
kalyank
On 2015/08/12 20:42:02, achaulk wrote: > On 2015/08/12 17:51:01, kalyank wrote: > > On 2015/08/12 ...
5 years, 4 months ago (2015-08-14 08:20:19 UTC) #15
dnicoara
I'm disliking the fact that ScreenManager now needs to explicitly take care of plane management ...
5 years, 4 months ago (2015-08-14 14:09:45 UTC) #16
kalyank
On 2015/08/14 14:09:45, dnicoara wrote: > I'm disliking the fact that ScreenManager now needs to ...
5 years, 4 months ago (2015-08-14 20:19:44 UTC) #17
dnicoara
On 2015/08/14 20:19:44, kalyank wrote: > On 2015/08/14 14:09:45, dnicoara wrote: > > I'm disliking ...
5 years, 4 months ago (2015-08-14 21:53:34 UTC) #18
kalyank
On 2015/08/14 21:53:34, dnicoara wrote: > On 2015/08/14 20:19:44, kalyank wrote: > > On 2015/08/14 ...
5 years, 4 months ago (2015-08-15 18:26:16 UTC) #19
dnicoara
Also, could you please add some unittests to make sure this doesn't regress in the ...
5 years, 4 months ago (2015-08-18 17:07:52 UTC) #20
kalyank
https://codereview.chromium.org/1279703004/diff/100001/ui/ozone/platform/drm/gpu/hardware_display_controller.cc File ui/ozone/platform/drm/gpu/hardware_display_controller.cc (right): https://codereview.chromium.org/1279703004/diff/100001/ui/ozone/platform/drm/gpu/hardware_display_controller.cc#newcode48 ui/ozone/platform/drm/gpu/hardware_display_controller.cc:48: // CRTC controllers owned by this HDC might have ...
5 years, 4 months ago (2015-08-18 23:15:40 UTC) #21
kalyank
On 2015/08/18 17:07:52, dnicoara wrote: > Also, could you please add some unittests to make ...
5 years, 4 months ago (2015-08-18 23:16:13 UTC) #22
dnicoara
https://codereview.chromium.org/1279703004/diff/160001/ui/ozone/platform/drm/gpu/hardware_display_controller.cc File ui/ozone/platform/drm/gpu/hardware_display_controller.cc (right): https://codereview.chromium.org/1279703004/diff/160001/ui/ozone/platform/drm/gpu/hardware_display_controller.cc#newcode155 ui/ozone/platform/drm/gpu/hardware_display_controller.cc:155: owned_hardware_planes_.add(drm.get(), crtc_plane_list.Pass()); Move this at the begining and use ...
5 years, 4 months ago (2015-08-19 14:09:44 UTC) #23
kalyank
https://codereview.chromium.org/1279703004/diff/160001/ui/ozone/platform/drm/gpu/hardware_display_controller.cc File ui/ozone/platform/drm/gpu/hardware_display_controller.cc (right): https://codereview.chromium.org/1279703004/diff/160001/ui/ozone/platform/drm/gpu/hardware_display_controller.cc#newcode155 ui/ozone/platform/drm/gpu/hardware_display_controller.cc:155: owned_hardware_planes_.add(drm.get(), crtc_plane_list.Pass()); On 2015/08/19 14:09:44, dnicoara wrote: > Move ...
5 years, 4 months ago (2015-08-19 15:38:55 UTC) #24
dnicoara
lgtm with nit https://codereview.chromium.org/1279703004/diff/180001/ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc File ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc (right): https://codereview.chromium.org/1279703004/diff/180001/ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc#newcode351 ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc:351: primary_crtc_plane->set_owning_crtc(0); Do you need these 2 ...
5 years, 4 months ago (2015-08-19 16:08:46 UTC) #25
kalyank
https://codereview.chromium.org/1279703004/diff/180001/ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc File ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc (right): https://codereview.chromium.org/1279703004/diff/180001/ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc#newcode351 ui/ozone/platform/drm/gpu/hardware_display_controller_unittest.cc:351: primary_crtc_plane->set_owning_crtc(0); On 2015/08/19 16:08:46, dnicoara wrote: > Do you ...
5 years, 4 months ago (2015-08-19 16:15:29 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1279703004/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1279703004/200001
5 years, 4 months ago (2015-08-19 17:23:45 UTC) #29
commit-bot: I haz the power
Committed patchset #11 (id:200001)
5 years, 4 months ago (2015-08-19 17:29:05 UTC) #30
commit-bot: I haz the power
5 years, 4 months ago (2015-08-19 17:29:39 UTC) #31
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/8e36b241b80f875cf72b90798b65a106a76ace75
Cr-Commit-Position: refs/heads/master@{#344261}

Powered by Google App Engine
This is Rietveld 408576698