[v3,00/29] media: ov2680: Bugfixes + ACPI + selection(crop-tgt) API support

Message ID 20230627131830.54601-1-hdegoede@redhat.com (mailing list archive)
Headers
Series media: ov2680: Bugfixes + ACPI + selection(crop-tgt) API support |

Message

Hans de Goede June 27, 2023, 1:18 p.m. UTC
  Hi All,

Here is v3 of my ov2680 sensor driver patch series.

Changes in v3:
- Add Rui Miguel Silva's Ack for the series
- 2 small fixes for remarks from Andy
- Add a new patch adding me as co-maintainer in MAINTAINERS

Changes in v2
- Drop "media: Add MIPI CCI register access helper functions"
  (being reviewed in its own thread / patch-submission)
- Drop "media: ov2680: Add g_skip_frames op support"
- Add "media: ov2680: Fix regulators being left enabled on
  ov2680_power_on() errors"
- Add "media: ov2680: Add link-freq and pixel-rate controls"
  with this the driver now works on IPU3 with ipu3-capture.sh
  (libcamera support requires adding a couple more controls)
- Limit line length to 80 chars everywhere
- Address various small remarks from Andy

During all the work done on the atomisp driver I have mostly been testing
on devices with an ov2680 sensor. As such I have also done a lot of work
on the atomisp-ov2680.c atomisp specific sensor driver.

With the latest atomisp code from:
https://git.kernel.org/pub/scm/linux/kernel/git/hansg/linux.git/tag/?h=media-atomisp-6.5-1

The atomisp code can now work with standard v4l2 sensor drivers using
the selections (crop-tgt) api and v4l2-async sensor driver registration.

This patch series modifies the main drivers/media/i2c/ov2680.c driver
to add bugfixes, ACPI enumeration, selection API support and further
improvments. After this the driver can be used with the atomisp driver
and atomisp-ov2680.c can be dropped.

This also gets the driver much closer to having everything needed for
use with IPU3 / libcamera. I have a Lenovo Miix 510 now with an IPU3 +
ov2680 sensor and with this series raw-capture using the ipu3-capture.sh
script works. I plan to work on libcamera support for this in the near
future.

This series consist of 3 parts:

1. Patches 1-8 are bugfixes these are put first for backporting

2. Patch 9 converts the ov2680 driver to the new CCI helpers,
the same has been done in the other series with the atomisp-ov2680
driver and this makes it much easier to sync things up.

Note this depends on the new CCI register helpers, these are being
reviewed here:

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

3. Patches 9 - 29 implement the ACPI enumeration,
selection API support and further improvments.

Regards,

Hans



Hans de Goede (29):
  media: ov2680: Remove auto-gain and auto-exposure controls
  media: ov2680: Fix ov2680_bayer_order()
  media: ov2680: Fix vflip / hflip set functions
  media: ov2680: Use select VIDEO_V4L2_SUBDEV_API
  media: ov2680: Don't take the lock for try_fmt calls
  media: ov2680: Add ov2680_fill_format() helper function
  media: ov2680: Fix ov2680_set_fmt() which == V4L2_SUBDEV_FORMAT_TRY
    not working
  media: ov2680: Fix regulators being left enabled on ov2680_power_on()
    errors
  media: ov2680: Convert to new CCI register access helpers
  media: ov2680: Store dev instead of i2c_client in ov2680_dev
  media: ov2680: Check for "powerdown" GPIO con-id before checking for
    "reset" GPIO con-id
  media: ov2680: Add runtime-pm support
  media: ov2680: Drop is_enabled flag
  media: ov2680: Add support for more clk setups
  media: ov2680: Add support for 19.2 MHz clock
  media: ov2680: Add endpoint matching support
  media: ov2680: Add support for ACPI enumeration
  media: ov2680: Fix ov2680_enum_frame_interval()
  media: ov2680: Annotate the per mode register setting lists
  media: ov2680: Add ov2680_mode struct
  media: ov2680: Make setting the mode algorithm based
  media: ov2680: Add an __ov2680_get_pad_format() helper function
  media: ov2680: Implement selection support
  media: ov2680: Fix exposure and gain ctrls range and default value
  media: ov2680: Add a bunch of register tweaks
  media: ov2680: Drop unnecessary pad checks
  media: ov2680: Read and log sensor revision during probe
  media: ov2680: Add link-freq and pixel-rate controls
  MAINTAINERS: Add Hans de Goede as OV2680 sensor driver maintainer

 MAINTAINERS                |    1 +
 drivers/media/i2c/Kconfig  |    2 +
 drivers/media/i2c/ov2680.c | 1318 +++++++++++++++++++-----------------
 3 files changed, 691 insertions(+), 630 deletions(-)
  

Comments

Jacopo Mondi June 27, 2023, 2:11 p.m. UTC | #1
Hi Hans

  seems like [12/29] is missing, it doesn't show up in patchwork
neither:
https://patchwork.linuxtv.org/project/linux-media/list/?series=10723

have I missed it ?

On Tue, Jun 27, 2023 at 03:18:01PM +0200, Hans de Goede wrote:
> Hi All,
>
> Here is v3 of my ov2680 sensor driver patch series.
>
> Changes in v3:
> - Add Rui Miguel Silva's Ack for the series
> - 2 small fixes for remarks from Andy
> - Add a new patch adding me as co-maintainer in MAINTAINERS
>
> Changes in v2
> - Drop "media: Add MIPI CCI register access helper functions"
>   (being reviewed in its own thread / patch-submission)
> - Drop "media: ov2680: Add g_skip_frames op support"
> - Add "media: ov2680: Fix regulators being left enabled on
>   ov2680_power_on() errors"
> - Add "media: ov2680: Add link-freq and pixel-rate controls"
>   with this the driver now works on IPU3 with ipu3-capture.sh
>   (libcamera support requires adding a couple more controls)
> - Limit line length to 80 chars everywhere
> - Address various small remarks from Andy
>
> During all the work done on the atomisp driver I have mostly been testing
> on devices with an ov2680 sensor. As such I have also done a lot of work
> on the atomisp-ov2680.c atomisp specific sensor driver.
>
> With the latest atomisp code from:
> https://git.kernel.org/pub/scm/linux/kernel/git/hansg/linux.git/tag/?h=media-atomisp-6.5-1
>
> The atomisp code can now work with standard v4l2 sensor drivers using
> the selections (crop-tgt) api and v4l2-async sensor driver registration.
>
> This patch series modifies the main drivers/media/i2c/ov2680.c driver
> to add bugfixes, ACPI enumeration, selection API support and further
> improvments. After this the driver can be used with the atomisp driver
> and atomisp-ov2680.c can be dropped.
>
> This also gets the driver much closer to having everything needed for
> use with IPU3 / libcamera. I have a Lenovo Miix 510 now with an IPU3 +
> ov2680 sensor and with this series raw-capture using the ipu3-capture.sh
> script works. I plan to work on libcamera support for this in the near
> future.
>
> This series consist of 3 parts:
>
> 1. Patches 1-8 are bugfixes these are put first for backporting
>
> 2. Patch 9 converts the ov2680 driver to the new CCI helpers,
> the same has been done in the other series with the atomisp-ov2680
> driver and this makes it much easier to sync things up.
>
> Note this depends on the new CCI register helpers, these are being
> reviewed here:
>
> https://lore.kernel.org/linux-media/20230627125109.52354-1-hdegoede@redhat.com/
>
> 3. Patches 9 - 29 implement the ACPI enumeration,
> selection API support and further improvments.
>
> Regards,
>
> Hans
>
>
>
> Hans de Goede (29):
>   media: ov2680: Remove auto-gain and auto-exposure controls
>   media: ov2680: Fix ov2680_bayer_order()
>   media: ov2680: Fix vflip / hflip set functions
>   media: ov2680: Use select VIDEO_V4L2_SUBDEV_API
>   media: ov2680: Don't take the lock for try_fmt calls
>   media: ov2680: Add ov2680_fill_format() helper function
>   media: ov2680: Fix ov2680_set_fmt() which == V4L2_SUBDEV_FORMAT_TRY
>     not working
>   media: ov2680: Fix regulators being left enabled on ov2680_power_on()
>     errors
>   media: ov2680: Convert to new CCI register access helpers
>   media: ov2680: Store dev instead of i2c_client in ov2680_dev
>   media: ov2680: Check for "powerdown" GPIO con-id before checking for
>     "reset" GPIO con-id
>   media: ov2680: Add runtime-pm support
>   media: ov2680: Drop is_enabled flag
>   media: ov2680: Add support for more clk setups
>   media: ov2680: Add support for 19.2 MHz clock
>   media: ov2680: Add endpoint matching support
>   media: ov2680: Add support for ACPI enumeration
>   media: ov2680: Fix ov2680_enum_frame_interval()
>   media: ov2680: Annotate the per mode register setting lists
>   media: ov2680: Add ov2680_mode struct
>   media: ov2680: Make setting the mode algorithm based
>   media: ov2680: Add an __ov2680_get_pad_format() helper function
>   media: ov2680: Implement selection support
>   media: ov2680: Fix exposure and gain ctrls range and default value
>   media: ov2680: Add a bunch of register tweaks
>   media: ov2680: Drop unnecessary pad checks
>   media: ov2680: Read and log sensor revision during probe
>   media: ov2680: Add link-freq and pixel-rate controls
>   MAINTAINERS: Add Hans de Goede as OV2680 sensor driver maintainer
>
>  MAINTAINERS                |    1 +
>  drivers/media/i2c/Kconfig  |    2 +
>  drivers/media/i2c/ov2680.c | 1318 +++++++++++++++++++-----------------
>  3 files changed, 691 insertions(+), 630 deletions(-)
>
> --
> 2.41.0
>
  
Hans de Goede June 27, 2023, 2:30 p.m. UTC | #2
Hi Jacopo,

On 6/27/23 16:11, Jacopo Mondi wrote:
> Hi Hans
> 
>   seems like [12/29] is missing, it doesn't show up in patchwork
> neither:
> https://patchwork.linuxtv.org/project/linux-media/list/?series=10723
> 
> have I missed it ?

Nope looks like something ate it. I've just resend it using
"--in-reply-to=20230627131830.54601-1-hdegoede@redhat.com"
so that it should show up in the thread / patch-set.

Regards,

Hans




> 
> On Tue, Jun 27, 2023 at 03:18:01PM +0200, Hans de Goede wrote:
>> Hi All,
>>
>> Here is v3 of my ov2680 sensor driver patch series.
>>
>> Changes in v3:
>> - Add Rui Miguel Silva's Ack for the series
>> - 2 small fixes for remarks from Andy
>> - Add a new patch adding me as co-maintainer in MAINTAINERS
>>
>> Changes in v2
>> - Drop "media: Add MIPI CCI register access helper functions"
>>   (being reviewed in its own thread / patch-submission)
>> - Drop "media: ov2680: Add g_skip_frames op support"
>> - Add "media: ov2680: Fix regulators being left enabled on
>>   ov2680_power_on() errors"
>> - Add "media: ov2680: Add link-freq and pixel-rate controls"
>>   with this the driver now works on IPU3 with ipu3-capture.sh
>>   (libcamera support requires adding a couple more controls)
>> - Limit line length to 80 chars everywhere
>> - Address various small remarks from Andy
>>
>> During all the work done on the atomisp driver I have mostly been testing
>> on devices with an ov2680 sensor. As such I have also done a lot of work
>> on the atomisp-ov2680.c atomisp specific sensor driver.
>>
>> With the latest atomisp code from:
>> https://git.kernel.org/pub/scm/linux/kernel/git/hansg/linux.git/tag/?h=media-atomisp-6.5-1
>>
>> The atomisp code can now work with standard v4l2 sensor drivers using
>> the selections (crop-tgt) api and v4l2-async sensor driver registration.
>>
>> This patch series modifies the main drivers/media/i2c/ov2680.c driver
>> to add bugfixes, ACPI enumeration, selection API support and further
>> improvments. After this the driver can be used with the atomisp driver
>> and atomisp-ov2680.c can be dropped.
>>
>> This also gets the driver much closer to having everything needed for
>> use with IPU3 / libcamera. I have a Lenovo Miix 510 now with an IPU3 +
>> ov2680 sensor and with this series raw-capture using the ipu3-capture.sh
>> script works. I plan to work on libcamera support for this in the near
>> future.
>>
>> This series consist of 3 parts:
>>
>> 1. Patches 1-8 are bugfixes these are put first for backporting
>>
>> 2. Patch 9 converts the ov2680 driver to the new CCI helpers,
>> the same has been done in the other series with the atomisp-ov2680
>> driver and this makes it much easier to sync things up.
>>
>> Note this depends on the new CCI register helpers, these are being
>> reviewed here:
>>
>> https://lore.kernel.org/linux-media/20230627125109.52354-1-hdegoede@redhat.com/
>>
>> 3. Patches 9 - 29 implement the ACPI enumeration,
>> selection API support and further improvments.
>>
>> Regards,
>>
>> Hans
>>
>>
>>
>> Hans de Goede (29):
>>   media: ov2680: Remove auto-gain and auto-exposure controls
>>   media: ov2680: Fix ov2680_bayer_order()
>>   media: ov2680: Fix vflip / hflip set functions
>>   media: ov2680: Use select VIDEO_V4L2_SUBDEV_API
>>   media: ov2680: Don't take the lock for try_fmt calls
>>   media: ov2680: Add ov2680_fill_format() helper function
>>   media: ov2680: Fix ov2680_set_fmt() which == V4L2_SUBDEV_FORMAT_TRY
>>     not working
>>   media: ov2680: Fix regulators being left enabled on ov2680_power_on()
>>     errors
>>   media: ov2680: Convert to new CCI register access helpers
>>   media: ov2680: Store dev instead of i2c_client in ov2680_dev
>>   media: ov2680: Check for "powerdown" GPIO con-id before checking for
>>     "reset" GPIO con-id
>>   media: ov2680: Add runtime-pm support
>>   media: ov2680: Drop is_enabled flag
>>   media: ov2680: Add support for more clk setups
>>   media: ov2680: Add support for 19.2 MHz clock
>>   media: ov2680: Add endpoint matching support
>>   media: ov2680: Add support for ACPI enumeration
>>   media: ov2680: Fix ov2680_enum_frame_interval()
>>   media: ov2680: Annotate the per mode register setting lists
>>   media: ov2680: Add ov2680_mode struct
>>   media: ov2680: Make setting the mode algorithm based
>>   media: ov2680: Add an __ov2680_get_pad_format() helper function
>>   media: ov2680: Implement selection support
>>   media: ov2680: Fix exposure and gain ctrls range and default value
>>   media: ov2680: Add a bunch of register tweaks
>>   media: ov2680: Drop unnecessary pad checks
>>   media: ov2680: Read and log sensor revision during probe
>>   media: ov2680: Add link-freq and pixel-rate controls
>>   MAINTAINERS: Add Hans de Goede as OV2680 sensor driver maintainer
>>
>>  MAINTAINERS                |    1 +
>>  drivers/media/i2c/Kconfig  |    2 +
>>  drivers/media/i2c/ov2680.c | 1318 +++++++++++++++++++-----------------
>>  3 files changed, 691 insertions(+), 630 deletions(-)
>>
>> --
>> 2.41.0
>>
>