This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: i2c: adv748x: Write initial DV timings to device
Author:  Niklas Söderlund <niklas.soderlund+rene...@ragnatech.se>
Date:    Wed Feb 22 23:12:48 2023 +0100

When initializing the HDMI block during probe an initial set of timings
are selected. These timings are stored in the drivers private data, but
not written to the device.

This in itself is not bad, but in s_dv_timings() the timings stored in
the drivers private data are compared to the new timings, if they match
no action is taken. This creates the corner-case where the timing
selected at initialization is the first timings a user want to use as
the driver then never writes it to the device preventing proper
operation.

Fix this by writing the timings to the device at initialization in
addition to storing them in the drivers private data.

Signed-off-by: Niklas Söderlund <niklas.soderlund+rene...@ragnatech.se>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>

 drivers/media/i2c/adv748x/adv748x-hdmi.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

---

diff --git a/drivers/media/i2c/adv748x/adv748x-hdmi.c 
b/drivers/media/i2c/adv748x/adv748x-hdmi.c
index 1d62e05572cd..47688d1b6833 100644
--- a/drivers/media/i2c/adv748x/adv748x-hdmi.c
+++ b/drivers/media/i2c/adv748x/adv748x-hdmi.c
@@ -721,11 +721,10 @@ static int adv748x_hdmi_init_controls(struct adv748x_hdmi 
*hdmi)
 int adv748x_hdmi_init(struct adv748x_hdmi *hdmi)
 {
        struct adv748x_state *state = adv748x_hdmi_to_state(hdmi);
-       static const struct v4l2_dv_timings cea1280x720 =
-               V4L2_DV_BT_CEA_1280X720P30;
+       struct v4l2_dv_timings cea1280x720 = V4L2_DV_BT_CEA_1280X720P30;
        int ret;
 
-       hdmi->timings = cea1280x720;
+       adv748x_hdmi_s_dv_timings(&hdmi->sd, &cea1280x720);
 
        /* Initialise a default 16:9 aspect ratio */
        hdmi->aspect_ratio.numerator = 16;

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to