Message ID | 20230728-solid-fill-v5-5-053dbefa909c@quicinc.com |
---|---|
State | New |
Headers | show |
Series | Support for Solid Fill Planes | expand |
On 28/07/2023 20:02, Jessica Zhang wrote: > Add solid_fill property data to the atomic plane state dump. > > Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com> > --- > drivers/gpu/drm/drm_atomic.c | 4 ++++ > drivers/gpu/drm/drm_plane.c | 10 ++++++++++ > include/drm/drm_plane.h | 3 +++ > 3 files changed, 17 insertions(+) > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index c38014abc590..1ee7d08041bc 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -717,6 +717,10 @@ static void drm_atomic_plane_print_state(struct drm_printer *p, > drm_printf(p, "\tfb=%u\n", state->fb ? state->fb->base.id : 0); > if (state->fb) > drm_framebuffer_print_info(p, 2, state->fb); > + drm_printf(p, "\tsolid_fill=%u\n", > + state->solid_fill_blob ? state->solid_fill_blob->base.id : 0); > + if (state->solid_fill_blob) > + drm_plane_solid_fill_print_info(p, 2, state); > drm_printf(p, "\tcrtc-pos=" DRM_RECT_FMT "\n", DRM_RECT_ARG(&dest)); > drm_printf(p, "\tsrc-pos=" DRM_RECT_FP_FMT "\n", DRM_RECT_FP_ARG(&src)); > drm_printf(p, "\trotation=%x\n", state->rotation); > diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c > index 4188b3491625..009d3ebd9b39 100644 > --- a/drivers/gpu/drm/drm_plane.c > +++ b/drivers/gpu/drm/drm_plane.c > @@ -1494,11 +1494,21 @@ const char *drm_plane_get_pixel_source_name(enum drm_plane_pixel_source pixel_so > return "NONE"; > case DRM_PLANE_PIXEL_SOURCE_FB: > return "fb"; > + case DRM_PLANE_PIXEL_SOURCE_SOLID_FILL: > + return "solid_fill"; > default: > return ""; > } > } This chunk should be a part of the previous commit. Or dropped completely once DRM_ENUM_NAME_FN is used. The rest LGTM. > > +void drm_plane_solid_fill_print_info(struct drm_printer *p, unsigned int indent, > + const struct drm_plane_state *state) > +{ > + drm_printf_indent(p, indent, "r=0x%x\n", state->solid_fill.r); > + drm_printf_indent(p, indent, "g=0x%x\n", state->solid_fill.g); > + drm_printf_indent(p, indent, "b=0x%x\n", state->solid_fill.b); > +} > + > /** > * drm_plane_get_damage_clips - Returns damage clips. > * @state: Plane state. > diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h > index 234fee3d5a95..303f01f0588c 100644 > --- a/include/drm/drm_plane.h > +++ b/include/drm/drm_plane.h > @@ -1000,6 +1000,9 @@ drm_plane_get_damage_clips_count(const struct drm_plane_state *state); > struct drm_mode_rect * > drm_plane_get_damage_clips(const struct drm_plane_state *state); > > +void drm_plane_solid_fill_print_info(struct drm_printer *p, unsigned int indent, > + const struct drm_plane_state *state); > + > int drm_plane_create_scaling_filter_property(struct drm_plane *plane, > unsigned int supported_filters); > >
On 7/28/2023 5:05 PM, Dmitry Baryshkov wrote: > On 28/07/2023 20:02, Jessica Zhang wrote: >> Add solid_fill property data to the atomic plane state dump. >> >> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com> >> --- >> drivers/gpu/drm/drm_atomic.c | 4 ++++ >> drivers/gpu/drm/drm_plane.c | 10 ++++++++++ >> include/drm/drm_plane.h | 3 +++ >> 3 files changed, 17 insertions(+) >> >> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c >> index c38014abc590..1ee7d08041bc 100644 >> --- a/drivers/gpu/drm/drm_atomic.c >> +++ b/drivers/gpu/drm/drm_atomic.c >> @@ -717,6 +717,10 @@ static void drm_atomic_plane_print_state(struct >> drm_printer *p, >> drm_printf(p, "\tfb=%u\n", state->fb ? state->fb->base.id : 0); >> if (state->fb) >> drm_framebuffer_print_info(p, 2, state->fb); >> + drm_printf(p, "\tsolid_fill=%u\n", >> + state->solid_fill_blob ? state->solid_fill_blob->base.id >> : 0); >> + if (state->solid_fill_blob) >> + drm_plane_solid_fill_print_info(p, 2, state); >> drm_printf(p, "\tcrtc-pos=" DRM_RECT_FMT "\n", >> DRM_RECT_ARG(&dest)); >> drm_printf(p, "\tsrc-pos=" DRM_RECT_FP_FMT "\n", >> DRM_RECT_FP_ARG(&src)); >> drm_printf(p, "\trotation=%x\n", state->rotation); >> diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c >> index 4188b3491625..009d3ebd9b39 100644 >> --- a/drivers/gpu/drm/drm_plane.c >> +++ b/drivers/gpu/drm/drm_plane.c >> @@ -1494,11 +1494,21 @@ const char >> *drm_plane_get_pixel_source_name(enum drm_plane_pixel_source pixel_so >> return "NONE"; >> case DRM_PLANE_PIXEL_SOURCE_FB: >> return "fb"; >> + case DRM_PLANE_PIXEL_SOURCE_SOLID_FILL: >> + return "solid_fill"; >> default: >> return ""; >> } >> } > > This chunk should be a part of the previous commit. Or dropped > completely once DRM_ENUM_NAME_FN is used. > > The rest LGTM. Hi Dmitry, Sounds good -- will drop this. Thanks, Jessica Zhang > >> +void drm_plane_solid_fill_print_info(struct drm_printer *p, unsigned >> int indent, >> + const struct drm_plane_state *state) >> +{ >> + drm_printf_indent(p, indent, "r=0x%x\n", state->solid_fill.r); >> + drm_printf_indent(p, indent, "g=0x%x\n", state->solid_fill.g); >> + drm_printf_indent(p, indent, "b=0x%x\n", state->solid_fill.b); >> +} >> + >> /** >> * drm_plane_get_damage_clips - Returns damage clips. >> * @state: Plane state. >> diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h >> index 234fee3d5a95..303f01f0588c 100644 >> --- a/include/drm/drm_plane.h >> +++ b/include/drm/drm_plane.h >> @@ -1000,6 +1000,9 @@ drm_plane_get_damage_clips_count(const struct >> drm_plane_state *state); >> struct drm_mode_rect * >> drm_plane_get_damage_clips(const struct drm_plane_state *state); >> +void drm_plane_solid_fill_print_info(struct drm_printer *p, unsigned >> int indent, >> + const struct drm_plane_state *state); >> + >> int drm_plane_create_scaling_filter_property(struct drm_plane *plane, >> unsigned int supported_filters); >> > > -- > With best wishes > Dmitry >
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index c38014abc590..1ee7d08041bc 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -717,6 +717,10 @@ static void drm_atomic_plane_print_state(struct drm_printer *p, drm_printf(p, "\tfb=%u\n", state->fb ? state->fb->base.id : 0); if (state->fb) drm_framebuffer_print_info(p, 2, state->fb); + drm_printf(p, "\tsolid_fill=%u\n", + state->solid_fill_blob ? state->solid_fill_blob->base.id : 0); + if (state->solid_fill_blob) + drm_plane_solid_fill_print_info(p, 2, state); drm_printf(p, "\tcrtc-pos=" DRM_RECT_FMT "\n", DRM_RECT_ARG(&dest)); drm_printf(p, "\tsrc-pos=" DRM_RECT_FP_FMT "\n", DRM_RECT_FP_ARG(&src)); drm_printf(p, "\trotation=%x\n", state->rotation); diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c index 4188b3491625..009d3ebd9b39 100644 --- a/drivers/gpu/drm/drm_plane.c +++ b/drivers/gpu/drm/drm_plane.c @@ -1494,11 +1494,21 @@ const char *drm_plane_get_pixel_source_name(enum drm_plane_pixel_source pixel_so return "NONE"; case DRM_PLANE_PIXEL_SOURCE_FB: return "fb"; + case DRM_PLANE_PIXEL_SOURCE_SOLID_FILL: + return "solid_fill"; default: return ""; } } +void drm_plane_solid_fill_print_info(struct drm_printer *p, unsigned int indent, + const struct drm_plane_state *state) +{ + drm_printf_indent(p, indent, "r=0x%x\n", state->solid_fill.r); + drm_printf_indent(p, indent, "g=0x%x\n", state->solid_fill.g); + drm_printf_indent(p, indent, "b=0x%x\n", state->solid_fill.b); +} + /** * drm_plane_get_damage_clips - Returns damage clips. * @state: Plane state. diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h index 234fee3d5a95..303f01f0588c 100644 --- a/include/drm/drm_plane.h +++ b/include/drm/drm_plane.h @@ -1000,6 +1000,9 @@ drm_plane_get_damage_clips_count(const struct drm_plane_state *state); struct drm_mode_rect * drm_plane_get_damage_clips(const struct drm_plane_state *state); +void drm_plane_solid_fill_print_info(struct drm_printer *p, unsigned int indent, + const struct drm_plane_state *state); + int drm_plane_create_scaling_filter_property(struct drm_plane *plane, unsigned int supported_filters);
Add solid_fill property data to the atomic plane state dump. Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com> --- drivers/gpu/drm/drm_atomic.c | 4 ++++ drivers/gpu/drm/drm_plane.c | 10 ++++++++++ include/drm/drm_plane.h | 3 +++ 3 files changed, 17 insertions(+)