On Sat, 2017-06-03 at 11:57 -0700, Steve Longerbeam wrote: > From: Marek Vasut <marex@xxxxxxx> > > The description of the CSI_SEL bit in the i.MX6 reference manual is > incorrect. It states "This bit defines which CSI is the input to the > IC. This bit is effective only if IC_INPUT is bit cleared". > > From experiment it was found this is in fact not correct. The CSI_SEL > bit selects which CSI is input to _both_ the VDIC _and_ the IC. If the > IC_INPUT bit is set so that the IC is receiving from the VDIC, the IC > ignores the CSI_SEL bit, but CSI_SEL still selects which CSI the VDIC > receives from in that case. > > Signed-off-by: Marek Vasut <marex@xxxxxxx> > Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> > --- > drivers/gpu/ipu-v3/ipu-common.c | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c > index 16d5568..2fb5f43 100644 > --- a/drivers/gpu/ipu-v3/ipu-common.c > +++ b/drivers/gpu/ipu-v3/ipu-common.c > @@ -725,15 +725,16 @@ void ipu_set_ic_src_mux(struct ipu_soc *ipu, int csi_id, bool vdi) > spin_lock_irqsave(&ipu->lock, flags); > > val = ipu_cm_read(ipu, IPU_CONF); > - if (vdi) { > + if (vdi) > val |= IPU_CONF_IC_INPUT; > - } else { > + else > val &= ~IPU_CONF_IC_INPUT; > - if (csi_id == 1) > - val |= IPU_CONF_CSI_SEL; > - else > - val &= ~IPU_CONF_CSI_SEL; > - } > + > + if (csi_id == 1) > + val |= IPU_CONF_CSI_SEL; > + else > + val &= ~IPU_CONF_CSI_SEL; > + > ipu_cm_write(ipu, val, IPU_CONF); > > spin_unlock_irqrestore(&ipu->lock, flags); Applied, thanks. regards Philipp _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel