Re: [PATCH v5] Driver for ON Semi AR0521 camera sensor
From: Krzysztof Hałasa <khalasa@piap.pl>
Date: 2021-10-14 10:43:34
Also in:
lkml
Jacopo Mondi [off-list ref] writes:
quoted
This is BTW completely orthogonal to the -EBUSY on set_fmt(). The effects will be exactly the same if the e.g. geometry changes come when the sensor is not streaming.No, this isn't true. Your s_fmt() implementation stops then restart the stream. It has an undocumented side effect and will cause undefined behaviour.
It will cause *at*most* a corrupted frame. On a MIPI link. That's right. Such a corrupted frame will *at*most* cause some transient IO error - it must not cause anything serious, because corrupted frames on MIPI can happen for multiple reasons, some of which simply cannot be avoided. BTW I will see if it's actually the case - chances are, there is no corruption, but I tested it years ago and haven't yet checked my notes. In fact those set_fmt() in other drivers may - or may not - cause corrupted frames just the same.
If your s_fmt() has to stop and restart streaming to take effect, it means userspace should instead stop the stream, change the format where opportune in the pipeline, and then restart the stream.
Maybe. This is a sensor driver - not userspace. If the userspace uses it as a part of "frame grabber", it will certainly do exactly that (nothing else would make sense in practice). Unfortunately this all will have to wait a bit, so thanks for your help, expect a new patch in few weeks. -- Krzysztof "Chris" Hałasa Sieć Badawcza Łukasiewicz Przemysłowy Instytut Automatyki i Pomiarów PIAP Al. Jerozolimskie 202, 02-486 Warszawa