diff options
author | Aidan Wood <Aidan.Wood@amd.com> | 2019-02-22 13:37:03 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2019-04-03 11:57:07 -0500 |
commit | 813d20dccf93f84f4c16236f7c037dc34db48f10 (patch) | |
tree | 70cf13d6680e71479cf7ed22a1e4a5cd5aecde25 /drivers/gpu/drm/amd/display/dc/dc.h | |
parent | 71bbe51a0839f77fb75b473b23485b026d74ab75 (diff) | |
download | linux-813d20dccf93f84f4c16236f7c037dc34db48f10.tar.bz2 |
drm/amd/display: Fix multi-thread writing to 1 state
[Why]
Multiple threads were writing back to one global VBA in DC resulting
in multiple threads overwriting eachother's data
[How]
Add an instance of DML (which contains VBA) to each context and
change all calls that used dc->dml to use context->dml. Created a
seperate copy constructor for linux in a case where there is no
access to DC.
Signed-off-by: Aidan Wood <Aidan.Wood@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dc.h')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dc.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h index c09a19046fd8..16483bf82c8f 100644 --- a/drivers/gpu/drm/amd/display/dc/dc.h +++ b/drivers/gpu/drm/amd/display/dc/dc.h @@ -669,7 +669,8 @@ void dc_resource_state_destruct(struct dc_state *context); bool dc_commit_state(struct dc *dc, struct dc_state *context); -struct dc_state *dc_create_state(void); +struct dc_state *dc_create_state(struct dc *dc); +struct dc_state *dc_copy_state(struct dc_state *src_ctx); void dc_retain_state(struct dc_state *context); void dc_release_state(struct dc_state *context); |