Skip to content

Commit a7ddd22

Browse files
Rodrigo Siqueiraalexdeucher
authored andcommitted
Revert "drm/amd/display: Expose new CRC window property"
This reverts commit c920888. Cc: Wayne Lin <Wayne.Lin@amd.com> Cc: Alexander Deucher <Alexander.Deucher@amd.com> Cc: Harry Wentland <Harry.Wentland@amd.com> Cc: Roman Li <Roman.Li@amd.com> Cc: Bindu R <Bindu.R@amd.com> Cc: Daniel Vetter <daniel@ffwll.ch> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Wayne Lin <Wayne.Lin@amd.com> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 3c517ca commit a7ddd22

4 files changed

Lines changed: 10 additions & 210 deletions

File tree

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

Lines changed: 8 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -939,41 +939,6 @@ static void mmhub_read_system_context(struct amdgpu_device *adev, struct dc_phy_
939939
}
940940
#endif
941941

942-
#ifdef CONFIG_DEBUG_FS
943-
static int create_crtc_crc_properties(struct amdgpu_display_manager *dm)
944-
{
945-
dm->crc_win_x_start_property =
946-
drm_property_create_range(adev_to_drm(dm->adev),
947-
DRM_MODE_PROP_ATOMIC,
948-
"AMD_CRC_WIN_X_START", 0, U16_MAX);
949-
if (!dm->crc_win_x_start_property)
950-
return -ENOMEM;
951-
952-
dm->crc_win_y_start_property =
953-
drm_property_create_range(adev_to_drm(dm->adev),
954-
DRM_MODE_PROP_ATOMIC,
955-
"AMD_CRC_WIN_Y_START", 0, U16_MAX);
956-
if (!dm->crc_win_y_start_property)
957-
return -ENOMEM;
958-
959-
dm->crc_win_x_end_property =
960-
drm_property_create_range(adev_to_drm(dm->adev),
961-
DRM_MODE_PROP_ATOMIC,
962-
"AMD_CRC_WIN_X_END", 0, U16_MAX);
963-
if (!dm->crc_win_x_end_property)
964-
return -ENOMEM;
965-
966-
dm->crc_win_y_end_property =
967-
drm_property_create_range(adev_to_drm(dm->adev),
968-
DRM_MODE_PROP_ATOMIC,
969-
"AMD_CRC_WIN_Y_END", 0, U16_MAX);
970-
if (!dm->crc_win_y_end_property)
971-
return -ENOMEM;
972-
973-
return 0;
974-
}
975-
#endif
976-
977942
static int amdgpu_dm_init(struct amdgpu_device *adev)
978943
{
979944
struct dc_init_data init_data;
@@ -1120,10 +1085,6 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
11201085

11211086
dc_init_callbacks(adev->dm.dc, &init_params);
11221087
}
1123-
#endif
1124-
#ifdef CONFIG_DEBUG_FS
1125-
if (create_crtc_crc_properties(&adev->dm))
1126-
DRM_ERROR("amdgpu: failed to create crc property.\n");
11271088
#endif
11281089
if (amdgpu_dm_initialize_drm_device(adev)) {
11291090
DRM_ERROR(
@@ -5333,64 +5294,12 @@ dm_crtc_duplicate_state(struct drm_crtc *crtc)
53335294
state->crc_src = cur->crc_src;
53345295
state->cm_has_degamma = cur->cm_has_degamma;
53355296
state->cm_is_degamma_srgb = cur->cm_is_degamma_srgb;
5336-
#ifdef CONFIG_DEBUG_FS
5337-
state->crc_window = cur->crc_window;
5338-
#endif
5297+
53395298
/* TODO Duplicate dc_stream after objects are stream object is flattened */
53405299

53415300
return &state->base;
53425301
}
53435302

5344-
#ifdef CONFIG_DEBUG_FS
5345-
static int amdgpu_dm_crtc_atomic_set_property(struct drm_crtc *crtc,
5346-
struct drm_crtc_state *crtc_state,
5347-
struct drm_property *property,
5348-
uint64_t val)
5349-
{
5350-
struct drm_device *dev = crtc->dev;
5351-
struct amdgpu_device *adev = drm_to_adev(dev);
5352-
struct dm_crtc_state *dm_new_state =
5353-
to_dm_crtc_state(crtc_state);
5354-
5355-
if (property == adev->dm.crc_win_x_start_property)
5356-
dm_new_state->crc_window.x_start = val;
5357-
else if (property == adev->dm.crc_win_y_start_property)
5358-
dm_new_state->crc_window.y_start = val;
5359-
else if (property == adev->dm.crc_win_x_end_property)
5360-
dm_new_state->crc_window.x_end = val;
5361-
else if (property == adev->dm.crc_win_y_end_property)
5362-
dm_new_state->crc_window.y_end = val;
5363-
else
5364-
return -EINVAL;
5365-
5366-
return 0;
5367-
}
5368-
5369-
static int amdgpu_dm_crtc_atomic_get_property(struct drm_crtc *crtc,
5370-
const struct drm_crtc_state *state,
5371-
struct drm_property *property,
5372-
uint64_t *val)
5373-
{
5374-
struct drm_device *dev = crtc->dev;
5375-
struct amdgpu_device *adev = drm_to_adev(dev);
5376-
struct dm_crtc_state *dm_state =
5377-
to_dm_crtc_state(state);
5378-
5379-
if (property == adev->dm.crc_win_x_start_property)
5380-
*val = dm_state->crc_window.x_start;
5381-
else if (property == adev->dm.crc_win_y_start_property)
5382-
*val = dm_state->crc_window.y_start;
5383-
else if (property == adev->dm.crc_win_x_end_property)
5384-
*val = dm_state->crc_window.x_end;
5385-
else if (property == adev->dm.crc_win_y_end_property)
5386-
*val = dm_state->crc_window.y_end;
5387-
else
5388-
return -EINVAL;
5389-
5390-
return 0;
5391-
}
5392-
#endif
5393-
53945303
static inline int dm_set_vupdate_irq(struct drm_crtc *crtc, bool enable)
53955304
{
53965305
enum dc_irq_source irq_source;
@@ -5457,10 +5366,6 @@ static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = {
54575366
.enable_vblank = dm_enable_vblank,
54585367
.disable_vblank = dm_disable_vblank,
54595368
.get_vblank_timestamp = drm_crtc_vblank_helper_get_vblank_timestamp,
5460-
#ifdef CONFIG_DEBUG_FS
5461-
.atomic_set_property = amdgpu_dm_crtc_atomic_set_property,
5462-
.atomic_get_property = amdgpu_dm_crtc_atomic_get_property,
5463-
#endif
54645369
};
54655370

54665371
static enum drm_connector_status
@@ -6662,25 +6567,6 @@ static int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
66626567
return 0;
66636568
}
66646569

6665-
#ifdef CONFIG_DEBUG_FS
6666-
static void attach_crtc_crc_properties(struct amdgpu_display_manager *dm,
6667-
struct amdgpu_crtc *acrtc)
6668-
{
6669-
drm_object_attach_property(&acrtc->base.base,
6670-
dm->crc_win_x_start_property,
6671-
0);
6672-
drm_object_attach_property(&acrtc->base.base,
6673-
dm->crc_win_y_start_property,
6674-
0);
6675-
drm_object_attach_property(&acrtc->base.base,
6676-
dm->crc_win_x_end_property,
6677-
0);
6678-
drm_object_attach_property(&acrtc->base.base,
6679-
dm->crc_win_y_end_property,
6680-
0);
6681-
}
6682-
#endif
6683-
66846570
static int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
66856571
struct drm_plane *plane,
66866572
uint32_t crtc_index)
@@ -6728,9 +6614,7 @@ static int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
67286614
drm_crtc_enable_color_mgmt(&acrtc->base, MAX_COLOR_LUT_ENTRIES,
67296615
true, MAX_COLOR_LUT_ENTRIES);
67306616
drm_mode_crtc_set_gamma_size(&acrtc->base, MAX_COLOR_LEGACY_LUT_ENTRIES);
6731-
#ifdef CONFIG_DEBUG_FS
6732-
attach_crtc_crc_properties(dm, acrtc);
6733-
#endif
6617+
67346618
return 0;
67356619

67366620
fail:
@@ -8367,7 +8251,6 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
83678251
*/
83688252
for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
83698253
struct amdgpu_crtc *acrtc = to_amdgpu_crtc(crtc);
8370-
bool configure_crc = false;
83718254

83728255
dm_new_crtc_state = to_dm_crtc_state(new_crtc_state);
83738256

@@ -8377,30 +8260,21 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
83778260
dc_stream_retain(dm_new_crtc_state->stream);
83788261
acrtc->dm_irq_params.stream = dm_new_crtc_state->stream;
83798262
manage_dm_interrupts(adev, acrtc, true);
8380-
}
8263+
83818264
#ifdef CONFIG_DEBUG_FS
8382-
if (new_crtc_state->active &&
8383-
amdgpu_dm_is_valid_crc_source(dm_new_crtc_state->crc_src)) {
83848265
/**
83858266
* Frontend may have changed so reapply the CRC capture
83868267
* settings for the stream.
83878268
*/
83888269
dm_new_crtc_state = to_dm_crtc_state(new_crtc_state);
8389-
dm_old_crtc_state = to_dm_crtc_state(old_crtc_state);
8390-
8391-
if (amdgpu_dm_crc_window_is_default(dm_new_crtc_state)) {
8392-
if (!old_crtc_state->active || drm_atomic_crtc_needs_modeset(new_crtc_state))
8393-
configure_crc = true;
8394-
} else {
8395-
if (amdgpu_dm_crc_window_changed(dm_new_crtc_state, dm_old_crtc_state))
8396-
configure_crc = true;
8397-
}
83988270

8399-
if (configure_crc)
8271+
if (amdgpu_dm_is_valid_crc_source(dm_new_crtc_state->crc_src)) {
84008272
amdgpu_dm_crtc_configure_crc_source(
8401-
crtc, dm_new_crtc_state, dm_new_crtc_state->crc_src);
8402-
}
8273+
crtc, dm_new_crtc_state,
8274+
dm_new_crtc_state->crc_src);
8275+
}
84038276
#endif
8277+
}
84048278
}
84058279

84068280
for_each_new_crtc_in_state(state, crtc, new_crtc_state, j)

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

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -336,13 +336,6 @@ struct amdgpu_display_manager {
336336
*/
337337
const struct gpu_info_soc_bounding_box_v1_0 *soc_bounding_box;
338338

339-
#ifdef CONFIG_DEBUG_FS
340-
/* set the crc calculation window*/
341-
struct drm_property *crc_win_x_start_property;
342-
struct drm_property *crc_win_y_start_property;
343-
struct drm_property *crc_win_x_end_property;
344-
struct drm_property *crc_win_y_end_property;
345-
#endif
346339
/**
347340
* @mst_encoders:
348341
*
@@ -429,15 +422,6 @@ struct dm_plane_state {
429422
struct dc_plane_state *dc_state;
430423
};
431424

432-
#ifdef CONFIG_DEBUG_FS
433-
struct crc_rec {
434-
uint16_t x_start;
435-
uint16_t y_start;
436-
uint16_t x_end;
437-
uint16_t y_end;
438-
};
439-
#endif
440-
441425
struct dm_crtc_state {
442426
struct drm_crtc_state base;
443427
struct dc_stream_state *stream;
@@ -460,9 +444,6 @@ struct dm_crtc_state {
460444
struct dc_info_packet vrr_infopacket;
461445

462446
int abm_level;
463-
#ifdef CONFIG_DEBUG_FS
464-
struct crc_rec crc_window;
465-
#endif
466447
};
467448

468449
#define to_dm_crtc_state(x) container_of(x, struct dm_crtc_state, base)

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

Lines changed: 2 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -81,41 +81,6 @@ const char *const *amdgpu_dm_crtc_get_crc_sources(struct drm_crtc *crtc,
8181
return pipe_crc_sources;
8282
}
8383

84-
static void amdgpu_dm_set_crc_window_default(struct dm_crtc_state *dm_crtc_state)
85-
{
86-
dm_crtc_state->crc_window.x_start = 0;
87-
dm_crtc_state->crc_window.y_start = 0;
88-
dm_crtc_state->crc_window.x_end = 0;
89-
dm_crtc_state->crc_window.y_end = 0;
90-
}
91-
92-
bool amdgpu_dm_crc_window_is_default(struct dm_crtc_state *dm_crtc_state)
93-
{
94-
bool ret = true;
95-
96-
if ((dm_crtc_state->crc_window.x_start != 0) ||
97-
(dm_crtc_state->crc_window.y_start != 0) ||
98-
(dm_crtc_state->crc_window.x_end != 0) ||
99-
(dm_crtc_state->crc_window.y_end != 0))
100-
ret = false;
101-
102-
return ret;
103-
}
104-
105-
bool amdgpu_dm_crc_window_changed(struct dm_crtc_state *dm_new_crtc_state,
106-
struct dm_crtc_state *dm_old_crtc_state)
107-
{
108-
bool ret = false;
109-
110-
if ((dm_new_crtc_state->crc_window.x_start != dm_old_crtc_state->crc_window.x_start) ||
111-
(dm_new_crtc_state->crc_window.y_start != dm_old_crtc_state->crc_window.y_start) ||
112-
(dm_new_crtc_state->crc_window.x_end != dm_old_crtc_state->crc_window.x_end) ||
113-
(dm_new_crtc_state->crc_window.y_end != dm_old_crtc_state->crc_window.y_end))
114-
ret = true;
115-
116-
return ret;
117-
}
118-
11984
int
12085
amdgpu_dm_crtc_verify_crc_source(struct drm_crtc *crtc, const char *src_name,
12186
size_t *values_cnt)
@@ -140,7 +105,6 @@ int amdgpu_dm_crtc_configure_crc_source(struct drm_crtc *crtc,
140105
struct dc_stream_state *stream_state = dm_crtc_state->stream;
141106
bool enable = amdgpu_dm_is_valid_crc_source(source);
142107
int ret = 0;
143-
struct crc_params *crc_window = NULL, tmp_window;
144108

145109
/* Configuration will be deferred to stream enable. */
146110
if (!stream_state)
@@ -149,25 +113,9 @@ int amdgpu_dm_crtc_configure_crc_source(struct drm_crtc *crtc,
149113
mutex_lock(&adev->dm.dc_lock);
150114

151115
/* Enable CRTC CRC generation if necessary. */
152-
if (dm_is_crc_source_crtc(source) || source == AMDGPU_DM_PIPE_CRC_SOURCE_NONE) {
153-
if (!enable)
154-
amdgpu_dm_set_crc_window_default(dm_crtc_state);
155-
156-
if (!amdgpu_dm_crc_window_is_default(dm_crtc_state)) {
157-
crc_window = &tmp_window;
158-
159-
tmp_window.windowa_x_start = dm_crtc_state->crc_window.x_start;
160-
tmp_window.windowa_y_start = dm_crtc_state->crc_window.y_start;
161-
tmp_window.windowa_x_end = dm_crtc_state->crc_window.x_end;
162-
tmp_window.windowa_y_end = dm_crtc_state->crc_window.y_end;
163-
tmp_window.windowb_x_start = dm_crtc_state->crc_window.x_start;
164-
tmp_window.windowb_y_start = dm_crtc_state->crc_window.y_start;
165-
tmp_window.windowb_x_end = dm_crtc_state->crc_window.x_end;
166-
tmp_window.windowb_y_end = dm_crtc_state->crc_window.y_end;
167-
}
168-
116+
if (dm_is_crc_source_crtc(source)) {
169117
if (!dc_stream_configure_crc(stream_state->ctx->dc,
170-
stream_state, crc_window, enable, enable)) {
118+
stream_state, NULL, enable, enable)) {
171119
ret = -EINVAL;
172120
goto unlock;
173121
}

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,6 @@ static inline bool amdgpu_dm_is_valid_crc_source(enum amdgpu_dm_pipe_crc_source
4747

4848
/* amdgpu_dm_crc.c */
4949
#ifdef CONFIG_DEBUG_FS
50-
bool amdgpu_dm_crc_window_is_default(struct dm_crtc_state *dm_crtc_state);
51-
bool amdgpu_dm_crc_window_changed(struct dm_crtc_state *dm_new_crtc_state,
52-
struct dm_crtc_state *dm_old_crtc_state);
5350
int amdgpu_dm_crtc_configure_crc_source(struct drm_crtc *crtc,
5451
struct dm_crtc_state *dm_crtc_state,
5552
enum amdgpu_dm_pipe_crc_source source);

0 commit comments

Comments
 (0)