Update the register 0x3503 to use 'no delay latch' for gain.
This makes sensor to output the first frame as normal rather
than a very dark one.
Signed-off-by: Shunqian Zheng
---
drivers/media/i2c/ov2685.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
On Wed, 2018-02-28 at 22:09 -0600, Gustavo A. R. Silva wrote:
> Fix inconsistent IS_ERR and PTR_ERR in imx_csi_probe.
> The proper pointer to be passed as argument is pinctrl
> instead of priv->vdev.
>
> This issue was detected with the help of Coccinelle.
>
> Fixes: 52e17089d185 ("media: imx:
Em Wed, 28 Feb 2018 09:49:12 -0500
Devin Heitmueller escreveu:
> On Tue, Feb 27, 2018 at 12:42 PM, Mauro Carvalho Chehab
> wrote:
> > While coherent memory is cheap on x86, it has problems on
> > arm. So, stop using it.
> >
> >
When using planar formats, we want to check pix_mp, not pix.
Signed-off-by: Alexandre Courbot
---
utils/v4l2-compliance/v4l2-test-formats.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/utils/v4l2-compliance/v4l2-test-formats.cpp
[ I know you're just copying files, but you might have a fix for these
since you're looking at the code. - dan ]
Hello Jacopo Mondi,
The patch e0d76c3842ee: "media: i2c: Copy tw9910 soc_camera sensor
driver" from Feb 21, 2018, leads to the following static checker
warning:
On Thu, Mar 01, 2018 at 12:19:37AM +0100, Arnd Bergmann wrote:
> The PM runtime operations are unused when CONFIG_PM is disabled,
> leading to a harmless warning:
>
> drivers/media/platform/renesas-ceu.c:1003:12: error: 'ceu_runtime_suspend'
> defined but not used [-Werror=unused-function]
>
The ">" should be ">=" so that we don't read one element beyond the end
of the array.
Fixes: 8a77009be4be ("media: ov5695: add support for OV5695 sensor")
Signed-off-by: Dan Carpenter
diff --git a/drivers/media/i2c/ov5695.c b/drivers/media/i2c/ov5695.c
index
Hi Shunqian,
On Thu, Mar 1, 2018 at 5:44 PM, Shunqian Zheng wrote:
> Update the register 0x3503 to use 'no delay latch' for gain.
> This makes sensor to output the first frame as normal rather
> than a very dark one.
I'm not 100% sure on how this setting works, but
Hi Tomasz,
On 2018年03月01日 16:53, Tomasz Figa wrote:
Hi Shunqian,
On Thu, Mar 1, 2018 at 5:44 PM, Shunqian Zheng wrote:
Update the register 0x3503 to use 'no delay latch' for gain.
This makes sensor to output the first frame as normal rather
than a very dark one.
I'm
On Thu, Mar 1, 2018 at 7:55 AM, Michael Ira Krufky wrote:
> Please pull the following typo fix in the Kconfig for dvb-mmap:
>
> The following changes since commit 4df7ac5f42087dc9bcbed04b5cada0f025fbf9ef:
>
> drivers/media/Kconfig: typo: replace `with` with `which`
The Cadence MIPI-CSI2 TX controller is a CSI2 bridge that supports up to 4
video streams and can output on up to 4 CSI-2 lanes, depending on the
hardware implementation.
It can operate with an external D-PHY, an internal one or no D-PHY at all
in some configurations.
Acked-by: Rob Herring
The Cadence MIPI-CSI2 TX controller is an hardware block meant to be used
as a bridge between pixel interfaces and a CSI-2 bus.
It supports operating with an internal or external D-PHY, with up to 4
lanes, or without any D-PHY. The current code only supports the latter
case.
While the virtual
Hi,
Here is an attempt at supporting the MIPI-CSI2 TX block from Cadence.
This IP block is able to receive 4 video streams and stream them over
a MIPI-CSI2 link using up to 4 lanes. Those streams are basically the
interfaces to controllers generating some video signals, like a camera
or a
Mauro,
Please pull the following typo fix in the Kconfig for dvb-mmap:
The following changes since commit 4df7ac5f42087dc9bcbed04b5cada0f025fbf9ef:
drivers/media/Kconfig: typo: replace `with` with `which` (2018-02-15
08:01:22 -0500)
are available in the git repository at:
Hi Hans
On 02/02/2018 11:05 AM, Hans Verkuil wrote:
If the subdev did not define any controls, then return -ENOTTY if
userspace attempts to call these ioctls.
The control framework functions will return -EINVAL, not -ENOTTY if
vfh->ctrl_handler is NULL.
Several of these framework functions
Hi Hans,
On 02/07/2018 03:06 PM, Hans Verkuil wrote:
Instead of calling everything a MEDIA_ENT_F_ATV_DECODER, pick the
correct functions for these blocks.
Nice, thanks for the patch
Signed-off-by: Hans Verkuil
Acked-by: Helen Koike
Update multiline statements to open parenthesis.
Update a ?: to a single line.
Signed-off-by: Joe Perches
---
drivers/media/i2c/tw9910.c | 19 +--
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/drivers/media/i2c/tw9910.c
Yet more whitespace and style neatening
o Add blank lines before returns
o Reverse a logic test and return early on error
o Move formats to same line as dev_ calls
o Remove an unnecessary period from a logging message
Signed-off-by: Joe Perches
---
drivers/media/i2c/tw9910.c
Hi Hans,
Thanks for the patch
On 02/02/2018 11:00 AM, Hans Verkuil wrote:
The sensor subdev didn't handle control events. Add support for this.
Found with v4l2-compliance.
Signed-off-by: Hans Verkuil
Acked-by: Helen Koike
---
diff --git
Add a V4L2 sub-device driver for the Sony IMX258 image sensor.
This is a camera sensor using the I2C bus for control and the
CSI-2 bus for data.
Signed-off-by: Andy Yeh
Signed-off-by: Jason Chen
Signed-off-by: Alan Chiang
---
Hi Kieran,
I like this change :-)
On 2018-02-27 15:05:50 +, Kieran Bingham wrote:
> From: Kieran Bingham
>
> The ADV748x has twelve 256-byte maps that can be accessed via the main
> I2C ports. Each map has it own I2C address and acts as a standard slave
>
On Thu, Mar 1, 2018 at 1:09 AM, Gustavo A. R. Silva
wrote:
> Fix inconsistent IS_ERR and PTR_ERR in imx_csi_probe.
> The proper pointer to be passed as argument is pinctrl
> instead of priv->vdev.
>
> This issue was detected with the help of Coccinelle.
>
> Fixes:
Hi Maxime,
Thanks for your patch-set,
On 2018-03-01 12:30:47 +0100, Maxime Ripard wrote:
> Hi,
>
> Here is an attempt at supporting the MIPI-CSI2 TX block from Cadence.
>
> This IP block is able to receive 4 video streams and stream them over
> a MIPI-CSI2 link using up to 4 lanes. Those
On Thu, 2018-03-01 at 13:02 -0300, Fabio Estevam wrote:
> On Thu, Mar 1, 2018 at 1:09 AM, Gustavo A. R. Silva
> wrote:
> > Fix inconsistent IS_ERR and PTR_ERR in imx_csi_probe.
> > The proper pointer to be passed as argument is pinctrl
> > instead of priv->vdev.
> >
> >
Hi Maxime,
Thanks for your patch,
I did not do a full review on this series, I only browsed it to check
how you handled some CSI-2 related problems. While doing so I noticed a
few small issues.
On 2018-03-01 12:30:49 +0100, Maxime Ripard wrote:
> The Cadence MIPI-CSI2 TX controller is an
Steve, Phiipp,
On Thu, Mar 1, 2018 at 1:02 PM, Fabio Estevam wrote:
> So imx_csi_probe() does not succeed anymore since
> devm_pinctrl_get_select_default() always fails.
>
> Not sure I understand the comments that explain the need for pinctrl
> handling inside the driver.
>
Hi Kieran,
Thanks for your patch,
On 2018-02-27 15:05:48 +, Kieran Bingham wrote:
> From: Kieran Bingham
>
> The ADV748x has identical map configurations for each register map. The
> duplication of each map can be simplified using a helper macro such that
>
Maxime,
Thanks you for the patch,
Maxime Ripard wrote on Thu [2018-Mar-01 12:30:49
+0100]:
> The Cadence MIPI-CSI2 TX controller is an hardware block meant to be used
> as a bridge between pixel interfaces and a CSI-2 bus.
>
> It supports operating with an internal
Maxime,
Thank you for the patch.
Maxime Ripard wrote on Thu [2018-Feb-15 14:33:35
+0100]:
> The Cadence CSI-2 RX Controller is an hardware block meant to be used as a
> bridge between a CSI-2 bus and pixel grabbers.
>
> It supports operating with internal or
When Gen3 support is added to the driver more than model ID will be
different for the different SoCs. To avoid a lot of if statements in the
code create a struct rvin_info to store this information.
While we are at it rename the poorly chosen enum which contains the
different model IDs from
On Gen3 the CSI-2 routing is controlled by the VnCSI_IFMD register. One
feature of this register is that it's only present in the VIN0 and VIN4
instances. The register in VIN0 controls the routing for VIN0-3 and the
register in VIN4 controls routing for VIN4-7.
To be able to control routing from
Remove over complicated logic to calculate the value for bytesperline
and sizeimage that was carried over from the soc_camera port. There is
no need to find the max value of bytesperline and sizeimage from
user-space as they are set to 0 before the max_t() operation.
Signed-off-by: Niklas
On Gen3 the max supported width and height will be different from Gen2.
Move the limits to the struct rvin_info to prepare for Gen3 support.
Signed-off-by: Niklas Söderlund
Reviewed-by: Kieran Bingham
Reviewed-by:
If the video device was registered by the complete() callback it should
be unregistered when a device is unbound from the driver. Protect from
printing an uninitialized video device node name by adding a check in
rvin_v4l2_unregister() to identify that the video device is registered.
In preparation for Gen3 support move the subdevice initialization and
clean up from rvin_v4l2_{register,unregister}() directly to the async
callbacks. This simplifies the addition of Gen3 support as the
rvin_v4l2_register() can be shared for both Gen2 and Gen3 while direct
subdevice control are
If the field is not supported by the driver it should not try to keep
the current field. Instead it should set it to a default fallback. Since
trying a format should always result in the same state regardless of the
current state of the device.
Signed-off-by: Niklas Söderlund
Document the devicetree bindings for the CSI-2 inputs available on Gen3.
There is a need to add a custom property 'renesas,id' and to define
which CSI-2 input is described in which endpoint under the port@1 node.
This information is needed since there are a set of predefined routes
between each
Part of the format alignment and checking can be shared with the Gen3
format handling. Break that part out to a separate function.
Signed-off-by: Niklas Söderlund
---
drivers/media/platform/rcar-vin/rcar-v4l2.c | 96 -
1 file
There was never proper support in the VIN driver to deliver ALTERNATING
field format to user-space, remove this field option. The problem is
that ALTERNATING filed order requires the sequence numbers of buffers
returned to userspace to reflect if fields where dropped or not,
something which is not
From: Fabrizio Castro
Add compatible strings for r8a7743 and r8a7745. No driver change
is needed as "renesas,rcar-gen2-vin" will activate the right code.
However, it is good practice to document compatible strings for the
specific SoC as this allows SoC specific
The functions to register and unregister the hardware and video device
where poorly named from the start. Rename them to better describe their
intended function.
Signed-off-by: Niklas Söderlund
Reviewed-by: Kieran Bingham
From: Fabrizio Castro
Change the sorting of the part numbers from descending to ascending to
match with other documentation.
Signed-off-by: Fabrizio Castro
Reviewed-by: Biju Das
Reviewed-by: Simon Horman
Hi,
This series adds Gen3 VIN support to rcar-vin driver for Renesas r8a7795,
r8a7796 and r8a77970. It is based on the media-tree and depends on
Fabrizio Castro patches as they touches the order of the compatible
strings in the documentation to reduce merge conflicts. The dependencies
are
The logic to preserve the requested format width and height are too
complex and come from a premature optimization for Gen3. All Gen2 SoC
can scale and the Gen3 implementation will not use these functions at
all so simply preserve the width and height when interacting with the
subdevice much like
In preparation of refactoring the scaling code move the code regarding
scaling to to the top of the file to avoid the need to add forward
declarations. No code is changed in this commit only whole functions
moved inside the same file.
Signed-off-by: Niklas Söderlund
Add the SoC specific information for Renesas r8a7795 ES1.x and ES2.0.
Signed-off-by: Niklas Söderlund
Reviewed-by: Laurent Pinchart
---
drivers/media/platform/rcar-vin/Kconfig | 2 +-
Instead of caching the subdevice format each time the video device
format is set read it directly when it's needed. As it turns out the
format is only needed when figuring out the max rectangle for cropping.
This simplifies the code and makes it clearer what the source format is
used for.
On Gen3 a media controller API needs to be used to allow userspace to
configure the subdevices in the pipeline instead of directly controlling
a single source subdevice, which is and will continue to be the mode of
operation on Gen2.
Prepare for these two modes of operation by adding a flag to
The procedure to start or stop streaming using the non-MC single
subdevice and the MC graph and multiple subdevices are quite different.
Create a new function to abstract which method is used based on which
mode the driver is running in and add logic to start the MC graph.
Signed-off-by: Niklas
When the driver runs in media controller mode it should not directly
control the subdevice instead userspace will be responsible for
configuring the pipeline. To be able to run in this mode a different set
of v4l2 operations needs to be used.
Add a new set of v4l2 operations to support operation
Add the SoC specific information for Renesas r8a7796.
Signed-off-by: Niklas Söderlund
Reviewed-by: Laurent Pinchart
---
drivers/media/platform/rcar-vin/rcar-core.c | 44 +
1 file changed, 44
The parsing and registering CSI-2 subdevices with the v4l2 async
framework is a collaborative effort shared between the VIN instances
which are part of the group. When the last VIN in the group is probed it
asks all other VINs to parse its share of OF and record the async
subdevices it finds in
When the VIN driver is running in media centric mode (on Gen3) the
colorspace is not retrieved from the video source instead the user is
expected to set it as part of the format. There is no way for the VIN
driver to validated the colorspace requested by user-space, this creates
a problem where
Bus configuration will once the driver is extended to support Gen3
contain information not specific to only the directly connected parallel
subdevice. Move it to struct rvin_dev to show it's not always coupled
to the parallel subdevice.
Signed-off-by: Niklas Söderlund
Add the SoC specific information for Renesas r8a77970.
Signed-off-by: Niklas Söderlund
Reviewed-by: Laurent Pinchart
---
drivers/media/platform/rcar-vin/rcar-core.c | 23 +++
1 file changed, 23
Add the ability to process media device link change request. Link
enabling is a bit complicated on Gen3, whether or not it's possible to
enable a link depends on what other links already are enabled. On Gen3
the 8 VINs are split into two subgroup's (VIN0-3 and VIN4-7) and from a
routing
The rcar-vin driver needs to be part of a media controller to support
Gen3. Give each VIN instance a unique name so it can be referenced from
userspace.
Signed-off-by: Niklas Söderlund
Reviewed-by: Laurent Pinchart
---
In media controller mode all VIN instances needs to be part of the same
media graph. There is also a need for each VIN instance to know about
and in some cases be able to communicate with other VIN instances.
Add an allocator framework where the first VIN instance to be probed
creates a shared
Add the register needed to work with Gen3 hardware. This patch adds
the logic for how to work with the Gen3 hardware. More work is required
to enable the subdevice structure needed to configure capturing.
Signed-off-by: Niklas Söderlund
Reviewed-by: Hans
If the pixelformat is not supported it should not fail but be set to
something that works. While we are at it move the two different
checks of the pixelformat to the same statement.
Signed-off-by: Niklas Söderlund
Reviewed-by: Laurent Pinchart
Prepare for media controller by calling a different initialization then
when running in device centric mode. Add trivial configuration of
the mbus and creation of the media pad for the video device entity.
While we are at it clearly mark the digital device centric notifier
functions with a
Each Gen3 SoC has a limited set of predefined routing possibilities for
which CSI-2 device and channel can be routed to which VIN instance.
Prepare to store this information in the struct rvin_info.
Signed-off-by: Niklas Söderlund
---
This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.
Results of the daily build of media_tree:
date: Fri Mar 2 05:00:18 CET 2018
media-tree git hash:e3e389f931a14ddf43089c7db92fc5d74edf93a4
media_build
On Thu, Mar 1, 2018 at 1:27 PM, Philipp Zabel wrote:
> Oh, this only works for csi ports that have pinctrl in their csi port
> node, like:
>
> _csi0 {
> pinctrl-names = "default";
> pinctrl-0 = <_ipu1_csi0>;
> };
This is the case for imx6qdl-sabresd.dtsi
Hi Joe,
On Thu, Mar 01, 2018 at 03:50:22AM -0800, Joe Perches wrote:
> Update multiline statements to open parenthesis.
> Update a ?: to a single line.
Thanks for the cleanup.
You may want to rebase this on my series from a few days ago
https://patchwork.linuxtv.org/patch/47475/
which includes
On Thu, 2018-03-01 at 20:02 +0100, jacopo mondi wrote:
> Hi Joe,
Hello Jacopo
> On Thu, Mar 01, 2018 at 03:50:22AM -0800, Joe Perches wrote:
> > Update multiline statements to open parenthesis.
> > Update a ?: to a single line.
>
> Thanks for the cleanup.
> You may want to rebase this on my
66 matches
Mail list logo