media: ov6650: Fix default format not applied on device probe
It is not clear what pixel format is actually configured in hardware on reset. MEDIA_BUS_FMT_YUYV8_2X8, assumed on device probe since the driver was intiially submitted, is for sure not the one. Fix it by explicitly applying a known, driver default frame format just after initial device reset. Fixes: 2f6e2404799a ("[media] SoC Camera: add driver for OV6650 sensor") Signed-off-by: Janusz Krzysztofik <jmkrzyszt@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
39034bb0c2
commit
5439fa9263
@ -873,6 +873,11 @@ static int ov6650_video_probe(struct v4l2_subdev *sd)
|
|||||||
ret = ov6650_reset(client);
|
ret = ov6650_reset(client);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = ov6650_prog_dflt(client);
|
ret = ov6650_prog_dflt(client);
|
||||||
|
if (!ret) {
|
||||||
|
struct v4l2_mbus_framefmt mf = ov6650_def_fmt;
|
||||||
|
|
||||||
|
ret = ov6650_s_fmt(sd, &mf);
|
||||||
|
}
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = v4l2_ctrl_handler_setup(&priv->hdl);
|
ret = v4l2_ctrl_handler_setup(&priv->hdl);
|
||||||
|
|
||||||
@ -1027,8 +1032,6 @@ static int ov6650_probe(struct i2c_client *client,
|
|||||||
priv->rect.top = DEF_VSTRT << 1;
|
priv->rect.top = DEF_VSTRT << 1;
|
||||||
priv->rect.width = W_CIF;
|
priv->rect.width = W_CIF;
|
||||||
priv->rect.height = H_CIF;
|
priv->rect.height = H_CIF;
|
||||||
priv->half_scale = false;
|
|
||||||
priv->code = MEDIA_BUS_FMT_YUYV8_2X8;
|
|
||||||
|
|
||||||
priv->subdev.internal_ops = &ov6650_internal_ops;
|
priv->subdev.internal_ops = &ov6650_internal_ops;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user