| .. | .. |
|---|
| 23 | 23 | */ |
|---|
| 24 | 24 | |
|---|
| 25 | 25 | #include <linux/gcd.h> |
|---|
| 26 | | -#include <drm/drmP.h> |
|---|
| 26 | + |
|---|
| 27 | 27 | #include <drm/drm_crtc.h> |
|---|
| 28 | 28 | #include "radeon.h" |
|---|
| 29 | 29 | #include "atom.h" |
|---|
| .. | .. |
|---|
| 288 | 288 | } else { |
|---|
| 289 | 289 | rdev->audio.funcs = &r600_funcs; |
|---|
| 290 | 290 | rdev->audio.hdmi_funcs = &r600_hdmi_funcs; |
|---|
| 291 | | - rdev->audio.dp_funcs = 0; |
|---|
| 291 | + rdev->audio.dp_funcs = NULL; |
|---|
| 292 | 292 | } |
|---|
| 293 | 293 | } |
|---|
| 294 | 294 | |
|---|
| .. | .. |
|---|
| 367 | 367 | return; |
|---|
| 368 | 368 | |
|---|
| 369 | 369 | sad_count = drm_edid_to_sad(radeon_connector_edid(connector), &sads); |
|---|
| 370 | | - if (sad_count <= 0) { |
|---|
| 370 | + if (sad_count < 0) |
|---|
| 371 | 371 | DRM_ERROR("Couldn't read SADs: %d\n", sad_count); |
|---|
| 372 | + if (sad_count <= 0) |
|---|
| 372 | 373 | return; |
|---|
| 373 | | - } |
|---|
| 374 | 374 | BUG_ON(!sads); |
|---|
| 375 | 375 | |
|---|
| 376 | 376 | if (radeon_encoder->audio && radeon_encoder->audio->write_sad_regs) |
|---|
| .. | .. |
|---|
| 516 | 516 | if (!connector) |
|---|
| 517 | 517 | return -EINVAL; |
|---|
| 518 | 518 | |
|---|
| 519 | | - err = drm_hdmi_avi_infoframe_from_display_mode(&frame, mode, false); |
|---|
| 519 | + err = drm_hdmi_avi_infoframe_from_display_mode(&frame, connector, mode); |
|---|
| 520 | 520 | if (err < 0) { |
|---|
| 521 | 521 | DRM_ERROR("failed to setup AVI infoframe: %d\n", err); |
|---|
| 522 | 522 | return err; |
|---|
| 523 | 523 | } |
|---|
| 524 | 524 | |
|---|
| 525 | 525 | if (radeon_encoder->output_csc != RADEON_OUTPUT_CSC_BYPASS) { |
|---|
| 526 | | - if (drm_rgb_quant_range_selectable(radeon_connector_edid(connector))) { |
|---|
| 527 | | - if (radeon_encoder->output_csc == RADEON_OUTPUT_CSC_TVRGB) |
|---|
| 528 | | - frame.quantization_range = HDMI_QUANTIZATION_RANGE_LIMITED; |
|---|
| 529 | | - else |
|---|
| 530 | | - frame.quantization_range = HDMI_QUANTIZATION_RANGE_FULL; |
|---|
| 531 | | - } else { |
|---|
| 532 | | - frame.quantization_range = HDMI_QUANTIZATION_RANGE_DEFAULT; |
|---|
| 533 | | - } |
|---|
| 526 | + drm_hdmi_avi_infoframe_quant_range(&frame, connector, mode, |
|---|
| 527 | + radeon_encoder->output_csc == RADEON_OUTPUT_CSC_TVRGB ? |
|---|
| 528 | + HDMI_QUANTIZATION_RANGE_LIMITED : |
|---|
| 529 | + HDMI_QUANTIZATION_RANGE_FULL); |
|---|
| 534 | 530 | } |
|---|
| 535 | 531 | |
|---|
| 536 | 532 | err = hdmi_avi_infoframe_pack(&frame, buffer, sizeof(buffer)); |
|---|