[PATCH v5 3/3] clk: imx6: Fix procedure to switch the parent of LDB_DI_CLK
Joshua Clayton
stillcompiling at gmail.com
Sat Jul 16 13:55:10 PDT 2016
Hi again,
On Thursday, July 14, 2016 10:01:12 AM Joshua Clayton wrote:
> Hi Philipp,
> My team is testing this morning on a board that exhibits
> intermittent lvds failures that seem to match this problem.
> (black screen and a "dc stop timeout" message in the kernel log)
> With this patch set, the screen failed to come up on the second boot :(
> But...
> On 07/11/2016 04:12 AM, Philipp Zabel wrote:
> > +static void init_ldb_clks(struct device_node *np, void __iomem *ccm_base)
> > +{
> > + unsigned int reg;
> > + unsigned int sel[2][4];
> > + int i;
> > +
> to feel confident the new code was running, one of our engineers added the line
> pr_warn("ccm: In init_ldb_clks\n");
> right here.
Took the printk out and the patch set still works as expected.
...so the previous email was a false alarm. Mea culpa
Problem solved I think. Thanks Philipp!
for my hardware (imx6q-evi) using xorg and lvds
Tested-by Joshua Clayton <stillcompiling at gmail.com>
> > + reg = readl_relaxed(ccm_base + CCM_CS2CDR);
> > + sel[0][0] = (reg >> CS2CDR_LDB_DI0_CLK_SEL_SHIFT) & 7;
> > + sel[1][0] = (reg >> CS2CDR_LDB_DI1_CLK_SEL_SHIFT) & 7;
> > +
> > + sel[0][3] = sel[0][2] = sel[0][1] = sel[0][0];
> > + sel[1][3] = sel[1][2] = sel[1][1] = sel[1][0];
> > +
> > + of_assigned_ldb_sels(np, &sel[0][3], &sel[1][3]);
> >
> ...
>
> We have now booted that same board successfully about 30 times
> with your patches plus the extra printf .?!??
>
> Not sure what that means in terms of delay and synchronization, so
> even though we are not finished testing I thought I should post that result.
>
> Thanks,
> Joshua Clayton
More information about the linux-arm-kernel
mailing list