Skip to content

Commit

Permalink
drm/amdkcl: Check if display_info->edid_hdmi_rgb444_dc_modes is defined
Browse files Browse the repository at this point in the history
Check if display_info->edid_hdmi_rgb444_dc_modes is defined

introduced in v4.9-rc1-522171951761153172c75b94ae1f4bc9ab631745

Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com>
Signed-off-by: Ma Jun <majun@amd.com>
Change-Id: Ic2659a288fae2af696cf2c3d20c3e97491341c5f
  • Loading branch information
yifancom authored and Guchun Chen committed Jun 16, 2022
1 parent eef55e9 commit 7d7f742
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 0 deletions.
4 changes: 4 additions & 0 deletions drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,11 @@ int amdgpu_connector_get_monitor_bpc(struct drm_connector *connector)

/* Check if bpc is within clock limit. Try to degrade gracefully otherwise */
if ((bpc == 12) && (mode_clock * 3/2 > max_tmds_clock)) {
#ifndef HAVE_DRM_DISPLAY_INFO_EDID_HDMI_RGB444_DC_MODES
if ((connector->display_info.edid_hdmi_dc_modes & DRM_EDID_HDMI_DC_30) &&
#else
if ((connector->display_info.edid_hdmi_rgb444_dc_modes & DRM_EDID_HDMI_DC_30) &&
#endif
(mode_clock * 5/4 <= max_tmds_clock))
bpc = 10;
else
Expand Down
3 changes: 3 additions & 0 deletions drivers/gpu/drm/amd/dkms/config/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,9 @@
/* drm_dev_unplug() is available */
#define HAVE_DRM_DEV_UNPLUG 1

/* display_info->edid_hdmi_rgb444_dc_modes is available */
/* #undef HAVE_DRM_DISPLAY_INFO_EDID_HDMI_RGB444_DC_MODES */

/* display_info->hdmi.scdc.scrambling are available */
#define HAVE_DRM_DISPLAY_INFO_HDMI_SCDC_SCRAMBLING 1

Expand Down
20 changes: 20 additions & 0 deletions drivers/gpu/drm/amd/dkms/m4/drm-display-info.m4
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,25 @@ AC_DEFUN([AC_AMDGPU_DRM_DISPLAY_INFO_MAX_TMDS_CLOCK], [
])
])

dnl #
dnl # commit v4.9-rc1-522171951761153172c75b94ae1f4bc9ab631745
dnl # drm: Extract drm_connector.[hc]
dnl #
AC_DEFUN([AC_AMDGPU_DRM_DISPLAY_INFO_EDID_HDMI_RGB444_DC_MODES], [
AC_KERNEL_DO_BACKGROUND([
AC_KERNEL_TRY_COMPILE([
#include <drm/drm_connector.h>
], [
struct drm_display_info *display_info = NULL;
display_info->edid_hdmi_rgb444_dc_modes = 0;
], [
AC_DEFINE(HAVE_DRM_DISPLAY_INFO_EDID_HDMI_RGB444_DC_MODES, 1,
[display_info->edid_hdmi_rgb444_dc_modes is available])
])
])
])


dnl #
dnl # commit v5.6-rc2-1062-ga1d11d1efe4d
dnl # drm/edid: Add function to parse EDID descriptors for monitor range
Expand All @@ -52,5 +71,6 @@ AC_DEFUN([AC_AMDGPU_DRM_DISPLAY_INFO_MONITOR_RANGE], [
AC_DEFUN([AC_AMDGPU_DRM_DISPLAY_INFO], [
AC_AMDGPU_DRM_DISPLAY_INFO_HDMI_SCDC_SCRAMBLING
AC_AMDGPU_DRM_DISPLAY_INFO_MAX_TMDS_CLOCK
AC_AMDGPU_DRM_DISPLAY_INFO_EDID_HDMI_RGB444_DC_MODES
AC_AMDGPU_DRM_DISPLAY_INFO_MONITOR_RANGE
])

0 comments on commit 7d7f742

Please sign in to comment.