diff options
author | Yifan Zhang <yifan1.zhang@amd.com> | 2022-06-10 20:43:25 +0800 |
---|---|---|
committer | Guchun Chen <guchun.chen@amd.com> | 2022-06-16 20:54:14 +0800 |
commit | 7d7f742677407231b322b22f55a4b52eb7e4fe8e (patch) | |
tree | 2b9c8580eb172b42ca483e498376d47280aa6e09 | |
parent | eef55e9b0422e7af835c69ce5a5ccf2c25f64956 (diff) |
drm/amdkcl: Check if display_info->edid_hdmi_rgb444_dc_modes is definedamd-22.20
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
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/dkms/config/config.h | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/dkms/m4/drm-display-info.m4 | 20 |
3 files changed, 27 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c index df8c7f25e61b..29003b3b5fc5 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c @@ -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 diff --git a/drivers/gpu/drm/amd/dkms/config/config.h b/drivers/gpu/drm/amd/dkms/config/config.h index 9fbcdef2b828..d151b0d7be26 100644 --- a/drivers/gpu/drm/amd/dkms/config/config.h +++ b/drivers/gpu/drm/amd/dkms/config/config.h @@ -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 diff --git a/drivers/gpu/drm/amd/dkms/m4/drm-display-info.m4 b/drivers/gpu/drm/amd/dkms/m4/drm-display-info.m4 index 6caf2e897645..30a3f0e477d7 100644 --- a/drivers/gpu/drm/amd/dkms/m4/drm-display-info.m4 +++ b/drivers/gpu/drm/amd/dkms/m4/drm-display-info.m4 @@ -31,6 +31,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 dnl # @@ -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 ]) |