mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Marek Vasut <marek.vasut@mailbox.org>
To: "Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Kuninori Morimoto" <kuninori.morimoto.gx@renesas.com>,
	"Jacopo Mondi" <jacopo.mondi@ideasonboard.com>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 01/12] media: rppx1: Add framework to support Dreamchip RPPX1 ISP
Date: Thu, 25 Dec 2025 21:59:43 +0100	[thread overview]
Message-ID: <5401228b-e8e3-4f2b-b91c-7e202afd9fdb@mailbox.org> (raw)
In-Reply-To: <20251225171054.1370856-2-niklas.soderlund+renesas@ragnatech.se>

On 12/25/25 6:10 PM, Niklas Söderlund wrote:
> Add a framework driver for Dreamchip RPPX1 ISP. The driver aims to
> provide a framework for other V4L2 based drivers to drive the RPPX1
> functionality. The reason for this split is that the RPPX1 IP itself do
> not provide any DMA engines to drive data to/from the device, instead it
> depends on other IP blocks to implement these features.
> 
> While the peripherals around the RPPX1 ISP used in different designs and
> by different vendors are different the RPPX1 core itself is the same.
> For this reason the framework solution to be able to split the Dreamchip
> RPPX1 driver from vendors usage of it have been picked in hope to reduce
> duplication of the common parts.
> 
> The functions provided by the RPPX1 is similar to what is exposed by
> other ISP drivers already in tree (RkISP1 primarily), but the
> implementation of them are different. It do however open up for the
> possibility to reuse the RkISP1 parameter and statistics pixel formats
> in an initial implementation.
> 
> The design is to try and keep the surface of this framework as small as
> possible. The intention of this change is to be able to fill all needs
> of this.
> 
>    * Two functions to create and destroy a RPPX1 instance, rppx1_create()
>      and rppx1_destory(). These are intended to be called in the users
>      probe and remove code paths.
> 
>    * Two functions to start and stop the RPPX1 processing, rppx1_start()
>      and rppx1_stop(). These are intended to be called in the users
>      stream on and stream off code paths.
> 
>    * One function to ask the RPPX1 to process parameters buffer prepared
>      by user space, rppx1_params_rkisp1(). This is intended to translate
>      the parameter buffer (RkISP1 format) to the register writes needed
>      to be preformed on the RPPX1. The intention is to call this function
>      when the parameter buffer is queued to the V4L2 driver and the
>      result stored by the driver until the time it needs to be written to
>      the RPPX1. It's the users responsibility to write it either using
>      MMIO or other means.
> 
>    * One function to fill in a statistic buffer (RkISP1 format) based on
>      the current status of the RPPX1, rppx1_stats_fill_isr(). The
>      intention is that the user call's this in its interrupt handler when
>      it knows the RPPX1 is done processing a frame.
> 
>    * One function to ack and retrieve the interrupts generated by the
>      RPPX1, rppx1_interrupt(). The intention is to call this function
>      when the users interrupt handler detects the RPPX1 have raised and
>      interrupt. There is no need for the user to understand, or act, on
>      the actual RPPX1 interrupt, but it can if it wants too.
> 
> The initial support in the framework is limited and do not implement any
> ISP processing algorithms other then configuring the RPPX1 to process
> any Bayer (8-, 10, or 12-bit) image and produce either a RGB or YUYV
> output. It do however probe all function blocks of the RPPX1 and provide
> an interface to interact with both parameter and statistic bufferers.
> The user of the framework will not change as algorithms for the
> different function blocks of the ISP are being added.
> 
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> Tested-by: Marek Vasut'<marek.vasut+renesas@mailbox.org>                        ^

Tested-by: Marek Vasut <marek.vasut+renesas@mailbox.org>

(in case the apostrophe corrupted the TB tag)

Thank you for your hard work !

  reply	other threads:[~2025-12-25 20:59 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-25 17:10 [PATCH v5 00/12] media: Add support for R-Car ISP using " Niklas Söderlund
2025-12-25 17:10 ` [PATCH v5 01/12] media: rppx1: Add framework to support " Niklas Söderlund
2025-12-25 20:59   ` Marek Vasut [this message]
2025-12-25 17:10 ` [PATCH v5 02/12] media: rcar-isp: Add support for ISPCORE Niklas Söderlund
2026-02-04 16:29   ` Jacopo Mondi
2025-12-25 17:10 ` [PATCH v5 03/12] media: rppx1: Add support for AWB measurement parameters and statistics Niklas Söderlund
2025-12-25 17:10 ` [PATCH v5 04/12] media: rppx1: Add support for AWB gain settings Niklas Söderlund
2025-12-25 17:10 ` [PATCH v5 05/12] media: rppx1: Add support for Auto Exposure Measurement Niklas Söderlund
2025-12-25 17:10 ` [PATCH v5 06/12] media: rppx1: Add support for Histogram Measurement Niklas Söderlund
2025-12-25 17:10 ` [PATCH v5 07/12] media: rppx1: Add support for Black Level Subtraction Niklas Söderlund
2025-12-25 17:10 ` [PATCH v5 08/12] media: rppx1: Add support for Color Correction Matrix Niklas Söderlund
2025-12-25 17:10 ` [PATCH v5 09/12] media: rppx1: Add support for Lens Shade Correction Niklas Söderlund
2025-12-25 17:10 ` [PATCH v5 10/12] media: rppx1: Add support for Gamma Correction Niklas Söderlund
2025-12-25 17:10 ` [PATCH v5 11/12] media: rppx1: Add support for Bayer Demosaicing Niklas Söderlund
2025-12-25 17:10 ` [PATCH v5 12/12] media: rppx1: Add support for Bilateral Denoising Niklas Söderlund

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=5401228b-e8e3-4f2b-b91c-7e202afd9fdb@mailbox.org \
    --to=marek.vasut@mailbox.org \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=niklas.soderlund+renesas@ragnatech.se \
    /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

Powered by JetHome