Messages in this thread | | | From | Krzysztof Hałasa <> | Subject | Re: [PATCH v5] Driver for ON Semi AR0521 camera sensor | Date | Thu, 14 Oct 2021 12:43:24 +0200 |
| |
Jacopo Mondi <jacopo@jmondi.org> writes:
>> 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
| |