linux/drivers/gpu/drm/amd/display/amdgpu_dm
Shirish S 0430d52b76 drm/amd/display: make dc_commit_surfaces_to_stream() re-entrant
dc_commit_surfaces_to_stream() function currently
is handle's only one plane at a time.
This will not work if multiple planes have to be set to a crtc.

The functionality of dc_commit_surfaces_to_stream() with this patch
is slit into
1. Accumulate and initialise all the surfaces that needs to be
   set to a crtc.
2. Update the intialised set of surfaces to the steam in one go.

Hence dc_commit_surfaces_to_stream() is renamed to init_surfaces().
Once all the planes requested by user space are initialised,
dc_commit_surfaces_to_stream() shall sequentially populates *updates,
 *flip_addr, *plane_info and *scaling_info for all surfaces.

BUG: SWDEV-119421
TEST: (On Chromium OS for Stoney Only)
* Chromium UI comes up, on both eDP & DP.
* 'new_surface_count' now changes as per user input for e.g for
  all below run tests its 2, without this patch for the below
  tests it used to be 1
* Executed below tests to see YUV(underlay) & RGB planes on eDP
plane_test --format XR24 --size 500x100 -p --format YV12 --size 500x500
plane_test --format AR24 --size 500x50 -p --format YV12 --size 150x150
plane_test --format AR24 --size 500x50 -p --format YV12 --size 1366x768

Signed-off-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Shirish S <shirish.s@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2017-09-26 18:06:30 -04:00
..
amdgpu_dm_helpers.c drm/amd/display: Refactor edid read. 2017-09-26 17:22:17 -04:00
amdgpu_dm_irq.c drm/amd/display: Fix s3 hang on resume. 2017-09-26 17:22:35 -04:00
amdgpu_dm_irq.h drm/amd/display: Fix s3 hang on resume. 2017-09-26 17:22:35 -04:00
amdgpu_dm_mst_types.c drm/amd/display: Refactor edid read. 2017-09-26 17:22:17 -04:00
amdgpu_dm_mst_types.h drm/amd/display: Refactor edid read. 2017-09-26 17:22:17 -04:00
amdgpu_dm_services.c drm/amd/display: Remove DCE12 guards 2017-09-26 17:19:36 -04:00
amdgpu_dm_types.c drm/amd/display: make dc_commit_surfaces_to_stream() re-entrant 2017-09-26 18:06:30 -04:00
amdgpu_dm_types.h drm/amd/display: get_atomic_property missing for drm_connector_funcs 2017-09-26 17:22:51 -04:00
amdgpu_dm.c drm/amd/display: Parse scanline registers 2017-09-26 17:23:47 -04:00
amdgpu_dm.h drm/amd/display: Switch to DRM helpers in s3. 2017-09-26 17:18:36 -04:00
Makefile