diff options
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c')
-rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c index 74e656696d8e..b3e634b0f712 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c @@ -30,6 +30,7 @@ #include "amdgpu_dm.h" #include "amdgpu_dm_wb.h" #include "amdgpu_display.h" +#include "dc.h" #include <drm/drm_atomic_state_helper.h> #include <drm/drm_modeset_helper_vtables.h> @@ -183,13 +184,18 @@ static const struct drm_connector_helper_funcs amdgpu_dm_wb_conn_helper_funcs = }; int amdgpu_dm_wb_connector_init(struct amdgpu_display_manager *dm, - struct drm_writeback_connector *wbcon) + struct amdgpu_dm_wb_connector *wbcon, + uint32_t link_index) { + struct dc *dc = dm->dc; + struct dc_link *link = dc_get_link_at_index(dc, link_index); int res = 0; - drm_connector_helper_add(&wbcon->base, &amdgpu_dm_wb_conn_helper_funcs); + wbcon->link = link; - res = drm_writeback_connector_init(&dm->adev->ddev, wbcon, + drm_connector_helper_add(&wbcon->base.base, &amdgpu_dm_wb_conn_helper_funcs); + + res = drm_writeback_connector_init(&dm->adev->ddev, &wbcon->base, &amdgpu_dm_wb_connector_funcs, &amdgpu_dm_wb_encoder_helper_funcs, amdgpu_dm_wb_formats, @@ -202,8 +208,8 @@ int amdgpu_dm_wb_connector_init(struct amdgpu_display_manager *dm, * Some of the properties below require access to state, like bpc. * Allocate some default initial connector state with our reset helper. */ - if (wbcon->base.funcs->reset) - wbcon->base.funcs->reset(&wbcon->base); + if (wbcon->base.base.funcs->reset) + wbcon->base.base.funcs->reset(&wbcon->base.base); return 0; } |