Message ID | 20180702110729.8171-5-mahesh1.kumar@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Op 02-07-18 om 13:07 schreef Mahesh Kumar: > 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> > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 1 + > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 4 ++++ > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c | 16 ++++++++++++++++ > 3 files changed, 21 insertions(+) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index 66bd3cc3e387..dd97cbca0527 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -2563,6 +2563,7 @@ static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = { > .atomic_duplicate_state = dm_crtc_duplicate_state, > .atomic_destroy_state = dm_crtc_destroy_state, > .set_crc_source = amdgpu_dm_crtc_set_crc_source, > + .verify_crc_source = amdgpu_dm_crtc_verify_crc_source, > .enable_vblank = dm_enable_vblank, > .disable_vblank = dm_disable_vblank, > }; > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h > index a29dc35954c9..e43ed064dc46 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h > @@ -260,9 +260,13 @@ amdgpu_dm_remove_sink_from_freesync_module(struct drm_connector *connector); > #ifdef CONFIG_DEBUG_FS > int amdgpu_dm_crtc_set_crc_source(struct drm_crtc *crtc, const char *src_name, > 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); > #else > #define amdgpu_dm_crtc_set_crc_source NULL > +#define amdgpu_dm_crtc_verify_crc_source NULL > #define amdgpu_dm_crtc_handle_crc_irq(x) > #endif > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c > index 52f2c01349e3..dfcca594d52a 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c > @@ -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; > } > > +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, > size_t *values_cnt) > { Ack for merging this and 8/10 through drm-misc?
On 2018-07-03 06:19 AM, Maarten Lankhorst wrote: > Op 02-07-18 om 13:07 schreef Mahesh Kumar: >> 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> >> --- >> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 1 + >> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 4 ++++ >> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c | 16 ++++++++++++++++ >> 3 files changed, 21 insertions(+) >> >> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c >> index 66bd3cc3e387..dd97cbca0527 100644 >> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c >> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c >> @@ -2563,6 +2563,7 @@ static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = { >> .atomic_duplicate_state = dm_crtc_duplicate_state, >> .atomic_destroy_state = dm_crtc_destroy_state, >> .set_crc_source = amdgpu_dm_crtc_set_crc_source, >> + .verify_crc_source = amdgpu_dm_crtc_verify_crc_source, >> .enable_vblank = dm_enable_vblank, >> .disable_vblank = dm_disable_vblank, >> }; >> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h >> index a29dc35954c9..e43ed064dc46 100644 >> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h >> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h >> @@ -260,9 +260,13 @@ amdgpu_dm_remove_sink_from_freesync_module(struct drm_connector *connector); >> #ifdef CONFIG_DEBUG_FS >> int amdgpu_dm_crtc_set_crc_source(struct drm_crtc *crtc, const char *src_name, >> 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); >> #else >> #define amdgpu_dm_crtc_set_crc_source NULL >> +#define amdgpu_dm_crtc_verify_crc_source NULL >> #define amdgpu_dm_crtc_handle_crc_irq(x) >> #endif >> >> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c >> index 52f2c01349e3..dfcca594d52a 100644 >> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c >> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c >> @@ -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; >> } >> >> +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, >> size_t *values_cnt) >> { > > Ack for merging this and 8/10 through drm-misc? > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel >
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 66bd3cc3e387..dd97cbca0527 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -2563,6 +2563,7 @@ static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = { .atomic_duplicate_state = dm_crtc_duplicate_state, .atomic_destroy_state = dm_crtc_destroy_state, .set_crc_source = amdgpu_dm_crtc_set_crc_source, + .verify_crc_source = amdgpu_dm_crtc_verify_crc_source, .enable_vblank = dm_enable_vblank, .disable_vblank = dm_disable_vblank, }; diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h index a29dc35954c9..e43ed064dc46 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h @@ -260,9 +260,13 @@ amdgpu_dm_remove_sink_from_freesync_module(struct drm_connector *connector); #ifdef CONFIG_DEBUG_FS int amdgpu_dm_crtc_set_crc_source(struct drm_crtc *crtc, const char *src_name, 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); #else #define amdgpu_dm_crtc_set_crc_source NULL +#define amdgpu_dm_crtc_verify_crc_source NULL #define amdgpu_dm_crtc_handle_crc_irq(x) #endif diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c index 52f2c01349e3..dfcca594d52a 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c @@ -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; } +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, size_t *values_cnt) {