From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Hans de Goede <hdegoede@redhat.com>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>,
bingbu.cao@intel.com, linux-media@vger.kernel.org,
andriy.shevchenko@linux.intel.com, ilpo.jarvinen@linux.intel.com,
claus.stovgaard@gmail.com, tomi.valkeinen@ideasonboard.com,
tfiga@chromium.org, senozhatsky@chromium.org,
andreaskleist@gmail.com, bingbu.cao@linux.intel.com,
tian.shu.qiu@intel.com, hongju.wang@intel.com
Subject: Re: [PATCH v3 00/15] Intel IPU6 and IPU6 input system drivers
Date: Tue, 16 Jan 2024 19:48:23 +0200 [thread overview]
Message-ID: <20240116174823.GD16531@pendragon.ideasonboard.com> (raw)
In-Reply-To: <008f30be-7d1b-498c-88fa-d8cf061e19fa@redhat.com>
On Tue, Jan 16, 2024 at 05:57:14PM +0100, Hans de Goede wrote:
> Hi,
>
> On 1/16/24 17:54, Sakari Ailus wrote:
> > Hi Hans,
> >
> > On Tue, Jan 16, 2024 at 05:12:50PM +0100, Hans de Goede wrote:
> >> Hi,
> >>
> >> On 1/11/24 07:55, bingbu.cao@intel.com wrote:
> >>> From: Bingbu Cao <bingbu.cao@intel.com>
> >>>
> >>> This patch series adds a driver for Intel IPU6 input system.
> >>> IPU6 is the sixth generation of Imaging Processing Unit, it is a PCI
> >>> device which can be found in some Intel Client Platforms. User can use
> >>> IPU6 to capture images from MIPI camera sensors.
> >>>
> >>> IPU6 has its own firmware which exposes ABIs to driver, and communicates
> >>> with CSE to do firmware authentication. IPU6 has its MMU hardware, so
> >>> the driver sets up a page table to allow IPU6 DMA to access the system
> >>> memory.
> >>>
> >>> IPU6 input system driver uses MC and V4L2 sub-device APIs besides V4L2.
> >>> ---
> >>> v2 -> v3:
> >>> - Add line-based metadata capture support
> >>> - Fix header files inclusion issues
> >>> - Fix the CSI2 timing calculation
> >>> - Fix crash when remove module during streaming
> >>> - Remove some unused code
> >>> - Use cross-referencing links in documentation
> >>> - Update Makefile to use ":=" for objects
> >>> - Fix several bugs and coding style issues
> >>
> >> So I've given this version a try on a Lenovo X1 yoga gen 8 with ov2740
> >> sensor using the ongoing libcamera SoftISP work + this small patch
> >> to enable the SoftISP on IPU6 :
> >>
> >> https://github.com/jwrdegoede/libcamera/commit/3172f3703cf7076390fbf86c3b43e388c2422b31
> >>
> >> things work fine when using patch 1-15 + 17 on top of 6.7, note
> >> I'm skipping patch 16 ("media: ipu6/isys: support line-based
> >> metadata capture support")" here!
> >>
> >> However when I instead apply the whole series on top of:
> >> https://git.linuxtv.org/sailus/media_tree.git/log/?h=metadata
> >>
> >> Then things stop working, with the following errors
> >> (I added extra error logging to figure out in which syscall
> >> resetRoutingTable() fails and made libcamera ignore the routing
> >> errors):
> >>
> >> [2:02:04.466310686] [8943] ERROR SimplePipeline simple.cpp:1443 GetRouting() failed -25
> >> [2:02:04.466315975] [8943] ERROR SimplePipeline simple.cpp:1574 Failed to reset routes for /dev/v4l-subdev1: Inappropriate ioctl for device
> >> [2:02:04.466366331] [8943] ERROR SimplePipeline simple.cpp:1443 GetRouting() failed -25
> >> [2:02:04.466370025] [8943] ERROR SimplePipeline simple.cpp:1574 Failed to reset routes for /dev/v4l-subdev4: Inappropriate ioctl for device
> >> [2:03:32.334708887] [8929] INFO Camera camera.cpp:1183 configuring streams: (0) 1924x1088-BGR888
> >> [2:03:32.335129023] [8943] ERROR SimplePipeline simple.cpp:1205 Unable to configure capture in 1932x1092-BA10 (got 0x0-@...)
> >> Failed to configure camera.
> >>
> >> I was sorta assuming that the new metadata-stream support would
> >> be backwards compatible for userspace without support for this,
> >> so I think this is a bug ?
> >
> > That's the intention when it comes to the kernel APIs indeed.
> >
> > I wonder how the simple pipeline handler works with this, does it try to
> > configure both streams all the way from the internal source pad to the
> > video node? This will certainly fail without metadata support in the ISYS
> > driver. Just guessing the cause though. An extra stream from the source pad
> > won't fail pipeline validation.
> >
> > I should be able to set up a system to test this, too.
>
> I did include Bingbu's patch to add metadata to the isys driver for my
> testing (and I also tried reverting just that patch). I think the issue
> might be that libcamera already has some streams awareness based on
> an older streams patch-set.
Correct. It uses the G_ROUTING and S_ROUTING ioctls, and those have
chenged in the latest kernel patch series.
The simple pipeline handler doesn't configure routing as such, it gets
the default routes with G_ROUTING(TRY) if the device advertises routing
support, and calls S_ROUTING(ACTIVE) to reset the routes to the default.
It then uses the routes to walk the pipeline, but doesn't change them.
> I'll retest when Laurent's branch for this is ready.
--
Regards,
Laurent Pinchart
prev parent reply other threads:[~2024-01-16 17:48 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-11 6:55 [PATCH v3 00/15] Intel IPU6 and IPU6 input system drivers bingbu.cao
2024-01-11 6:55 ` [PATCH v3 01/17] media: intel/ipu6: add Intel IPU6 PCI device driver bingbu.cao
2024-01-15 13:36 ` Hans de Goede
2024-01-15 13:45 ` Sakari Ailus
2024-01-11 6:55 ` [PATCH v3 02/17] media: intel/ipu6: add IPU auxiliary devices bingbu.cao
2024-01-11 6:55 ` [PATCH v3 03/17] media: intel/ipu6: add IPU6 buttress interface driver bingbu.cao
2024-01-11 6:55 ` [PATCH v3 04/17] media: intel/ipu6: CPD parsing for get firmware components bingbu.cao
2024-01-11 6:55 ` [PATCH v3 05/17] media: intel/ipu6: add IPU6 DMA mapping API and MMU table bingbu.cao
2024-01-11 6:55 ` [PATCH v3 06/17] media: intel/ipu6: add syscom interfaces between firmware and driver bingbu.cao
2024-01-11 6:55 ` [PATCH v3 07/17] media: intel/ipu6: input system ABI " bingbu.cao
2024-01-15 12:17 ` Sakari Ailus
2024-01-11 6:55 ` [PATCH v3 08/17] media: intel/ipu6: add IPU6 CSI2 receiver v4l2 sub-device bingbu.cao
2024-01-11 6:55 ` [PATCH v3 09/17] media: intel/ipu6: add the CSI2 DPHY implementation bingbu.cao
2024-01-11 6:55 ` [PATCH v3 10/17] media: intel/ipu6: add input system driver bingbu.cao
2024-01-11 14:05 ` Sakari Ailus
2024-02-07 9:36 ` Andreas Helbech Kleist
2024-02-12 18:31 ` Sakari Ailus
2024-02-15 6:43 ` Andreas Helbech Kleist
2024-02-15 8:06 ` Sakari Ailus
2024-01-11 6:55 ` [PATCH v3 11/17] media: intel/ipu6: input system video capture nodes bingbu.cao
2024-03-08 9:58 ` Andreas Helbech Kleist
2024-01-11 6:55 ` [PATCH v3 12/17] media: add Kconfig and Makefile for IPU6 bingbu.cao
2024-01-11 6:55 ` [PATCH v3 13/17] MAINTAINERS: add maintainers for Intel IPU6 input system driver bingbu.cao
2024-01-11 6:55 ` [PATCH v3 14/17] Documentation: add Intel IPU6 ISYS driver admin-guide doc bingbu.cao
2024-01-11 6:55 ` [PATCH v3 15/17] Documentation: add documentation of Intel IPU6 driver and hardware overview bingbu.cao
2024-01-11 6:55 ` [PATCH v3 16/17] media: ipu6/isys: support line-based metadata capture support bingbu.cao
2024-01-11 12:52 ` Sakari Ailus
2024-01-11 21:20 ` kernel test robot
2024-01-12 3:31 ` kernel test robot
2024-01-11 6:55 ` [PATCH v3 17/17] media: ipu6/isys: support new v4l2 subdev state APIs bingbu.cao
2024-01-11 12:37 ` Sakari Ailus
2024-01-16 16:12 ` [PATCH v3 00/15] Intel IPU6 and IPU6 input system drivers Hans de Goede
2024-01-16 16:18 ` Laurent Pinchart
2024-01-16 16:38 ` Hans de Goede
2024-01-16 16:42 ` Laurent Pinchart
2024-01-16 16:43 ` Hans de Goede
2024-01-16 16:54 ` Sakari Ailus
2024-01-16 16:57 ` Hans de Goede
2024-01-16 17:48 ` Laurent Pinchart [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240116174823.GD16531@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=andreaskleist@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bingbu.cao@intel.com \
--cc=bingbu.cao@linux.intel.com \
--cc=claus.stovgaard@gmail.com \
--cc=hdegoede@redhat.com \
--cc=hongju.wang@intel.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-media@vger.kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=senozhatsky@chromium.org \
--cc=tfiga@chromium.org \
--cc=tian.shu.qiu@intel.com \
--cc=tomi.valkeinen@ideasonboard.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox