Re: [PATCH v3 1/2] drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, Dec 06, 2023 at 01:14:54PM +0300, Dmitry Baryshkov wrote:
> The drm_atomic_helper_check_wb_encoder_state() function doesn't use
> encoder for anything other than getting the drm_device instance. The
> function's description talks about checking the writeback connector
> state, not the encoder state. Moreover, there is no such thing as an
> encoder state, encoders generally do not have a state on their own.
> 
> Rename the function to drm_atomic_helper_check_wb_connector_state()
> and change arguments to drm_writeback_connector and drm_atomic_state.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
> ---
>  drivers/gpu/drm/drm_atomic_helper.c   | 16 +++++++++-------
>  drivers/gpu/drm/vkms/vkms_writeback.c |  5 ++++-
>  include/drm/drm_atomic_helper.h       |  5 ++---
>  3 files changed, 15 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index c3f677130def..c98a766ca3bd 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -795,9 +795,9 @@ drm_atomic_helper_check_modeset(struct drm_device *dev,
>  EXPORT_SYMBOL(drm_atomic_helper_check_modeset);
>  
>  /**
> - * drm_atomic_helper_check_wb_encoder_state() - Check writeback encoder state
> - * @encoder: encoder state to check
> - * @conn_state: connector state to check
> + * drm_atomic_helper_check_wb_connector_state() - Check writeback connector state
> + * @connector: corresponding connector
> + * @state: the driver state object
>   *
>   * Checks if the writeback connector state is valid, and returns an error if it
>   * isn't.
> @@ -806,9 +806,11 @@ EXPORT_SYMBOL(drm_atomic_helper_check_modeset);
>   * Zero for success or -errno
>   */
>  int
> -drm_atomic_helper_check_wb_encoder_state(struct drm_encoder *encoder,
> -					 struct drm_connector_state *conn_state)
> +drm_atomic_helper_check_wb_connector_state(struct drm_connector *connector,
> +					   struct drm_atomic_state *state)
>  {
> +	struct drm_connector_state *conn_state =
> +		drm_atomic_get_new_connector_state(state, connector);
>  	struct drm_writeback_job *wb_job = conn_state->writeback_job;
>  	struct drm_property_blob *pixel_format_blob;
>  	struct drm_framebuffer *fb;
> @@ -827,11 +829,11 @@ drm_atomic_helper_check_wb_encoder_state(struct drm_encoder *encoder,
>  		if (fb->format->format == formats[i])
>  			return 0;
>  
> -	drm_dbg_kms(encoder->dev, "Invalid pixel format %p4cc\n", &fb->format->format);
> +	drm_dbg_kms(connector->dev, "Invalid pixel format %p4cc\n", &fb->format->format);
>  
>  	return -EINVAL;
>  }
> -EXPORT_SYMBOL(drm_atomic_helper_check_wb_encoder_state);
> +EXPORT_SYMBOL(drm_atomic_helper_check_wb_connector_state);

Thanks for updating the prototype ...

>  /**
>   * drm_atomic_helper_check_plane_state() - Check plane state for validity
> diff --git a/drivers/gpu/drm/vkms/vkms_writeback.c b/drivers/gpu/drm/vkms/vkms_writeback.c
> index d7e63aa14663..23c4f7b61cb6 100644
> --- a/drivers/gpu/drm/vkms/vkms_writeback.c
> +++ b/drivers/gpu/drm/vkms/vkms_writeback.c
> @@ -34,6 +34,9 @@ static int vkms_wb_encoder_atomic_check(struct drm_encoder *encoder,
>  					struct drm_crtc_state *crtc_state,
>  					struct drm_connector_state *conn_state)
>  {
> +	struct drm_connector *connector = conn_state->connector;
> +	struct drm_writeback_connector *wb_conn =
> +		drm_connector_to_writeback(connector);
>  	struct drm_framebuffer *fb;
>  	const struct drm_display_mode *mode = &crtc_state->mode;
>  	int ret;
> @@ -48,7 +51,7 @@ static int vkms_wb_encoder_atomic_check(struct drm_encoder *encoder,
>  		return -EINVAL;
>  	}
>  
> -	ret = drm_atomic_helper_check_wb_encoder_state(encoder, conn_state);
> +	ret = drm_atomic_helper_check_wb_connector_state(wb_conn, conn_state->state);

... but it looks like you forgot to update it here

Maxime

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux