linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/11] media: ov5640: Misc cleanup and improvements
@ 2018-11-13 13:03 Maxime Ripard
  2018-11-13 13:03 ` [PATCH v5 01/11] media: ov5640: Adjust the clock based on the expected rate Maxime Ripard
                   ` (10 more replies)
  0 siblings, 11 replies; 17+ messages in thread
From: Maxime Ripard @ 2018-11-13 13:03 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Laurent Pinchart, linux-media, Thomas Petazzoni, Mylene Josserand,
	Hans Verkuil, Sakari Ailus, Hugues Fruchet, Loic Poulain,
	Samuel Bobrowicz, Steve Longerbeam, Daniel Mack, Jacopo Mondi,
	Maxime Ripard

Hi,

Here is a "small" series that mostly cleans up the ov5640 driver code,
slowly getting rid of the big data array for more understandable code
(hopefully).

The biggest addition would be the clock rate computation at runtime,
instead of relying on those arrays to setup the clock tree
properly. As a side effect, it fixes the framerate that was off by
around 10% on the smaller resolutions, and we now support 60fps.

This also introduces a bunch of new features.

Let me know what you think,
Maxime

Changes from v4:
  - Squashed Jacopo patches fixing the MIPI-CSI case
  - Prefer clock rates superior to the ideal clock rate, even if it
    means having a less precise one.
  - Fix the JPEG case according to Hugues suggestions
  - Rebased on 4.20

Changes from v3:
  - Rebased on current Sakari tree
  - Fixed an error when changing only the framerate

Changes from v2:
  - Rebased on latest Sakari PR
  - Fixed the issues reported by Hugues: improper FPS returned for
    formats, improper rounding of the FPS, some with his suggestions,
    some by simplifying the logic.
  - Expanded the clock tree comments based on the feedback from Samuel
    Bobrowicz and Loic Poulain
  - Merged some of the changes made by Samuel Bobrowicz to fix the
    MIPI rate computation, fix the call sites of the
    ov5640_set_timings function, the auto-exposure calculation call,
    etc.
  - Split the patches into smaller ones in order to make it more
    readable (hopefully)

Changes from v1:
  - Integrated Hugues' suggestions to fix v4l2-compliance
  - Fixed the bus width with JPEG
  - Dropped the clock rate calculation loops for something simpler as
    suggested by Sakari
  - Cache the exposure value instead of using the control value
  - Rebased on top of 4.17

Maxime Ripard (11):
  media: ov5640: Adjust the clock based on the expected rate
  media: ov5640: Remove the clocks registers initialization
  media: ov5640: Remove redundant defines
  media: ov5640: Remove redundant register setup
  media: ov5640: Compute the clock rate at runtime
  media: ov5640: Remove pixel clock rates
  media: ov5640: Enhance FPS handling
  media: ov5640: Make the return rate type more explicit
  media: ov5640: Make the FPS clamping / rounding more extendable
  media: ov5640: Add 60 fps support
  media: ov5640: Remove duplicate auto-exposure setup

 drivers/media/i2c/ov5640.c | 748 ++++++++++++++++++++++---------------
 1 file changed, 445 insertions(+), 303 deletions(-)

-- 
2.19.1

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

end of thread, other threads:[~2018-11-21  3:22 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-13 13:03 [PATCH v5 00/11] media: ov5640: Misc cleanup and improvements Maxime Ripard
2018-11-13 13:03 ` [PATCH v5 01/11] media: ov5640: Adjust the clock based on the expected rate Maxime Ripard
2018-11-14 13:20   ` Adam Ford
2018-11-19 15:03     ` Adam Ford
2018-11-14 19:48   ` jacopo mondi
2018-11-20  9:48     ` Maxime Ripard
2018-11-20 16:51       ` jacopo mondi
2018-11-13 13:03 ` [PATCH v5 02/11] media: ov5640: Remove the clocks registers initialization Maxime Ripard
2018-11-13 13:03 ` [PATCH v5 03/11] media: ov5640: Remove redundant defines Maxime Ripard
2018-11-13 13:03 ` [PATCH v5 04/11] media: ov5640: Remove redundant register setup Maxime Ripard
2018-11-13 13:03 ` [PATCH v5 05/11] media: ov5640: Compute the clock rate at runtime Maxime Ripard
2018-11-13 13:03 ` [PATCH v5 06/11] media: ov5640: Remove pixel clock rates Maxime Ripard
2018-11-13 13:03 ` [PATCH v5 07/11] media: ov5640: Enhance FPS handling Maxime Ripard
2018-11-13 13:03 ` [PATCH v5 08/11] media: ov5640: Make the return rate type more explicit Maxime Ripard
2018-11-13 13:03 ` [PATCH v5 09/11] media: ov5640: Make the FPS clamping / rounding more extendable Maxime Ripard
2018-11-13 13:03 ` [PATCH v5 10/11] media: ov5640: Add 60 fps support Maxime Ripard
2018-11-13 13:03 ` [PATCH v5 11/11] media: ov5640: Remove duplicate auto-exposure setup Maxime Ripard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).