mbox series

[v6,0/2] On Semi AR0521 sensor driver

Message ID m3ee63hkuu.fsf@t19.piap.pl (mailing list archive)
Headers show
Series On Semi AR0521 sensor driver | expand

Message

Krzysztof HaƂasa Dec. 23, 2021, 6:54 a.m. UTC
Rob, Mauro, media subsystem reviewers,

This is the 6th version of my On Semi AR0521 sensor driver.

The documentation patch (1/2) hasn't been changed from v4:

 onnn,ar0521.yaml |  112
 1 file changed, 112 insertions(+)

The actual driver (2/2) changes:

 MAINTAINERS                |    7
 drivers/media/i2c/Kconfig  |   13
 drivers/media/i2c/Makefile |    1
 drivers/media/i2c/ar0521.c | 1051
 4 files changed, 1072 insertions(+)

- I reformatted the code to fit in 80 columns. Nobody should be asked to
  make his code worse (and the 80-column version IS worse), and multiple
  high-profile Linux developers (including the top one) appear to share
  my opinion, but nevertheless - if it's something that will make it go
  in, I won't care.

- Basically the same applies to the // comments.

- I have removed the "interval" support (frames per second).
  Unfortunately this cripples the driver further a bit - the userspace
  will not be able to set precise frame timings needed for broadcast
  quality video. I will have to keep a private patch for that.
  Another effect of this change is that the pixel clock is now fixed at
  184 MHz, which by default produces ca. 30 FPS at 2560x1920. This may
  be problematic on systems with less than 4 MIPI lanes, and/or on ones
  which can't support higher frequency MIPI bus (the previous version
  used a calculated clock). Perhaps it will be possible to fix this
  issue in the future, with a couple of core V4L2 changes.

- the driver now provides the .pre_streamon() for setting LP-11 state on
  MIPI data and clock lanes. This is compatible with i.MX6 receiver.

- s_power() converted to SET_RUNTIME_PM_OPS().

- the "initial" I2C registers have been all converted to a table of
  multi-register files, to minimize time spent on I2C bus.

- a lot of smaller changes suggested by Laurent, Sakari, Jacopo and
  possibly others.