mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 03:35:36 +07:00
drm/amdgpu_dm/crc: Implement verify_crc_source callback
This patch implements "verify_crc_source" callback function for AMD drm driver. Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com> Cc: dri-devel@lists.freedesktop.org Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Acked-by: Leo Li <sunpeng.li@amd.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180713135942.25061-5-mahesh1.kumar@intel.com
This commit is contained in:
parent
b8d913c0ee
commit
3b3b8448eb
@ -2563,6 +2563,7 @@ static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = {
|
|||||||
.atomic_duplicate_state = dm_crtc_duplicate_state,
|
.atomic_duplicate_state = dm_crtc_duplicate_state,
|
||||||
.atomic_destroy_state = dm_crtc_destroy_state,
|
.atomic_destroy_state = dm_crtc_destroy_state,
|
||||||
.set_crc_source = amdgpu_dm_crtc_set_crc_source,
|
.set_crc_source = amdgpu_dm_crtc_set_crc_source,
|
||||||
|
.verify_crc_source = amdgpu_dm_crtc_verify_crc_source,
|
||||||
.enable_vblank = dm_enable_vblank,
|
.enable_vblank = dm_enable_vblank,
|
||||||
.disable_vblank = dm_disable_vblank,
|
.disable_vblank = dm_disable_vblank,
|
||||||
};
|
};
|
||||||
|
@ -260,9 +260,13 @@ amdgpu_dm_remove_sink_from_freesync_module(struct drm_connector *connector);
|
|||||||
#ifdef CONFIG_DEBUG_FS
|
#ifdef CONFIG_DEBUG_FS
|
||||||
int amdgpu_dm_crtc_set_crc_source(struct drm_crtc *crtc, const char *src_name,
|
int amdgpu_dm_crtc_set_crc_source(struct drm_crtc *crtc, const char *src_name,
|
||||||
size_t *values_cnt);
|
size_t *values_cnt);
|
||||||
|
int amdgpu_dm_crtc_verify_crc_source(struct drm_crtc *crtc,
|
||||||
|
const char *src_name,
|
||||||
|
size_t *values_cnt);
|
||||||
void amdgpu_dm_crtc_handle_crc_irq(struct drm_crtc *crtc);
|
void amdgpu_dm_crtc_handle_crc_irq(struct drm_crtc *crtc);
|
||||||
#else
|
#else
|
||||||
#define amdgpu_dm_crtc_set_crc_source NULL
|
#define amdgpu_dm_crtc_set_crc_source NULL
|
||||||
|
#define amdgpu_dm_crtc_verify_crc_source NULL
|
||||||
#define amdgpu_dm_crtc_handle_crc_irq(x)
|
#define amdgpu_dm_crtc_handle_crc_irq(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -46,6 +46,22 @@ static enum amdgpu_dm_pipe_crc_source dm_parse_crc_source(const char *source)
|
|||||||
return AMDGPU_DM_PIPE_CRC_SOURCE_INVALID;
|
return AMDGPU_DM_PIPE_CRC_SOURCE_INVALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
amdgpu_dm_crtc_verify_crc_source(struct drm_crtc *crtc, const char *src_name,
|
||||||
|
size_t *values_cnt)
|
||||||
|
{
|
||||||
|
enum amdgpu_dm_pipe_crc_source source = dm_parse_crc_source(src_name);
|
||||||
|
|
||||||
|
if (source < 0) {
|
||||||
|
DRM_DEBUG_DRIVER("Unknown CRC source %s for CRTC%d\n",
|
||||||
|
src_name, crtc->index);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
*values_cnt = 3;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int amdgpu_dm_crtc_set_crc_source(struct drm_crtc *crtc, const char *src_name,
|
int amdgpu_dm_crtc_set_crc_source(struct drm_crtc *crtc, const char *src_name,
|
||||||
size_t *values_cnt)
|
size_t *values_cnt)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user