aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/platform/qcom/camss-8x16/camss-csid.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2018-09-20 08:32:20 -0700
committerMark Brown <broonie@kernel.org>2018-09-20 08:32:20 -0700
commitd7b33ebae7c1419ebdfd94eb64bf74a7ec760031 (patch)
tree67dbc2149bb00e2eaf89c31a515e1f8bfc0dc8cb /drivers/media/platform/qcom/camss-8x16/camss-csid.c
parente1d176680ed4f6970582086191eb7377a80a2d4e (diff)
parent1244bbb3e92135d247e2dddfa6fe5e3e171a9635 (diff)
Merge tag 'v4.14.71' into linux-linaro-lsk-v4.14
This is the 4.14.71 stable release
Diffstat (limited to 'drivers/media/platform/qcom/camss-8x16/camss-csid.c')
-rw-r--r--drivers/media/platform/qcom/camss-8x16/camss-csid.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/media/platform/qcom/camss-8x16/camss-csid.c b/drivers/media/platform/qcom/camss-8x16/camss-csid.c
index 64df82817de3..4882ee25bd75 100644
--- a/drivers/media/platform/qcom/camss-8x16/camss-csid.c
+++ b/drivers/media/platform/qcom/camss-8x16/camss-csid.c
@@ -392,9 +392,6 @@ static int csid_set_stream(struct v4l2_subdev *sd, int enable)
!media_entity_remote_pad(&csid->pads[MSM_CSID_PAD_SINK]))
return -ENOLINK;
- dt = csid_get_fmt_entry(csid->fmt[MSM_CSID_PAD_SRC].code)->
- data_type;
-
if (tg->enabled) {
/* Config Test Generator */
struct v4l2_mbus_framefmt *f =
@@ -416,6 +413,9 @@ static int csid_set_stream(struct v4l2_subdev *sd, int enable)
writel_relaxed(val, csid->base +
CAMSS_CSID_TG_DT_n_CGG_0(0));
+ dt = csid_get_fmt_entry(
+ csid->fmt[MSM_CSID_PAD_SRC].code)->data_type;
+
/* 5:0 data type */
val = dt;
writel_relaxed(val, csid->base +
@@ -425,6 +425,9 @@ static int csid_set_stream(struct v4l2_subdev *sd, int enable)
val = tg->payload_mode;
writel_relaxed(val, csid->base +
CAMSS_CSID_TG_DT_n_CGG_2(0));
+
+ df = csid_get_fmt_entry(
+ csid->fmt[MSM_CSID_PAD_SRC].code)->decode_format;
} else {
struct csid_phy_config *phy = &csid->phy;
@@ -439,13 +442,16 @@ static int csid_set_stream(struct v4l2_subdev *sd, int enable)
writel_relaxed(val,
csid->base + CAMSS_CSID_CORE_CTRL_1);
+
+ dt = csid_get_fmt_entry(
+ csid->fmt[MSM_CSID_PAD_SINK].code)->data_type;
+ df = csid_get_fmt_entry(
+ csid->fmt[MSM_CSID_PAD_SINK].code)->decode_format;
}
/* Config LUT */
dt_shift = (cid % 4) * 8;
- df = csid_get_fmt_entry(csid->fmt[MSM_CSID_PAD_SINK].code)->
- decode_format;
val = readl_relaxed(csid->base + CAMSS_CSID_CID_LUT_VC_n(vc));
val &= ~(0xff << dt_shift);