Message ID | 20230828-solid-fill-v6-5-a820efcce852@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Support for Solid Fill Planes | expand |
On Mon, 28 Aug 2023 17:05:11 -0700 Jessica Zhang <quic_jesszhan@quicinc.com> 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 | 8 ++++++++ > include/drm/drm_plane.h | 3 +++ > 3 files changed, 15 insertions(+) > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index bcecb64ccfad..3cb599b3304a 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 559d101162ba..6244b622a21a 100644 > --- a/drivers/gpu/drm/drm_plane.c > +++ b/drivers/gpu/drm/drm_plane.c > @@ -1495,6 +1495,14 @@ __drm_plane_get_damage_clips(const struct drm_plane_state *state) > state->fb_damage_clips->data : NULL); > } > > +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); I'd recommend %08x format, so that leading zeroes are explicit. That makes it easier to see the difference between e.g. 0xffffffff and 0x0fffffff. Thanks, pq > +} > + > /** > * 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 49995c4be2ab..a58f84b6bd5e 100644 > --- a/include/drm/drm_plane.h > +++ b/include/drm/drm_plane.h > @@ -1001,6 +1001,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 29/08/2023 03:05, 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 | 8 ++++++++ > include/drm/drm_plane.h | 3 +++ > 3 files changed, 15 insertions(+) Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index bcecb64ccfad..3cb599b3304a 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 559d101162ba..6244b622a21a 100644 --- a/drivers/gpu/drm/drm_plane.c +++ b/drivers/gpu/drm/drm_plane.c @@ -1495,6 +1495,14 @@ __drm_plane_get_damage_clips(const struct drm_plane_state *state) state->fb_damage_clips->data : NULL); } +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 49995c4be2ab..a58f84b6bd5e 100644 --- a/include/drm/drm_plane.h +++ b/include/drm/drm_plane.h @@ -1001,6 +1001,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 | 8 ++++++++ include/drm/drm_plane.h | 3 +++ 3 files changed, 15 insertions(+)