Hi Daniel, On Fri, May 18, 2018 at 10:32:43AM +0200, Daniel Mack wrote: > On Thursday, May 17, 2018 10:53 AM, Maxime Ripard wrote: > > From: Samuel Bobrowicz <sam@xxxxxxxxxxxxxxxxxx> > > > > The current code, when changing the mode and changing the scaling or > > sampling parameters, will look at the horizontal and vertical total size, > > which, since 5999f381e023 ("media: ov5640: Add horizontal and vertical > > totals") has been moved from the static register initialization to after > > the mode change. > > > > That means that the values are no longer set up before the code retrieves > > them, which is obviously a bug. > > I tried 'for-4.18-5' before your patch set now and noticed it didn't work. I > then bisected the regression down to the same commit that you mentioned > above. > > The old code (before 5999f381e023) used to have the timing registers > embedded in a large register blob. Omitting them during the bulk upload and > writing them later doesn't work here, even if the values are the same. It > seems that the order in which registers are written matters. > > Hence your patch in this email doesn't fix it for me either. I have to move > ov5640_set_timings() before ov5640_load_regs() to revive my platform. That's kind of weird, it definitely works for parallel. Do you have a bit more details on what doesn't work? What commands / apps are you running? Maxime -- Maxime Ripard, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
Attachment:
signature.asc
Description: PGP signature