* [PATCH v2 0/2] drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state
@ 2023-12-05 2:31 ` Dmitry Baryshkov
0 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-12-05 2:31 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Daniel Vetter, Rodrigo Siqueira, Melissa Wen, Maíra Canal,
Haneen Mohammed
Cc: Rob Clark, Abhinav Kumar, dri-devel, freedreno, linux-arm-msm
The function drm_atomic_helper_check_wb_encoder_state() doesn't use
drm_encoder for anything sensible. Internally it checks
drm_writeback_connector's state. Thus it makes sense to let this
function accept drm_writeback_connector object and the drm_atomic_state
and rename it to drm_atomic_helper_check_wb_connector_state().
Maxime suggested that the function should take drm_connector, but I
think that drm_writeback_connector is more appropriate, following the
purpose of the function.
Changes since v1:
- Make the function accept drm_writeback_connector and drm_atomic_state
(Maxime)
- Added a patch for VKMS to move atomic_check of WB path from encoder to
connector helpers.
Dmitry Baryshkov (2):
drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state
drm/vkms: move wb's atomic_check from encoder to connector
drivers/gpu/drm/drm_atomic_helper.c | 16 +++++++++-------
drivers/gpu/drm/vkms/vkms_writeback.c | 27 +++++++++++++++++----------
include/drm/drm_atomic_helper.h | 5 ++---
3 files changed, 28 insertions(+), 20 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 0/2] drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state
@ 2023-12-05 2:31 ` Dmitry Baryshkov
0 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-12-05 2:31 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Daniel Vetter, Rodrigo Siqueira, Melissa Wen, Maíra Canal,
Haneen Mohammed
Cc: linux-arm-msm, freedreno, Abhinav Kumar, dri-devel
The function drm_atomic_helper_check_wb_encoder_state() doesn't use
drm_encoder for anything sensible. Internally it checks
drm_writeback_connector's state. Thus it makes sense to let this
function accept drm_writeback_connector object and the drm_atomic_state
and rename it to drm_atomic_helper_check_wb_connector_state().
Maxime suggested that the function should take drm_connector, but I
think that drm_writeback_connector is more appropriate, following the
purpose of the function.
Changes since v1:
- Make the function accept drm_writeback_connector and drm_atomic_state
(Maxime)
- Added a patch for VKMS to move atomic_check of WB path from encoder to
connector helpers.
Dmitry Baryshkov (2):
drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state
drm/vkms: move wb's atomic_check from encoder to connector
drivers/gpu/drm/drm_atomic_helper.c | 16 +++++++++-------
drivers/gpu/drm/vkms/vkms_writeback.c | 27 +++++++++++++++++----------
include/drm/drm_atomic_helper.h | 5 ++---
3 files changed, 28 insertions(+), 20 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/2] drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state
2023-12-05 2:31 ` Dmitry Baryshkov
@ 2023-12-05 2:31 ` Dmitry Baryshkov
-1 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-12-05 2:31 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Daniel Vetter, Rodrigo Siqueira, Melissa Wen, Maíra Canal,
Haneen Mohammed
Cc: Rob Clark, Abhinav Kumar, dri-devel, freedreno, linux-arm-msm
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@linaro.org>
---
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..67489b3561ec 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_writeback_connector *wb_conn,
+ struct drm_atomic_state *state)
{
+ struct drm_connector_state *conn_state =
+ drm_atomic_get_new_connector_state(state, &wb_conn->base);
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(wb_conn->base.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);
/**
* 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);
if (ret < 0)
return ret;
diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h
index 536a0b0091c3..1ab448217732 100644
--- a/include/drm/drm_atomic_helper.h
+++ b/include/drm/drm_atomic_helper.h
@@ -49,9 +49,8 @@ struct drm_private_state;
int drm_atomic_helper_check_modeset(struct drm_device *dev,
struct drm_atomic_state *state);
-int
-drm_atomic_helper_check_wb_encoder_state(struct drm_encoder *encoder,
- struct drm_connector_state *conn_state);
+int drm_atomic_helper_check_wb_connector_state(struct drm_writeback_connector *wb_conn,
+ struct drm_atomic_state *state);
int drm_atomic_helper_check_plane_state(struct drm_plane_state *plane_state,
const struct drm_crtc_state *crtc_state,
int min_scale,
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 1/2] drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state
@ 2023-12-05 2:31 ` Dmitry Baryshkov
0 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-12-05 2:31 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Daniel Vetter, Rodrigo Siqueira, Melissa Wen, Maíra Canal,
Haneen Mohammed
Cc: linux-arm-msm, freedreno, Abhinav Kumar, dri-devel
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@linaro.org>
---
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..67489b3561ec 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_writeback_connector *wb_conn,
+ struct drm_atomic_state *state)
{
+ struct drm_connector_state *conn_state =
+ drm_atomic_get_new_connector_state(state, &wb_conn->base);
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(wb_conn->base.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);
/**
* 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);
if (ret < 0)
return ret;
diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h
index 536a0b0091c3..1ab448217732 100644
--- a/include/drm/drm_atomic_helper.h
+++ b/include/drm/drm_atomic_helper.h
@@ -49,9 +49,8 @@ struct drm_private_state;
int drm_atomic_helper_check_modeset(struct drm_device *dev,
struct drm_atomic_state *state);
-int
-drm_atomic_helper_check_wb_encoder_state(struct drm_encoder *encoder,
- struct drm_connector_state *conn_state);
+int drm_atomic_helper_check_wb_connector_state(struct drm_writeback_connector *wb_conn,
+ struct drm_atomic_state *state);
int drm_atomic_helper_check_plane_state(struct drm_plane_state *plane_state,
const struct drm_crtc_state *crtc_state,
int min_scale,
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/2] drm/vkms: move wb's atomic_check from encoder to connector
2023-12-05 2:31 ` Dmitry Baryshkov
@ 2023-12-05 2:31 ` Dmitry Baryshkov
-1 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-12-05 2:31 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Daniel Vetter, Rodrigo Siqueira, Melissa Wen, Maíra Canal,
Haneen Mohammed
Cc: Rob Clark, Abhinav Kumar, dri-devel, freedreno, linux-arm-msm
As the renamed drm_atomic_helper_check_wb_connector_state() now accepts
drm_writeback_connector as the first argument (instead of drm_encoder),
move the VKMS writeback atomic_check from drm_encoder_helper_funcs to
drm_connector_helper_funcs. Also drop the vkms_wb_encoder_helper_funcs,
which have become empty now.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
drivers/gpu/drm/vkms/vkms_writeback.c | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/vkms/vkms_writeback.c b/drivers/gpu/drm/vkms/vkms_writeback.c
index 23c4f7b61cb6..ebb5183794db 100644
--- a/drivers/gpu/drm/vkms/vkms_writeback.c
+++ b/drivers/gpu/drm/vkms/vkms_writeback.c
@@ -30,20 +30,27 @@ static const struct drm_connector_funcs vkms_wb_connector_funcs = {
.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
};
-static int vkms_wb_encoder_atomic_check(struct drm_encoder *encoder,
- struct drm_crtc_state *crtc_state,
- struct drm_connector_state *conn_state)
+static int vkms_wb_atomic_check(struct drm_connector *connector,
+ struct drm_atomic_state *state)
{
- struct drm_connector *connector = conn_state->connector;
+ struct drm_connector_state *conn_state =
+ drm_atomic_get_new_connector_state(state, connector);
struct drm_writeback_connector *wb_conn =
drm_connector_to_writeback(connector);
+ struct drm_crtc_state *crtc_state;
struct drm_framebuffer *fb;
- const struct drm_display_mode *mode = &crtc_state->mode;
+ const struct drm_display_mode *mode;
int ret;
if (!conn_state->writeback_job || !conn_state->writeback_job->fb)
return 0;
+ if (!conn_state->crtc)
+ return 0;
+
+ crtc_state = drm_atomic_get_new_crtc_state(state, conn_state->crtc);
+ mode = &crtc_state->mode;
+
fb = conn_state->writeback_job->fb;
if (fb->width != mode->hdisplay || fb->height != mode->vdisplay) {
DRM_DEBUG_KMS("Invalid framebuffer size %ux%u\n",
@@ -51,17 +58,13 @@ static int vkms_wb_encoder_atomic_check(struct drm_encoder *encoder,
return -EINVAL;
}
- ret = drm_atomic_helper_check_wb_connector_state(wb_conn, conn_state->state);
+ ret = drm_atomic_helper_check_wb_connector_state(wb_conn, state);
if (ret < 0)
return ret;
return 0;
}
-static const struct drm_encoder_helper_funcs vkms_wb_encoder_helper_funcs = {
- .atomic_check = vkms_wb_encoder_atomic_check,
-};
-
static int vkms_wb_connector_get_modes(struct drm_connector *connector)
{
struct drm_device *dev = connector->dev;
@@ -164,6 +167,7 @@ static const struct drm_connector_helper_funcs vkms_wb_conn_helper_funcs = {
.prepare_writeback_job = vkms_wb_prepare_job,
.cleanup_writeback_job = vkms_wb_cleanup_job,
.atomic_commit = vkms_wb_atomic_commit,
+ .atomic_check = vkms_wb_atomic_check,
};
int vkms_enable_writeback_connector(struct vkms_device *vkmsdev)
@@ -174,7 +178,7 @@ int vkms_enable_writeback_connector(struct vkms_device *vkmsdev)
return drm_writeback_connector_init(&vkmsdev->drm, wb,
&vkms_wb_connector_funcs,
- &vkms_wb_encoder_helper_funcs,
+ NULL,
vkms_wb_formats,
ARRAY_SIZE(vkms_wb_formats),
1);
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/2] drm/vkms: move wb's atomic_check from encoder to connector
@ 2023-12-05 2:31 ` Dmitry Baryshkov
0 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-12-05 2:31 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Daniel Vetter, Rodrigo Siqueira, Melissa Wen, Maíra Canal,
Haneen Mohammed
Cc: linux-arm-msm, freedreno, Abhinav Kumar, dri-devel
As the renamed drm_atomic_helper_check_wb_connector_state() now accepts
drm_writeback_connector as the first argument (instead of drm_encoder),
move the VKMS writeback atomic_check from drm_encoder_helper_funcs to
drm_connector_helper_funcs. Also drop the vkms_wb_encoder_helper_funcs,
which have become empty now.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
drivers/gpu/drm/vkms/vkms_writeback.c | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/vkms/vkms_writeback.c b/drivers/gpu/drm/vkms/vkms_writeback.c
index 23c4f7b61cb6..ebb5183794db 100644
--- a/drivers/gpu/drm/vkms/vkms_writeback.c
+++ b/drivers/gpu/drm/vkms/vkms_writeback.c
@@ -30,20 +30,27 @@ static const struct drm_connector_funcs vkms_wb_connector_funcs = {
.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
};
-static int vkms_wb_encoder_atomic_check(struct drm_encoder *encoder,
- struct drm_crtc_state *crtc_state,
- struct drm_connector_state *conn_state)
+static int vkms_wb_atomic_check(struct drm_connector *connector,
+ struct drm_atomic_state *state)
{
- struct drm_connector *connector = conn_state->connector;
+ struct drm_connector_state *conn_state =
+ drm_atomic_get_new_connector_state(state, connector);
struct drm_writeback_connector *wb_conn =
drm_connector_to_writeback(connector);
+ struct drm_crtc_state *crtc_state;
struct drm_framebuffer *fb;
- const struct drm_display_mode *mode = &crtc_state->mode;
+ const struct drm_display_mode *mode;
int ret;
if (!conn_state->writeback_job || !conn_state->writeback_job->fb)
return 0;
+ if (!conn_state->crtc)
+ return 0;
+
+ crtc_state = drm_atomic_get_new_crtc_state(state, conn_state->crtc);
+ mode = &crtc_state->mode;
+
fb = conn_state->writeback_job->fb;
if (fb->width != mode->hdisplay || fb->height != mode->vdisplay) {
DRM_DEBUG_KMS("Invalid framebuffer size %ux%u\n",
@@ -51,17 +58,13 @@ static int vkms_wb_encoder_atomic_check(struct drm_encoder *encoder,
return -EINVAL;
}
- ret = drm_atomic_helper_check_wb_connector_state(wb_conn, conn_state->state);
+ ret = drm_atomic_helper_check_wb_connector_state(wb_conn, state);
if (ret < 0)
return ret;
return 0;
}
-static const struct drm_encoder_helper_funcs vkms_wb_encoder_helper_funcs = {
- .atomic_check = vkms_wb_encoder_atomic_check,
-};
-
static int vkms_wb_connector_get_modes(struct drm_connector *connector)
{
struct drm_device *dev = connector->dev;
@@ -164,6 +167,7 @@ static const struct drm_connector_helper_funcs vkms_wb_conn_helper_funcs = {
.prepare_writeback_job = vkms_wb_prepare_job,
.cleanup_writeback_job = vkms_wb_cleanup_job,
.atomic_commit = vkms_wb_atomic_commit,
+ .atomic_check = vkms_wb_atomic_check,
};
int vkms_enable_writeback_connector(struct vkms_device *vkmsdev)
@@ -174,7 +178,7 @@ int vkms_enable_writeback_connector(struct vkms_device *vkmsdev)
return drm_writeback_connector_init(&vkmsdev->drm, wb,
&vkms_wb_connector_funcs,
- &vkms_wb_encoder_helper_funcs,
+ NULL,
vkms_wb_formats,
ARRAY_SIZE(vkms_wb_formats),
1);
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/2] drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state
2023-12-05 2:31 ` Dmitry Baryshkov
@ 2023-12-05 11:04 ` kernel test robot
-1 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2023-12-05 11:04 UTC (permalink / raw)
To: Dmitry Baryshkov, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Daniel Vetter, Rodrigo Siqueira,
Melissa Wen, Maíra Canal, Haneen Mohammed
Cc: oe-kbuild-all, linux-arm-msm, freedreno, Abhinav Kumar, dri-devel
Hi Dmitry,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on linus/master v6.7-rc4 next-20231205]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/drm-atomic-helper-rename-drm_atomic_helper_check_wb_encoder_state/20231205-103552
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20231205023150.1581875-2-dmitry.baryshkov%40linaro.org
patch subject: [PATCH v2 1/2] drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state
config: i386-buildonly-randconfig-003-20231205 (https://download.01.org/0day-ci/archive/20231205/202312051810.e0QCZPbY-lkp@intel.com/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231205/202312051810.e0QCZPbY-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312051810.e0QCZPbY-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/drm_atomic_helper.c:811: warning: Function parameter or member 'wb_conn' not described in 'drm_atomic_helper_check_wb_connector_state'
>> drivers/gpu/drm/drm_atomic_helper.c:811: warning: Excess function parameter 'connector' description in 'drm_atomic_helper_check_wb_connector_state'
vim +811 drivers/gpu/drm/drm_atomic_helper.c
623369e533e8a5 Daniel Vetter 2014-09-16 796
254fe9c106ed69 Igor Torrente 2022-09-05 797 /**
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 798 * drm_atomic_helper_check_wb_connector_state() - Check writeback connector state
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 799 * @connector: corresponding connector
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 800 * @state: the driver state object
254fe9c106ed69 Igor Torrente 2022-09-05 801 *
254fe9c106ed69 Igor Torrente 2022-09-05 802 * Checks if the writeback connector state is valid, and returns an error if it
254fe9c106ed69 Igor Torrente 2022-09-05 803 * isn't.
254fe9c106ed69 Igor Torrente 2022-09-05 804 *
254fe9c106ed69 Igor Torrente 2022-09-05 805 * RETURNS:
254fe9c106ed69 Igor Torrente 2022-09-05 806 * Zero for success or -errno
254fe9c106ed69 Igor Torrente 2022-09-05 807 */
254fe9c106ed69 Igor Torrente 2022-09-05 808 int
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 809 drm_atomic_helper_check_wb_connector_state(struct drm_writeback_connector *wb_conn,
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 810 struct drm_atomic_state *state)
254fe9c106ed69 Igor Torrente 2022-09-05 @811 {
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 812 struct drm_connector_state *conn_state =
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 813 drm_atomic_get_new_connector_state(state, &wb_conn->base);
254fe9c106ed69 Igor Torrente 2022-09-05 814 struct drm_writeback_job *wb_job = conn_state->writeback_job;
254fe9c106ed69 Igor Torrente 2022-09-05 815 struct drm_property_blob *pixel_format_blob;
254fe9c106ed69 Igor Torrente 2022-09-05 816 struct drm_framebuffer *fb;
254fe9c106ed69 Igor Torrente 2022-09-05 817 size_t i, nformats;
254fe9c106ed69 Igor Torrente 2022-09-05 818 u32 *formats;
254fe9c106ed69 Igor Torrente 2022-09-05 819
254fe9c106ed69 Igor Torrente 2022-09-05 820 if (!wb_job || !wb_job->fb)
254fe9c106ed69 Igor Torrente 2022-09-05 821 return 0;
254fe9c106ed69 Igor Torrente 2022-09-05 822
254fe9c106ed69 Igor Torrente 2022-09-05 823 pixel_format_blob = wb_job->connector->pixel_formats_blob_ptr;
254fe9c106ed69 Igor Torrente 2022-09-05 824 nformats = pixel_format_blob->length / sizeof(u32);
254fe9c106ed69 Igor Torrente 2022-09-05 825 formats = pixel_format_blob->data;
254fe9c106ed69 Igor Torrente 2022-09-05 826 fb = wb_job->fb;
254fe9c106ed69 Igor Torrente 2022-09-05 827
254fe9c106ed69 Igor Torrente 2022-09-05 828 for (i = 0; i < nformats; i++)
254fe9c106ed69 Igor Torrente 2022-09-05 829 if (fb->format->format == formats[i])
254fe9c106ed69 Igor Torrente 2022-09-05 830 return 0;
254fe9c106ed69 Igor Torrente 2022-09-05 831
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 832 drm_dbg_kms(wb_conn->base.dev, "Invalid pixel format %p4cc\n", &fb->format->format);
254fe9c106ed69 Igor Torrente 2022-09-05 833
254fe9c106ed69 Igor Torrente 2022-09-05 834 return -EINVAL;
254fe9c106ed69 Igor Torrente 2022-09-05 835 }
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 836 EXPORT_SYMBOL(drm_atomic_helper_check_wb_connector_state);
254fe9c106ed69 Igor Torrente 2022-09-05 837
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/2] drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state
@ 2023-12-05 11:04 ` kernel test robot
0 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2023-12-05 11:04 UTC (permalink / raw)
To: Dmitry Baryshkov, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Daniel Vetter, Rodrigo Siqueira,
Melissa Wen, Maíra Canal, Haneen Mohammed
Cc: linux-arm-msm, freedreno, Abhinav Kumar, dri-devel, oe-kbuild-all
Hi Dmitry,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on linus/master v6.7-rc4 next-20231205]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/drm-atomic-helper-rename-drm_atomic_helper_check_wb_encoder_state/20231205-103552
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20231205023150.1581875-2-dmitry.baryshkov%40linaro.org
patch subject: [PATCH v2 1/2] drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state
config: i386-buildonly-randconfig-003-20231205 (https://download.01.org/0day-ci/archive/20231205/202312051810.e0QCZPbY-lkp@intel.com/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231205/202312051810.e0QCZPbY-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312051810.e0QCZPbY-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/drm_atomic_helper.c:811: warning: Function parameter or member 'wb_conn' not described in 'drm_atomic_helper_check_wb_connector_state'
>> drivers/gpu/drm/drm_atomic_helper.c:811: warning: Excess function parameter 'connector' description in 'drm_atomic_helper_check_wb_connector_state'
vim +811 drivers/gpu/drm/drm_atomic_helper.c
623369e533e8a5 Daniel Vetter 2014-09-16 796
254fe9c106ed69 Igor Torrente 2022-09-05 797 /**
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 798 * drm_atomic_helper_check_wb_connector_state() - Check writeback connector state
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 799 * @connector: corresponding connector
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 800 * @state: the driver state object
254fe9c106ed69 Igor Torrente 2022-09-05 801 *
254fe9c106ed69 Igor Torrente 2022-09-05 802 * Checks if the writeback connector state is valid, and returns an error if it
254fe9c106ed69 Igor Torrente 2022-09-05 803 * isn't.
254fe9c106ed69 Igor Torrente 2022-09-05 804 *
254fe9c106ed69 Igor Torrente 2022-09-05 805 * RETURNS:
254fe9c106ed69 Igor Torrente 2022-09-05 806 * Zero for success or -errno
254fe9c106ed69 Igor Torrente 2022-09-05 807 */
254fe9c106ed69 Igor Torrente 2022-09-05 808 int
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 809 drm_atomic_helper_check_wb_connector_state(struct drm_writeback_connector *wb_conn,
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 810 struct drm_atomic_state *state)
254fe9c106ed69 Igor Torrente 2022-09-05 @811 {
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 812 struct drm_connector_state *conn_state =
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 813 drm_atomic_get_new_connector_state(state, &wb_conn->base);
254fe9c106ed69 Igor Torrente 2022-09-05 814 struct drm_writeback_job *wb_job = conn_state->writeback_job;
254fe9c106ed69 Igor Torrente 2022-09-05 815 struct drm_property_blob *pixel_format_blob;
254fe9c106ed69 Igor Torrente 2022-09-05 816 struct drm_framebuffer *fb;
254fe9c106ed69 Igor Torrente 2022-09-05 817 size_t i, nformats;
254fe9c106ed69 Igor Torrente 2022-09-05 818 u32 *formats;
254fe9c106ed69 Igor Torrente 2022-09-05 819
254fe9c106ed69 Igor Torrente 2022-09-05 820 if (!wb_job || !wb_job->fb)
254fe9c106ed69 Igor Torrente 2022-09-05 821 return 0;
254fe9c106ed69 Igor Torrente 2022-09-05 822
254fe9c106ed69 Igor Torrente 2022-09-05 823 pixel_format_blob = wb_job->connector->pixel_formats_blob_ptr;
254fe9c106ed69 Igor Torrente 2022-09-05 824 nformats = pixel_format_blob->length / sizeof(u32);
254fe9c106ed69 Igor Torrente 2022-09-05 825 formats = pixel_format_blob->data;
254fe9c106ed69 Igor Torrente 2022-09-05 826 fb = wb_job->fb;
254fe9c106ed69 Igor Torrente 2022-09-05 827
254fe9c106ed69 Igor Torrente 2022-09-05 828 for (i = 0; i < nformats; i++)
254fe9c106ed69 Igor Torrente 2022-09-05 829 if (fb->format->format == formats[i])
254fe9c106ed69 Igor Torrente 2022-09-05 830 return 0;
254fe9c106ed69 Igor Torrente 2022-09-05 831
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 832 drm_dbg_kms(wb_conn->base.dev, "Invalid pixel format %p4cc\n", &fb->format->format);
254fe9c106ed69 Igor Torrente 2022-09-05 833
254fe9c106ed69 Igor Torrente 2022-09-05 834 return -EINVAL;
254fe9c106ed69 Igor Torrente 2022-09-05 835 }
d538670e1a27f5 Dmitry Baryshkov 2023-12-05 836 EXPORT_SYMBOL(drm_atomic_helper_check_wb_connector_state);
254fe9c106ed69 Igor Torrente 2022-09-05 837
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-12-05 11:05 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-05 2:31 [PATCH v2 0/2] drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state Dmitry Baryshkov
2023-12-05 2:31 ` Dmitry Baryshkov
2023-12-05 2:31 ` [PATCH v2 1/2] " Dmitry Baryshkov
2023-12-05 2:31 ` Dmitry Baryshkov
2023-12-05 11:04 ` kernel test robot
2023-12-05 11:04 ` kernel test robot
2023-12-05 2:31 ` [PATCH v2 2/2] drm/vkms: move wb's atomic_check from encoder to connector Dmitry Baryshkov
2023-12-05 2:31 ` Dmitry Baryshkov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.