Skip to content

Commit c66705c

Browse files
Alex Hungalexdeucher
authored andcommitted
Revert "drm/amd/display: Create amdgpu_dm_wb_connector"
This reverts commit a5f9523. [WHY & HOW] The writeback series cause a regression in thunderbolt display. Signed-off-by: Alex Hung <alex.hung@amd.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 6ec0e23 commit c66705c

4 files changed

Lines changed: 8 additions & 24 deletions

File tree

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4496,14 +4496,14 @@ static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev)
44964496
link = dc_get_link_at_index(dm->dc, i);
44974497

44984498
if (link->connector_signal == SIGNAL_TYPE_VIRTUAL) {
4499-
struct amdgpu_dm_wb_connector *wbcon = kzalloc(sizeof(*wbcon), GFP_KERNEL);
4499+
struct drm_writeback_connector *wbcon = kzalloc(sizeof(*wbcon), GFP_KERNEL);
45004500

45014501
if (!wbcon) {
45024502
DRM_ERROR("KMS: Failed to allocate writeback connector\n");
45034503
continue;
45044504
}
45054505

4506-
if (amdgpu_dm_wb_connector_init(dm, wbcon, i)) {
4506+
if (amdgpu_dm_wb_connector_init(dm, wbcon)) {
45074507
DRM_ERROR("KMS: Failed to initialize writeback connector\n");
45084508
kfree(wbcon);
45094509
continue;
@@ -7592,7 +7592,6 @@ static int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm,
75927592
struct dc_link *link = dc_get_link_at_index(dc, link_index);
75937593
struct amdgpu_i2c_adapter *i2c;
75947594

7595-
/* Not needed for writeback connector */
75967595
link->priv = aconnector;
75977596

75987597

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
#include <drm/drm_crtc.h>
3333
#include <drm/drm_plane.h>
3434
#include "link_service_types.h"
35-
#include <drm/drm_writeback.h>
3635

3736
/*
3837
* This file contains the definition for amdgpu_display_manager
@@ -715,13 +714,6 @@ static inline void amdgpu_dm_set_mst_status(uint8_t *status,
715714

716715
#define to_amdgpu_dm_connector(x) container_of(x, struct amdgpu_dm_connector, base)
717716

718-
struct amdgpu_dm_wb_connector {
719-
struct drm_writeback_connector base;
720-
struct dc_link *link;
721-
};
722-
723-
#define to_amdgpu_dm_wb_connector(x) container_of(x, struct amdgpu_dm_wb_connector, base)
724-
725717
extern const struct amdgpu_ip_block_version dm_ip_block;
726718

727719
struct dm_plane_state {

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
#include "amdgpu_dm.h"
3131
#include "amdgpu_dm_wb.h"
3232
#include "amdgpu_display.h"
33-
#include "dc.h"
3433

3534
#include <drm/drm_atomic_state_helper.h>
3635
#include <drm/drm_modeset_helper_vtables.h>
@@ -184,18 +183,13 @@ static const struct drm_connector_helper_funcs amdgpu_dm_wb_conn_helper_funcs =
184183
};
185184

186185
int amdgpu_dm_wb_connector_init(struct amdgpu_display_manager *dm,
187-
struct amdgpu_dm_wb_connector *wbcon,
188-
uint32_t link_index)
186+
struct drm_writeback_connector *wbcon)
189187
{
190-
struct dc *dc = dm->dc;
191-
struct dc_link *link = dc_get_link_at_index(dc, link_index);
192188
int res = 0;
193189

194-
wbcon->link = link;
190+
drm_connector_helper_add(&wbcon->base, &amdgpu_dm_wb_conn_helper_funcs);
195191

196-
drm_connector_helper_add(&wbcon->base.base, &amdgpu_dm_wb_conn_helper_funcs);
197-
198-
res = drm_writeback_connector_init(&dm->adev->ddev, &wbcon->base,
192+
res = drm_writeback_connector_init(&dm->adev->ddev, wbcon,
199193
&amdgpu_dm_wb_connector_funcs,
200194
&amdgpu_dm_wb_encoder_helper_funcs,
201195
amdgpu_dm_wb_formats,
@@ -208,8 +202,8 @@ int amdgpu_dm_wb_connector_init(struct amdgpu_display_manager *dm,
208202
* Some of the properties below require access to state, like bpc.
209203
* Allocate some default initial connector state with our reset helper.
210204
*/
211-
if (wbcon->base.base.funcs->reset)
212-
wbcon->base.base.funcs->reset(&wbcon->base.base);
205+
if (wbcon->base.funcs->reset)
206+
wbcon->base.funcs->reset(&wbcon->base);
213207

214208
return 0;
215209
}

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
#include <drm/drm_writeback.h>
3131

3232
int amdgpu_dm_wb_connector_init(struct amdgpu_display_manager *dm,
33-
struct amdgpu_dm_wb_connector *dm_wbcon,
34-
uint32_t link_index);
33+
struct drm_writeback_connector *wbcon);
3534

3635
#endif

0 commit comments

Comments
 (0)