[Letux-kernel] ov9655 madness in 4.20

H. Nikolaus Schaller hns at goldelico.com
Tue Jan 8 18:11:27 CET 2019


Hi Andreas,

> Am 08.01.2019 um 17:23 schrieb Andreas Kemnade <andreas at kemnade.info>:
> 
> Hi Nikolaus,
> 
> On Sat, 5 Jan 2019 20:54:05 +0100
> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> 
>>>>> So the workaround is easily rmmod both omap3_isp and ov9655
>>>>> and this is nothing with high priority to fix.
>>>> 
>>>> Well, should it be locked somehow? Other modules seems to be able
>>>> to describe dependencies and then you can't even rmmod them.
>>>> 
>>> ov9650 should either prevent removal of omap3_isp or the ov9650 should
>>> put() the clock when not in use. No idea what is better.
>> 
>> Probably a put(). The camera driver should know if it needs a clock or not...
>> 
>>> But that is low
>>> priority as long as we do not know how to give the OMAP ISP-hwmod
>>> the right kick in the a** to start again.
>> 
>> Indeed. This problem made me give up working on the driver many months ago,
>> because I wasn't able to solve it. So although the plan was to upstream
>> the driver (there was someone really intersted in it as well), I moved to
>> other topics (and there are always too many :)
>> 
> hmm, we have a working (kernel 3.7 permits to the camera muliple times)

letux-3.12 had camera working best...

> and a non-working system. So we can make some kind of a "diff".
> Did you diff isp_readl/clr/set/writel calls?

No... There was quite some rework in between so that the sequences might
be completely upside down.

It is IMHO more interesting to read the register sets through debugfs.

> Hmm, then we have the iommu. Not sure if there might happen something
> interesting.
> 
> And i2c access comparison. But I guess that is already boiled.

Yes, I had checked register values with 3.12. So it is not a problem
of the camera module. It *might* be something missing in the driver
not properly calling some core V4L2 functions, but I have compared
several times with other drivers.

It might also be something that clock is not properly stopped and
re-enabled between two attempts.

But the omap3isp and its driver is a complex beast... And that the
select() does timeout is when V4L2 tries to read a video stream from
the isp (not the camera). I.e. there is no data coming from isp.

BR,
Nikolaus

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20190108/ebbdd544/attachment.asc>


More information about the Letux-kernel mailing list