On 2017-05-03 11:02 AM, Daniel Vetter wrote: > On Wed, May 03, 2017 at 04:26:51PM +0200, Christian König wrote: >> Hi Harry, >> >> while this looks more and more like it could work something which would >> really help would be to have a set of patches squashed together and rebased >> on drm-next. >> >> The dc-drm-next-atomic-wip looks like a start, but we need more something >> like: >> drm/amdgpu: add base DC components >> drm/amdgpu: add DCE8 support for DC >> drm/amdgpu: add DCE9 support for DC >> drm/amdgpu: add DCE10 support for DC >> ... >> drm/amdgpu: enable DC globally >> drm/amdgpu: remove old display infrastructure >> >> Otherwise I fear that people will just be lost in the mass amount of patches >> we have in the branch. > > I think for a quick first feedback round simply something that's based on > top of recent drm-next is good enough, since I'll probably only look at > the aggregate diff anyway (or resulting tree). This was basically what I figured which is why I didn't invest more time to squash changes. I agree with Christian that eventually we probably want something like his suggested split but for now I'd rather focus on tying a dc_surface to a drm_plane (and same for other objects). Starting to tie our objects to drm objects has been very eye-opening, to say the least. Daniel, do you think you'll find time to take a look at this this week or next? Harry > -Daniel > >> >> Regards, >> Christian. >> >> Am 03.05.2017 um 16:13 schrieb Harry Wentland: >>> Hi all, >>> >>> Over the last few months we (mostly Andrey and myself) have taken and >>> addressed some of the feedback received from December's DC RFC. A lot of >>> our work so far centers around atomic. We were able to take a whole >>> bunch of the areas where we rolled our own solution and use DRM atomic >>> helpers instead. >>> >>> You can find our most recent drm-next based tree at >>> https://cgit.freedesktop.org/~hwentland/linux/log/?h=dc-drm-next-atomic-wip >>> >>> An outline of the changes with commit hashes from that tree are listed >>> below. They aren't necessarily in order but are grouped by >>> functionality. >>> >>> I would like to solicit input on the changes and the current state of >>> amd/display in general. >>> >>> I'm on IRC every weekday from 9-5 eastern time, sometimes at other >>> hours. Feel free to ask questions, discuss, leave comments. Let me know >>> if there's anything else I can do to facilitate review. >>> >>> We know there's more work to be done but would much rather prioritize >>> that work based on community feedback than merely our own impressions. >>> >>> We haven't finished plumbing drm types to the dc types yet, and there >>> are still a bunch of other things in progress. We are not looking to >>> re-hash the previous discussion, but rather we'd like some feedback on >>> our work so far. >>> >>> The list of changes (trimmed commit tags): >>> >>> == Use common helpers for pageflip == >>> 144da239b047 Use pflip prepare and submit parts (v2) >>> ff7ac264a9a1 Fix page flip after daniel's acquire_ctx change >>> >>> >>> == implement atomic_get_properties == >>> cf4a84df7189 Fallback on legacy properties in atomic_get_properties >>> 01f96706b6ca get_atomic_property missing for drm_connector_funcs >>> >>> >>> == Use common helpers for gamma == >>> 3f547d7098de Use atomic helpers for gamma >>> >>> >>> == Use atomic helpers for commit == >>> 41831f55bd58 Refactor atomic commit implementation. (v2) >>> 6c67dd3c5cd5 Refactor headless to use atomic commit. >>> eb22ef1ecb16 Remove page_fleep_needed function. >>> >>> >>> == Use atomic helpers for S3 == >>> 5a6ae6f76249 Switch to DRM helpers in s3. >>> >>> >>> == Simmplify mapping between DRM and DC objects == >>> 84a3ee023b9b Remove get_connector_for_link. >>> 6d8978a98b40 Remove get_connector_for_sink. >>> >>> >>> == Use DRM EDID read instead of DC == >>> 566969dacfad Fix i2c write flag. >>> 527c3699ff3c Refactor edid read. >>> 5ac51023d275 Fix missing irq refactor causing potential i2c race >>> >>> >>> == Save DC validate_ctx in atomic_check and use in commit == >>> 8c194d8e4ee9 pull commit_surfaces out of atomic_commit into helper >>> function >>> 27eef98b38c8 Return context from validate_context >>> ca3ee10e915b Add DM global atomic state >>> 8ba1ca856532 Hook dm private state into atomic_check >>> 10160455ac6d Add correct retain/release for objs in dm_atomic_state >>> 0f1b2e2aecbb Commit validation set from state >>> 258e6a91fc61 Add validate_context to atomic_state >>> 64f569b5df20 Use validate_context from atomic_check in commit >>> >>> >>> == Start multi-plane implementation == >>> 601ff4e70b7c decouple per-crtc-plane model >>> a0b859a0b114 Fix cleanup in amdgpu_dm_initialize_drm_device >>> ee02010d7a82 update plane functionalities >>> 3b7345fd1abb Allow planes on all crtcs >>> d9cf37462156 initialize YUV plane capabilities >>> 248f06b2613e Universal cursor plane hook-up. >>> >>> >>> == Minor cleanups == >>> d99bf02cb8fc Rename atomic_commit parameter. >>> f15fb9726502 Use amdgpu mode funcs statically >>> d3e37fa70643 Remove unused define from amdgpu_dm_types >>> 80a38ad58125 Add lock around updating freesync property >>> 8c7f16853824 Use new drm_dp_find_vcpi_slots to compute slots >>> >>> Regards, >>> Harry >>> _______________________________________________ >>> amd-gfx mailing list >>> amd-gfx at lists.freedesktop.org >>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx >> >> >