All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rosikopulos, GjorgjiX" <gjorgjix.rosikopulos@linux.intel.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Martina Krasteva <martinax.krasteva@linux.intel.com>
Cc: linux-media@vger.kernel.org, mchehab@kernel.org,
	robh+dt@kernel.org, devicetree@vger.kernel.org,
	sakari.ailus@linux.intel.com,
	daniele.alessandrelli@linux.intel.com,
	paul.j.murphy@linux.intel.com
Subject: Re: [PATCH 00/10] Keem Bay Camera Subsystem
Date: Fri, 16 Apr 2021 11:20:40 +0000	[thread overview]
Message-ID: <4084cf8d-61f4-2ae4-b6d4-47668996a446@linux.intel.com> (raw)
In-Reply-To: <YHlazqJeQp4cFYMl@pendragon.ideasonboard.com>

Hi Laurent,

On 16/04/2021 09:37, Laurent Pinchart wrote:
> Hi Martina and Gjorgji,
>
> Nice to see a new ISP driver :-)
Pleasure for us submit new ISP driver :-).
>
> Before reviewing patches in details, I have a few high-level questions:
>
> - The driver seems to proxy access to the ISP through the VPU firmware.
>    I assume the VPU is a separate CPU core that controls the hardware
>    directly. Is that correct ?

Yes that is correct.

>
> - Does this driver support all the features of the ISP, or only the
>    subset that a particular VPU firmware exposes ? In particular, the ISP
>    is exposed as an inline block, which no memory buffer between the
>    CSI-2 receiver and the ISP, and no ability to capture raw frames. How
>    is one supposed to tune cameras ?

The driver exposes all the features supported by ISP the firmware as 
high level API.

However this patch-set is not exposing all the features of the VPU API 
in userspace. Some of them will came in next patch-set some of them

are part of the separate patch-set (HDR 2DOL and 3DOL support).

The changes which will be posted in next patch-set are:

1. Raw capture support (link can be activated per need).

2. Support for 2 additional scaled outputs which again their links can 
be activated per need.

3. The full size output which is included in this patch-set will remain 
immutable active.


The additional features which will be added as separate patch-set and 
RFC are:

4. 2DOL and 3DOL support. We dont have yet interface for multiple 
streams over one link. We will use current RFC for that. (That why this 
is not included in first patch-set).

Also we need to discuss how to enable raw capture for 2DOL and 3DOL 
usecases....


Regarding the VPU operation. The VPU captures frames from CSI2 in to 
memory and then uses ISP mem2mem processing, there is internal memory 
pool used by the firmware.

When raw capture is enabled the raw buffer pool is allocated in the 
linux driver side and used by VPU for storing the frames to memory, then 
they are processed

by ISP and returned to linux driver side.

>
> - More documentation is needed for both the device architecture (in
>    particular a block diagram of the processing pipeline), and the
>    configuration parameters. Is there ongoing work in this area ?
Yes this is painful part. We are working to get approval for providing 
the needed documentation...
>
> - Last but not least, we need a reference userspace implementation to
>    test this driver. I recommend implementing support in libcamera :-)

So i am not sure if this is a planned effort. Currently we are using 
yavta for doing tests same as IPU3 example,

with prepared configurations and read them from file. I agree that it 
will be great to have libcamera support but

for now is not part of our up-streaming effort :/

Regards,

~Gjorgji

>
> On Fri, Mar 19, 2021 at 06:06:22PM +0000, Martina Krasteva wrote:
>> From: Martina Krasteva <martinax.krasteva@intel.com>
>>
>> Patch series contains Keem Bay Camera Subsystem driver implementation,
>> documentation and devicetree binding document.
>>
>> Gjorgji Rosikopulos (7):
>>    media: Keem Bay Camera: Keem Bay camera driver
>>    media: Keem Bay Camera: Add VPU camera interface
>>    uapi: Keem Bay ISP Parameters data types
>>    media: v4l: Add Keem Bay Camera meta buffer formats
>>    media: Keem Bay Camera: Add ISP sub-device
>>    media: Keem Bay Camera: Add metadata video node
>>    media: admin-guide: Add documentation for Keem Bay Camera
>>
>> Martina Krasteva (3):
>>    dt-bindings: media: Add bindings for Keem Bay Camera
>>    media: Keem Bay Camera: Add pipeline support
>>    media: Keem Bay Camera: Add capture video node
>>
>>   Documentation/admin-guide/media/keembay-camera.dot |   12 +
>>   Documentation/admin-guide/media/keembay-camera.rst |  174 ++
>>   Documentation/admin-guide/media/v4l-drivers.rst    |    1 +
>>   .../bindings/media/intel,keembay-camera.yaml       |   98 ++
>>   .../userspace-api/media/v4l/meta-formats.rst       |    1 +
>>   .../media/v4l/pixfmt-meta-intel-kmb.rst            |   98 ++
>>   MAINTAINERS                                        |   14 +
>>   drivers/media/platform/Kconfig                     |    1 +
>>   drivers/media/platform/Makefile                    |    2 +
>>   drivers/media/platform/keembay-camera/Kconfig      |   11 +
>>   drivers/media/platform/keembay-camera/Makefile     |    5 +
>>   .../platform/keembay-camera/keembay-cam-xlink.c    |  327 ++++
>>   .../platform/keembay-camera/keembay-cam-xlink.h    |   49 +
>>   .../media/platform/keembay-camera/keembay-camera.c |  287 +++
>>   .../media/platform/keembay-camera/keembay-camera.h |   43 +
>>   .../media/platform/keembay-camera/keembay-isp.c    | 1397 +++++++++++++++
>>   .../media/platform/keembay-camera/keembay-isp.h    |  136 ++
>>   .../platform/keembay-camera/keembay-metadata.c     | 1860 ++++++++++++++++++++
>>   .../platform/keembay-camera/keembay-metadata.h     |  154 ++
>>   .../keembay-camera/keembay-params-defaults.c       |  326 ++++
>>   .../keembay-camera/keembay-params-defaults.h       |   38 +
>>   .../platform/keembay-camera/keembay-pipeline.c     |  401 +++++
>>   .../platform/keembay-camera/keembay-pipeline.h     |   75 +
>>   .../media/platform/keembay-camera/keembay-video.c  |  922 ++++++++++
>>   .../media/platform/keembay-camera/keembay-video.h  |   74 +
>>   .../platform/keembay-camera/keembay-vpu-cmd.h      |  110 ++
>>   .../platform/keembay-camera/keembay-vpu-frame.h    |  102 ++
>>   .../platform/keembay-camera/keembay-vpu-isp.h      |  724 ++++++++
>>   .../platform/keembay-camera/keembay-vpu-pipe.h     |  110 ++
>>   .../platform/keembay-camera/keembay-vpu-src.h      |  193 ++
>>   include/uapi/linux/keembay-isp-ctl.h               |  796 +++++++++
>>   include/uapi/linux/videodev2.h                     |    4 +
>>   32 files changed, 8545 insertions(+)
>>   create mode 100644 Documentation/admin-guide/media/keembay-camera.dot
>>   create mode 100644 Documentation/admin-guide/media/keembay-camera.rst
>>   create mode 100644 Documentation/devicetree/bindings/media/intel,keembay-camera.yaml
>>   create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-meta-intel-kmb.rst
>>   create mode 100644 drivers/media/platform/keembay-camera/Kconfig
>>   create mode 100644 drivers/media/platform/keembay-camera/Makefile
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-cam-xlink.c
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-cam-xlink.h
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-camera.c
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-camera.h
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-isp.c
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-isp.h
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-metadata.c
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-metadata.h
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-params-defaults.c
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-params-defaults.h
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-pipeline.c
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-pipeline.h
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-video.c
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-video.h
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-vpu-cmd.h
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-vpu-frame.h
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-vpu-isp.h
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-vpu-pipe.h
>>   create mode 100644 drivers/media/platform/keembay-camera/keembay-vpu-src.h
>>   create mode 100644 include/uapi/linux/keembay-isp-ctl.h
>>
>>
>> base-commit: f00397ee41c79b6155b9b44abd0055b2c0621349

      reply	other threads:[~2021-04-16 11:20 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-19 18:06 [PATCH 00/10] Keem Bay Camera Subsystem Martina Krasteva
2021-03-19 18:06 ` [PATCH 01/10] dt-bindings: media: Add bindings for Keem Bay Camera Martina Krasteva
2021-03-19 21:49   ` Rob Herring
2021-03-19 18:06 ` [PATCH 02/10] media: Keem Bay Camera: Keem Bay camera driver Martina Krasteva
2021-03-19 18:06 ` [PATCH 03/10] media: Keem Bay Camera: Add VPU camera interface Martina Krasteva
2021-04-09 12:01   ` Sakari Ailus
2021-04-09 14:39     ` Martina Krasteva
2021-03-19 18:06 ` [PATCH 04/10] uapi: Keem Bay ISP Parameters data types Martina Krasteva
2021-03-19 20:58   ` kernel test robot
2021-03-19 20:58     ` kernel test robot
2021-03-22 13:32   ` Sakari Ailus
2021-03-19 18:06 ` [PATCH 05/10] media: v4l: Add Keem Bay Camera meta buffer formats Martina Krasteva
2021-03-22 18:27   ` Sakari Ailus
2021-03-24 17:20     ` Rosikopulos, GjorgjiX
2021-03-24 17:23     ` Rosikopulos, GjorgjiX
2021-03-19 18:06 ` [PATCH 06/10] media: Keem Bay Camera: Add ISP sub-device Martina Krasteva
2021-04-09  8:31   ` Sakari Ailus
2021-04-09 10:17     ` Martina Krasteva
2021-03-19 18:06 ` [PATCH 07/10] media: Keem Bay Camera: Add pipeline support Martina Krasteva
2021-03-19 18:06 ` [PATCH 08/10] media: Keem Bay Camera: Add capture video node Martina Krasteva
2021-04-09 14:32   ` Sakari Ailus
2021-03-19 18:06 ` [PATCH 09/10] media: Keem Bay Camera: Add metadata " Martina Krasteva
2021-04-09 10:24   ` Sakari Ailus
2021-04-09 14:19     ` Martina Krasteva
2021-04-09 14:36       ` 'Sakari Ailus'
2021-03-19 18:06 ` [PATCH 10/10] media: admin-guide: Add documentation for Keem Bay Camera Martina Krasteva
2021-04-16  9:37 ` [PATCH 00/10] Keem Bay Camera Subsystem Laurent Pinchart
2021-04-16 11:20   ` Rosikopulos, GjorgjiX [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=4084cf8d-61f4-2ae4-b6d4-47668996a446@linux.intel.com \
    --to=gjorgjix.rosikopulos@linux.intel.com \
    --cc=daniele.alessandrelli@linux.intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=martinax.krasteva@linux.intel.com \
    --cc=mchehab@kernel.org \
    --cc=paul.j.murphy@linux.intel.com \
    --cc=robh+dt@kernel.org \
    --cc=sakari.ailus@linux.intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.