public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/20] media: i2c: imx219: Miscellaneous cleanups and improvements
@ 2023-09-24 15:32 Laurent Pinchart
  2023-09-24 15:32 ` [PATCH v4 01/20] media: i2c: imx219: Convert to CCI register access helpers Laurent Pinchart
                   ` (19 more replies)
  0 siblings, 20 replies; 24+ messages in thread
From: Laurent Pinchart @ 2023-09-24 15:32 UTC (permalink / raw)
  To: linux-media
  Cc: Sakari Ailus, Dave Stevenson, Jacopo Mondi, Lad Prabhakar,
	Hans de Goede

Hello,

This patch series is a collection of miscellaneous cleanups and
improvements to the imx219 driver.

Most notably, the series starts with converting the driver to the new
CCI helpers ([1]) in 01/20. Unlike the IMX290, IMX296, IMX297 and IMX327
that have little-endian register values, this sensor adheres to the CCI
specification, so the conversion was possible. It caused a regression
that I had a bit of trouble tracking though, which showed that merging
conversion to the CCI helpers without testing would be dangerous.

Patch 05/20 fixes what I believe is an issue with the test pattern
generator configuration in 640x480 mode, and should be the only
functional change in the series.

For details about other patches, please see their individual commit
logs. Compared to v3, patch 15/20 has been added, and the series has
been rebased on top of a merge of Sakari's sensors pull request for v6.7
and a v6.6 fixes branch that will appear in v6.6-rc3. This was necessary
as both of those branches contain imx219 changes that conflict with this
series. As a result of the rebase, patch 15/20 from v3 got dropped.

The changes have been tested on a Raspberry Pi 4, with all the modes
supproted by the driver.

[1] https://lore.kernel.org/linux-media/20230627125109.52354-1-hdegoede@redhat.com/

Laurent Pinchart (20):
  media: i2c: imx219: Convert to CCI register access helpers
  media: i2c: imx219: Drop unused macros
  media: i2c: imx219: Replace register addresses with macros
  media: i2c: imx219: Drop IMX219_REG_CSI_LANE_MODE from common regs
    array
  media: i2c: imx219: Fix test pattern window for 640x480 mode
  media: i2c: imx219: Set mode registers programmatically
  media: i2c: imx219: Merge format and binning setting functions
  media: i2c: imx219: Initialize ycbcr_enc
  media: i2c: imx219: Use active crop rectangle to configure registers
  media: i2c: imx219: Infer binning settings from format and crop
  media: i2c: imx219: Access height from active format in
    imx219_set_ctrl
  media: i2c: imx219: Don't store the current mode in the imx219
    structure
  media: i2c: imx219: Drop IMX219_VTS_* macros
  media: i2c: imx219: Group functions by purpose
  media: i2c: imx219: Remove unneeded goto
  media: i2c: imx219: Implement .init_cfg() using .set_fmt()
  media: i2c: imx219: Separate horizontal and vertical binning
  media: i2c: imx219: Calculate crop rectangle dynamically
  media: i2c: imx219: Name all subdev state variables 'state'
  media: i2c: imx219: Move variables to inner scope

 drivers/media/i2c/Kconfig  |    1 +
 drivers/media/i2c/imx219.c | 1467 ++++++++++++++++--------------------
 2 files changed, 643 insertions(+), 825 deletions(-)


base-commit: 76d7b38d896f7bc6c65c4bd053df060f3f3dcb90
-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2025-04-25 12:06 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-24 15:32 [PATCH v4 00/20] media: i2c: imx219: Miscellaneous cleanups and improvements Laurent Pinchart
2023-09-24 15:32 ` [PATCH v4 01/20] media: i2c: imx219: Convert to CCI register access helpers Laurent Pinchart
2023-09-24 15:32 ` [PATCH v4 02/20] media: i2c: imx219: Drop unused macros Laurent Pinchart
2023-09-24 15:32 ` [PATCH v4 03/20] media: i2c: imx219: Replace register addresses with macros Laurent Pinchart
2023-09-24 15:32 ` [PATCH v4 04/20] media: i2c: imx219: Drop IMX219_REG_CSI_LANE_MODE from common regs array Laurent Pinchart
2023-09-24 15:32 ` [PATCH v4 05/20] media: i2c: imx219: Fix test pattern window for 640x480 mode Laurent Pinchart
2023-09-24 15:32 ` [PATCH v4 06/20] media: i2c: imx219: Set mode registers programmatically Laurent Pinchart
2023-09-24 15:32 ` [PATCH v4 07/20] media: i2c: imx219: Merge format and binning setting functions Laurent Pinchart
2023-09-24 15:32 ` [PATCH v4 08/20] media: i2c: imx219: Initialize ycbcr_enc Laurent Pinchart
2023-09-24 15:32 ` [PATCH v4 09/20] media: i2c: imx219: Use active crop rectangle to configure registers Laurent Pinchart
2023-09-24 15:32 ` [PATCH v4 10/20] media: i2c: imx219: Infer binning settings from format and crop Laurent Pinchart
2023-09-24 15:33 ` [PATCH v4 11/20] media: i2c: imx219: Access height from active format in imx219_set_ctrl Laurent Pinchart
2023-09-24 15:33 ` [PATCH v4 12/20] media: i2c: imx219: Don't store the current mode in the imx219 structure Laurent Pinchart
2023-09-24 15:33 ` [PATCH v4 13/20] media: i2c: imx219: Drop IMX219_VTS_* macros Laurent Pinchart
2023-09-24 15:33 ` [PATCH v4 14/20] media: i2c: imx219: Group functions by purpose Laurent Pinchart
2023-09-24 15:33 ` [PATCH v4 15/20] media: i2c: imx219: Remove unneeded goto Laurent Pinchart
2023-09-25 10:44   ` Dave Stevenson
2023-09-24 15:33 ` [PATCH v4 16/20] media: i2c: imx219: Implement .init_cfg() using .set_fmt() Laurent Pinchart
2023-09-24 15:33 ` [PATCH v4 17/20] media: i2c: imx219: Separate horizontal and vertical binning Laurent Pinchart
2023-09-24 15:33 ` [PATCH v4 18/20] media: i2c: imx219: Calculate crop rectangle dynamically Laurent Pinchart
2025-04-15 14:20   ` Dave Stevenson
2025-04-25 12:06     ` Laurent Pinchart
2023-09-24 15:33 ` [PATCH v4 19/20] media: i2c: imx219: Name all subdev state variables 'state' Laurent Pinchart
2023-09-24 15:33 ` [PATCH v4 20/20] media: i2c: imx219: Move variables to inner scope Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox