소스 검색

drm/radeon/audio: don't set speaker allocation on DCE4+

It causes hangs on some asics.  Disable on DCE6+ as well
just to be on the safe side.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Alex Deucher 12 년 전
부모
커밋
555b1b651a
2개의 변경된 파일6개의 추가작업 그리고 0개의 파일을 삭제
  1. 3 0
      drivers/gpu/drm/radeon/dce6_afmt.c
  2. 3 0
      drivers/gpu/drm/radeon/evergreen_hdmi.c

+ 3 - 0
drivers/gpu/drm/radeon/dce6_afmt.c

@@ -113,6 +113,9 @@ void dce6_afmt_write_speaker_allocation(struct drm_encoder *encoder)
 	u8 *sadb;
 	u8 *sadb;
 	int sad_count;
 	int sad_count;
 
 
+	/* XXX: setting this register causes hangs on some asics */
+	return;
+
 	if (!dig->afmt->pin)
 	if (!dig->afmt->pin)
 		return;
 		return;
 
 

+ 3 - 0
drivers/gpu/drm/radeon/evergreen_hdmi.c

@@ -67,6 +67,9 @@ static void dce4_afmt_write_speaker_allocation(struct drm_encoder *encoder)
 	u8 *sadb;
 	u8 *sadb;
 	int sad_count;
 	int sad_count;
 
 
+	/* XXX: setting this register causes hangs on some asics */
+	return;
+
 	list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) {
 	list_for_each_entry(connector, &encoder->dev->mode_config.connector_list, head) {
 		if (connector->encoder == encoder)
 		if (connector->encoder == encoder)
 			radeon_connector = to_radeon_connector(connector);
 			radeon_connector = to_radeon_connector(connector);