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