On Tue, 7 Mar 2023 10:10:56 -0500 Harry Wentland <harry.wentl...@amd.com> wrote:
> v3: Fix kerneldocs (kernel test robot) > > Signed-off-by: Harry Wentland <harry.wentl...@amd.com> > Cc: Pekka Paalanen <ppaala...@gmail.com> > Cc: Sebastian Wick <sebastian.w...@redhat.com> > Cc: vitaly.pros...@amd.com > Cc: Uma Shankar <uma.shan...@intel.com> > Cc: Ville Syrjälä <ville.syrj...@linux.intel.com> > Cc: Joshua Ashton <jos...@froggi.es> > Cc: Jani Nikula <jani.nik...@linux.intel.com> > Cc: dri-de...@lists.freedesktop.org > Cc: amd-gfx@lists.freedesktop.org > Reviewed-By: Joshua Ashton <jos...@froggi.es> > --- > drivers/gpu/drm/drm_atomic.c | 1 + > drivers/gpu/drm/drm_connector.c | 15 +++++++++++++++ > include/drm/drm_connector.h | 1 + > 3 files changed, 17 insertions(+) > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index c0dc5858a723..d6d04c4ccfc0 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -1071,6 +1071,7 @@ static void drm_atomic_connector_print_state(struct > drm_printer *p, > drm_printf(p, "\tcrtc=%s\n", state->crtc ? state->crtc->name : > "(null)"); > drm_printf(p, "\tself_refresh_aware=%d\n", state->self_refresh_aware); > drm_printf(p, "\tmax_requested_bpc=%d\n", state->max_requested_bpc); > + drm_printf(p, "\tcolorspace=%s\n", > drm_get_colorspace_name(state->colorspace)); > > if (connector->connector_type == DRM_MODE_CONNECTOR_WRITEBACK) > if (state->writeback_job && state->writeback_job->fb) > diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c > index 7649f0ac454f..7ed48f9cbb20 100644 > --- a/drivers/gpu/drm/drm_connector.c > +++ b/drivers/gpu/drm/drm_connector.c > @@ -1044,6 +1044,21 @@ static const char * const colorspace_names[] = { > [DRM_MODE_COLORIMETRY_BT601_YCC] = "BT601_YCC", > }; > > +/** > + * drm_get_colorspace_name - return a string for color encoding > + * @colorspace: color space to compute name of > + * > + * In contrast to the other drm_get_*_name functions this one here returns a > + * const pointer and hence is threadsafe. > + */ > +const char *drm_get_colorspace_name(enum drm_colorspace colorspace) > +{ > + if (WARN_ON(colorspace >= ARRAY_SIZE(colorspace_names))) > + return "unknown"; > + > + return colorspace_names[colorspace]; Should this protect against returning NULL? Well, I suppose that cannot happen right now, and probably holes will not be added in the enum. But should kernel code still be more paranoid? Thanks, pq > +} > + > static const u32 hdmi_colorspaces = > BIT(DRM_MODE_COLORIMETRY_SMPTE_170M_YCC) | > BIT(DRM_MODE_COLORIMETRY_BT709_YCC) | > diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h > index 46c064d9ffef..c77e42408522 100644 > --- a/include/drm/drm_connector.h > +++ b/include/drm/drm_connector.h > @@ -1970,6 +1970,7 @@ void drm_connector_list_iter_end(struct > drm_connector_list_iter *iter); > > bool drm_connector_has_possible_encoder(struct drm_connector *connector, > struct drm_encoder *encoder); > +const char *drm_get_colorspace_name(enum drm_colorspace colorspace); > > /** > * drm_for_each_connector_iter - connector_list iterator macro
pgpZ8zS1Vd7e2.pgp
Description: OpenPGP digital signature