diff mbox series

[RFC,v5,05/10] drm/atomic: Add solid fill data to plane state dump

Message ID 20230728-solid-fill-v5-5-053dbefa909c@quicinc.com
State New
Headers show
Series Support for Solid Fill Planes | expand

Commit Message

Jessica Zhang July 28, 2023, 5:02 p.m. UTC
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(+)

Comments

Dmitry Baryshkov July 29, 2023, 12:05 a.m. UTC | #1
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);
>   
>
Jessica Zhang Aug. 7, 2023, 4:39 p.m. UTC | #2
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 mbox series

Patch

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);