The probe() reference renders incorrectly and without a link, fix it.
Also fix a typo reported by checkpatch in the context lines.
Signed-off-by: Luca Ceresoli
---
drivers/gpu/drm/drm_drv.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm
Add a missing "be". While there, also fix the syntax for
struct drm_device.
Signed-off-by: Luca Ceresoli
---
include/drm/drm_drv.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
index 570f9d03b2eb..ecbbcb281
On 14/03/19 11:41, Daniel Vetter wrote:
> On Wed, Mar 13, 2019 at 04:35:36PM +0100, Luca Ceresoli wrote:
>> The probe() reference renders incorrectly and without a link, fix it.
>>
>> Also fix a typo reported by checkpatch in the context lines.
>>
>
Hi,
On 14/08/20 16:51, Rob Herring wrote:
> On Thu, Aug 13, 2020 at 4:31 AM Luca Ceresoli wrote:
>>
>> Hi Rob,
>>
>> On 12/08/20 22:36, Rob Herring wrote:
>>> Clean-up incorrect indentation, extra spaces, long lines, and missing
>>> EOF newline in sch
Hi Rob,
On 12/08/20 22:36, Rob Herring wrote:
> Clean-up incorrect indentation, extra spaces, long lines, and missing
> EOF newline in schema files. Most of the clean-ups are for list
> indentation which should always be 2 spaces more than the preceding
> keyword.
>
> Found with yamllint (which
ck
> just needs to be powered up and told about the polarity of the video
> sync signals to act in bypass mode.
>
> Signed-off-by: Lucas Stach
> Reviewed-by: Luca Ceresoli (v2)
I was in Cc on your v3 but not on this v4. Maybe the " (v2)" on these
lines confuses get_maintai
> +#include
> +
> +display-bridge@32fc4000 {
> +compatible = "fsl,imx8mp-hdmi-pvi";
> +reg = <0x32fc4000 0x40>;
The device has up to register 0x40, thus I guess the second value should
be 0x44 here. Or maybe 0x100, just to be comfortable. :)
Luca
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
/
Suggested-by: Rob Herring
Signed-off-by: Luca Ceresoli
---
Documentation/devicetree/bindings/display/ilitek,ili9486.yaml | 4
Documentation/devicetree/bindings/display/panel/ilitek,ili9163.yaml | 4
Documentation/devicetree/bindings/display/sitronix,st7735r.yaml | 5 -
3 files
fg.flags;
> +
> + if (bus_flags & DRM_BUS_FLAG_DE_HIGH)
> + val |= PVI_CTL_OP_DE_POL | PVI_CTL_INP_DE_POL;
> +
> + writel(val, pvi->regs + HTX_PVI_CTL);
> + val |= PVI_CTL_EN;
> + writel(val, pvi->regs + HTX_PVI_CTL);
I guess I'm missing something here: why can't one just write the
register once, with the enable bit set? I tried removing the first
writel() and everything seems to work just the same.
With these fixed:
Reviewed-by: Luca Ceresoli
And definitely:
[Tested on a custom board using modetest on v6.5-rc6]
Tested-by: Luca Ceresoli
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Pinchart
> Tested-by: Marek Vasut
I realized I had sent my Tested-by to v1 when v2 was already out. So,
in case you still need some encouragement for keeping on with this
series:
[Tested on a custom board using modetest on v6.5-rc6]
Tested-by: Luca Ceresoli
--
Luca Ceresoli, Bootlin
Embe
c_get_clientdata(client);
>
> @@ -1146,8 +1146,6 @@ static int vc5_remove(struct i2c_client *client)
>
> if (vc5->chip_info->flags & VC5_HAS_INTERNAL_XTAL)
> clk_unregister_fixed_rate(vc5->pin_xin);
> -
> - return 0;
> }
>
&
Hello Dmitry,
thanks for your review.
On Tue, 20 Dec 2022 23:21:49 +0300
Dmitry Osipenko wrote:
> 28.11.2022 18:23, Luca Ceresoli пишет:
> > Tegra20 and other Tegra SoCs have a video input (VI) peripheral that can
> > receive from either MIPI CSI-2 or parallel video (called re
Hello Dmitry,
On Wed, 21 Dec 2022 00:40:20 +0300
Dmitry Osipenko wrote:
> 28.11.2022 18:23, Luca Ceresoli пишет:
> > +static int tegra20_channel_capture_frame(struct tegra_vi_channel *chan,
> > +struct tegra_channel_buffer *buf)
> >
Hello Dmitry,
On Tue, 20 Dec 2022 23:13:05 +0300
Dmitry Osipenko wrote:
> 02.12.2022 11:11, Luca Ceresoli пишет:
...
> >>> --- /dev/null
> >>> +++
> >>> b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vip.yaml
> >>> @@ -0,0
On Fri, 23 Dec 2022 15:35:58 +0300
Dmitry Osipenko wrote:
> 28.11.2022 18:23, Luca Ceresoli пишет:
...
> > +static const struct tegra_vip_ops tegra20_vip_ops = {
> > + .vip_start_streaming = tegra20_vip_start_streaming,
> > +};
> > +
> > +const str
oved patches 3 and 4 adding DT labels without a mainline user
- two small fixes to the last patch
[v2] https://lore.kernel.org/linux-tegra/20221222100328.6e341874@booty/T/#t
[v1] https://lore.kernel.org/linux-tegra/20221124155634.5bc2a423@booty/T/#t
Luca
Luca Ceresoli (21):
dt-bindings: display
The Tegra20 VI peripheral can receive parallel input from the VIP parallel
input module. Add it to the allowed properties and augment the existing
nvidia,tegra20-vi example to show a 'vip' property.
Reviewed-by: Krzysztof Kozlowski
Signed-off-by: Luca Ceresoli
---
Changed in v3 (suggested
rt offsets
- an optional per-soc VI operation to compute those values on queue setup
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 4
drivers/staging/media/tegra-video/vi.h | 14 ++
2 files changed, 18 insertions(+)
Some fields are irrelevant for Tegra20/VIP. Add a note to clarify that.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/media/tegra-video
`struct tegra_vi_ops` .
No functional changes.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 52
drivers/staging/media/tegra-video/vi.c | 52 ++--
drivers/staging/media/tegra-video
from a vendor kernel based on Linux 3.1 and
massively adapted to fit into the tegra-video driver. Parts of this code is
definitely non-optimal to say the least (especially tegra20_vi_enable() and
the single-frame capture logic), but it was impossible to improve it.
Signed-off-by: Luca Ceresoli
("media: tegra-video: Add Tegra210 Video input driver")
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 7 +-
drivers/staging/media/tegra-video/vi.c | 103 +--
drivers/staging/media/tegra-
VIP is the parallel video capture component within the video input
subsystem of Tegra20 (and other Tegra chips, apparently).
Signed-off-by: Luca Ceresoli
---
Changed in v3:
- remove channel@0 node (Krzysztof, Rob, Dmitry)
- add myself as a maintainer of the whole Tegra video driver (Dmitry
implementation that simply sets two flags in the
channel struct. The Tegra20 implementation will enable flipping at stream
start based on those flags.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 14 +-
drivers/staging
.
No functional changes. The format pointed to is the same that used to be in
vi.c.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 2 ++
drivers/staging/media/tegra-video/vi.c | 11 +--
drivers/staging/media/tegra
it.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/csi.c | 44
drivers/staging/media/tegra-video/vi.c | 54 ++---
2 files changed, 48 insertions(+), 50 deletions(-)
diff --git a/drivers/staging
to tegra210.c the T210-specific defines used in the moved code.
No functional changes.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 36 ++
drivers/staging/media/tegra-video/vi.c | 40
print
two messages, and in case 1 we only print a generic message.
Remove the generic message and add a specific message when case 1 happens,
so that we always have one specific message without even increasing the
number of dev_dbg*() calls.
Signed-off-by: Luca Ceresoli
---
No changes in
In preparation to implement Tegra20 parallel video capture, add a variable
to hold the required syncpt and document all the syncpt variables.
Signed-off-by: Luca Ceresoli
---
Changed in v3:
- recycle mw_ack_sp[0] instead of adding out_sp
No changes in v2
---
drivers/staging/media/tegra
This declaration is used only in csi.c, no need to export it elsewhere.
Signed-off-by: Luca Ceresoli
---
This patch was added in v3.
---
drivers/staging/media/tegra-video/csi.c | 4
drivers/staging/media/tegra-video/csi.h | 4
2 files changed, 4 insertions(+), 4 deletions(-)
diff
The Tegra20 VI needs an additional operation to enable the VI, add an
operation for that.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 7 +++
drivers/staging/media/tegra-video/vi.h | 4
2 files changed, 11 insertions
There is only a pointer reference to struct tegra_vi in video.h, thus vi.h
is not needed.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/video.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/staging/media/tegra-video
Add "skip" in "so we can *skip* the current channel" or it doesn't make
sense.
Also add articles where appropriate to fix English grammar.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 6 +++---
1 file c
We are about to add support for the Tegra20 parallel video capture, which
has no TPG. In preparation for that, limit the VIDEO_TEGRA_TPG option to
Tegra210 which is the only implementation currently provided by this
driver.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
struct tegra_vi_graph_entity is an internal implementation detail of the VI
module. Move its declaration from vi.h to vi.c.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 13 +
drivers/staging/media/tegra-video/vi.h
of_node_put(node) does nothing if node == NULL, so it can be moved to the
cleanup section at the bottom.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git
Clarify what this function does.
Signed-off-by: Luca Ceresoli
---
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/staging/media/tegra-video/vi.c
b/drivers/staging/media/tegra-video/vi.c
index
HI Hans,
On Thu, 24 Nov 2022 09:36:14 +0100
Hans Verkuil wrote:
> Hi Luca,
>
> On 09/11/2022 15:18, luca.ceres...@bootlin.com wrote:
> > From: Luca Ceresoli
> >
> > Tegra20 and other Tegra SoCs have a video input (VI) peripheral that can
> > receive from ei
VIP is the parallel video capture component within the video input
subsystem of Tegra20 (and other Tegra chips, apparently).
Signed-off-by: Luca Ceresoli
---
Changed in v2 (suggested by Krzysztof Kozlowski):
- remove redundant "bindings" from subject line
- remove $nodename
- add
The Tegra20 VI peripheral can receive parallel input from the VIP parallel
input module. Add it to the allowed properties and augment the existing
nvidia,tegra20-vi example to show a 'vip' property.
Reviewed-by: Krzysztof Kozlowski
Signed-off-by: Luca Ceresoli
---
Changed in v2 (suggested
to tegra210.c the T210-specific defines used in the moved code.
No functional changes.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 36 ++
drivers/staging/media/tegra-video/vi.c | 40 +++-
drivers/staging
Add "skip" in "so we can *skip* the current channel" or it doesn't make
sense.
Also add articles where appropriate to fix English grammar.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 6 +++---
1 file changed, 3 insert
Some fields are irrelevant for Tegra20/VIP. Add a note to clarify that.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/vi.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/media/tegra-video/vi.h
b/drivers
Clarify what this function does.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/staging/media/tegra-video/vi.c
b/drivers/staging/media/tegra-video/vi.c
index 0fe3c7f6d234
implementation that simply sets two flags in the
channel struct. The Tegra20 implementation will enable flipping at stream
start based on those flags.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 14 +-
drivers/staging/media/tegra-video
.
No functional changes. The format pointed to is the same that used to be in
vi.c.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 2 ++
drivers/staging/media/tegra-video/vi.c | 11 +--
drivers/staging/media/tegra-video/vi.h | 2
it.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/csi.c | 44
drivers/staging/media/tegra-video/vi.c | 54 ++---
2 files changed, 48 insertions(+), 50 deletions(-)
diff --git a/drivers/staging/media/tegra
is
definitely non-optimal to say the least (especially tegra20_vi_enable() and
the single-frame capture logic), but it was impossible to improve it.
Signed-off-by: Luca Ceresoli
---
Changed in v2:
- fix tegra20_vi_enable() to clear bit when on==false
- clamp width/height from set/try_fmt to avoid
In preparation to implement Tegra20 parallel video capture, add variables
to hold the required syncpt.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/vi.h | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/media
`struct tegra_vi_ops` .
No functional changes.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 52
drivers/staging/media/tegra-video/vi.c | 52 ++--
drivers/staging/media/tegra-video/vi.h | 5
We are about to add support for the Tegra20 parallel video capture, which
has no TPG. In preparation for that, limit the VIDEO_TEGRA_TPG option to
Tegra210 which is the only implementation currently provided by this
driver.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging
There is only a pointer reference to struct tegra_vi in video.h, thus vi.h
is not needed.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/video.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/staging/media/tegra-video/video.h
b/drivers
ia: tegra-video: add tegra20 variant
Enjoy!
Changed in v2:
- improved dt-bindings patches based on reviews
- removed patches 3 and 4 adding DT labels without a mainline user
- two small fixes to the last patch
[v1] https://lore.kernel.org/linux-tegra/20221124155634.5bc2a423@booty/T/#t
Luca
Luca
The Tegra20 VI needs an additional operation to enable the VI, add an
operation for that.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 7 +++
drivers/staging/media/tegra-video/vi.h | 4
2 files changed, 11 insertions(+)
diff --git
The VI peripheral of Tegra supports capturing from MIPI CSI-2 or parallel
video (called VIP in the docs). MIPI CSI-2 is already implemented. Add a
VIP implementation.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
MAINTAINERS| 1 +
drivers/staging
("media: tegra-video: Add Tegra210 Video input driver")
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 7 +-
drivers/staging/media/tegra-video/vi.c | 103 +--
drivers/staging/media/tegra-video/vi.h | 4
of_node_put(node) does nothing if node == NULL, so it can be moved to the
cleanup section at the bottom.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/staging
struct tegra_vi_graph_entity is an internal implementation detail of the VI
module. Move its declaration from vi.h to vi.c.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 13 +
drivers/staging/media/tegra-video/vi.h | 13
rt offsets
- an optional per-soc VI operation to compute those values on queue setup
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 4
drivers/staging/media/tegra-video/vi.h | 14 ++
2 files changed, 18 insertions(+)
diff --git
print
two messages, and in case 1 we only print a generic message.
Remove the generic message and add a specific message when case 1 happens,
so that we always have one specific message without even increasing the
number of dev_dbg*() calls.
Signed-off-by: Luca Ceresoli
---
No changes in v2
---
dr
Hello Rob,
Thanks for your review.
On Thu, 1 Dec 2022 17:19:36 -0600
Rob Herring wrote:
> On Mon, Nov 28, 2022 at 04:23:16PM +0100, Luca Ceresoli wrote:
> > VIP is the parallel video capture component within the video input
> > subsystem of Tegra20 (and other Tegra ch
Hello Rob,
On Thu, 1 Dec 2022 17:16:36 -0600
Rob Herring wrote:
> On Mon, Nov 28, 2022 at 04:23:17PM +0100, Luca Ceresoli wrote:
> > The Tegra20 VI peripheral can receive parallel input from the VIP parallel
> > input module. Add it to the allowed properties and augment the exis
Hello Krzysztof,
thanks for the review. I'm glad my error rate on bindings is lower than
it used to be before I attended your ELCE talk! ;)
On Tue, 15 Nov 2022 13:12:44 +0100
Krzysztof Kozlowski wrote:
> On 09/11/2022 15:18, luca.ceres...@bootlin.com wrote:
> > From: Luca
Hi Dmitry,
On Tue, 24 Jan 2023 20:02:39 +0300
Dmitry Osipenko wrote:
> On 12/29/22 16:31, Luca Ceresoli wrote:
> > +vip {
> > +compatible = "nvidia,tegra20-vip";
> > +#address-cells = <1>;
> > +#s
("media: tegra-video: Add Tegra210 Video input driver")
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 7 +-
drivers/staging/media/tegra-video/vi.c
Some fields are irrelevant for Tegra20/VIP. Add a note to clarify that.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.h | 6 +++---
1 file changed, 3 insertions
rnel.org/linux-tegra/20221222100328.6e341874@booty/T/#t
[v1] https://lore.kernel.org/linux-tegra/20221124155634.5bc2a423@booty/T/#t
Luca
Luca Ceresoli (21):
dt-bindings: display: tegra: add Tegra20 VIP
dt-bindings: display: tegra: vi: add 'vip' property and example
staging: media: tegra-video: fix .vid
VIP is the parallel video capture component within the video input
subsystem of Tegra20 (and other Tegra chips, apparently).
Signed-off-by: Luca Ceresoli
Reviewed-by: Krzysztof Kozlowski
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
- remove leftover lines after
The Tegra20 VI peripheral can receive parallel input from the VIP parallel
input module. Add it to the allowed properties and augment the existing
nvidia,tegra20-vi example to show a 'vip' property.
Signed-off-by: Luca Ceresoli
---
Changed in v4:
- complete the removal of 'channel@0'
Changed
Add "skip" in "so we can *skip* the current channel" or it doesn't make
sense.
Also add articles where appropriate to fix English grammar.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
Clarify what this function does.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/staging/media/tegra
There is only a pointer reference to struct tegra_vi in video.h, thus vi.h
is not needed.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/video.h | 1 -
1 file changed
to tegra210.c the T210-specific defines used in the moved code.
No functional changes.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 36
print
two messages, and in case 1 we only print a generic message.
Remove the generic message and add a specific message when case 1 happens,
so that we always have one specific message without even increasing the
number of dev_dbg*() calls.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
.
No functional changes. The format pointed to is the same that used to be in
vi.c.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 2 ++
drivers/staging/media/tegra
of_node_put(node) does nothing if node == NULL, so it can be moved to the
cleanup section at the bottom.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 8
struct tegra_vi_graph_entity is an internal implementation detail of the VI
module. Move its declaration from vi.h to vi.c.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra
This declaration is used only in csi.c, no need to export it elsewhere.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
This patch was added in v3.
---
drivers/staging/media/tegra-video/csi.c | 4
drivers/staging/media/tegra-video/csi.h
Hi Dmitry,
On Wed, 25 Jan 2023 01:15:22 +0300
Dmitry Osipenko wrote:
> On 12/29/22 16:31, Luca Ceresoli wrote:
> > VIP is the parallel video capture component within the video input
> > subsystem of Tegra20 (and other Tegra chips, apparently).
> >
> > S
We are about to add support for the Tegra20 parallel video capture, which
has no TPG. In preparation for that, limit the VIDEO_TEGRA_TPG option to
Tegra210 which is the only implementation currently provided by this
driver.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed
from a vendor kernel based on Linux 3.1 and
massively adapted to fit into the tegra-video driver. Parts of this code is
definitely non-optimal to say the least (especially tegra20_vi_enable() and
the single-frame capture logic), but it was impossible to improve it.
Signed-off-by: Luca Ceresoli
implementation that simply sets two flags in the
channel struct. The Tegra20 implementation will enable flipping at stream
start based on those flags.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers
rt offsets
- an optional per-soc VI operation to compute those values on queue setup
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 4
drivers/staging/media/tegra-
`struct tegra_vi_ops` .
No functional changes.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/tegra210.c | 52
drivers/staging/media/tegra-video/vi.c
In preparation to implement Tegra20 parallel video capture, add a variable
to hold the required syncpt and document all the syncpt variables.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
Changed in v3:
- recycle mw_ack_sp[0] instead
The Tegra20 VI needs an additional operation to enable the VI, add an
operation for that.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/vi.c | 7 +++
drivers
it.
Signed-off-by: Luca Ceresoli
Reviewed-by: Dmitry Osipenko
---
Changed in v4:
- Added review tags
No changes in v3
No changes in v2
---
drivers/staging/media/tegra-video/csi.c | 44
drivers/staging/media/tegra-video/vi.c | 54 ++---
2 files
From: Luca Ceresoli
We are about to add support for the Tegra20 parallel video capture, which
has no TPG. In preparation for that, limit the VIDEO_TEGRA_TPG option to
Tegra210 which is the only implementation currently provided by this
driver.
Signed-off-by: Luca Ceresoli
---
drivers/staging
From: Luca Ceresoli
The Tegra20 VI peripheral can receive parallel input from the VIP parallel
input module. Add it to the allowed properties and augment the existing
nvidia,tegra20-vi example to show a 'vip' property.
Signed-off-by: Luca Ceresoli
---
.../display/tegra/nvidia,tegra20-vi.yaml
From: Luca Ceresoli
tegra_vi_channels_alloc() can primarily fail for two reasons:
1. "ports" node not found
2. port_num > vi->soc->vi_max_channels
Case 1 prints nothing, case 2 has a dev_err(). The caller [tegra_vi_init()]
has a generic dev_err() on any failure. This mea
From: Luca Ceresoli
The tegra_default_format in vi.c is specific to Tegra210 CSI.
In preparation for adding Tegra20 VIP support, move the default format to a
new field in the soc-specific `struct tegra_vi_soc`. Instead of an entire
format struct, only store a pointer to an item in the existing
From: Luca Ceresoli
The staging tegra-video driver currently implements MIPI CSI-2 video
capture for Tegra210. Add support for parallel video capture (VIP) on
Tegra20. With the generalizations added to the VI driver in previous
commits, this is only a matter of adding the tegra20.c
From: Luca Ceresoli
tegra_channel_fmt_align() takes care of the size constraints, alignment and
rounding requirements of the Tegra210 VI peripheral. Tegra20 has different
constraints.
In preparation for adding Tegra20 support, move this function to a new op
in the soc-specific `struct
From: Luca Ceresoli
The VI peripheral of Tegra supports capturing from MIPI CSI-2 or parallel
video (called VIP in the docs). MIPI CSI-2 is already implemented. Add a
VIP implementation.
Signed-off-by: Luca Ceresoli
---
MAINTAINERS| 1 +
drivers/staging/media
From: Luca Ceresoli
The CSI module does not handle all the MIPI lane calibration procedure,
leaving a small part of it to the VI module. In doing this,
tegra_channel_enable_stream() (vi.c) manipulates the private data of the
upstream subdev casting it to struct 'tegra_csi_channel', which
From: Luca Ceresoli
tegra_channel_host1x_syncpt_init() gets the host1x syncpts needed for the
Tegra210 implementation, and tegra_channel_host1x_syncpts_free() puts
them.
Tegra20 needs to get and put a different syncpt. In preparation for adding
Tegra20 support, move these functions to new ops
From: Luca Ceresoli
Tegra20 can do horizontal and vertical image flip, but Tegra210 cannot
(either the hardware, or this driver).
In preparation to adding Tegra20 support, add a flag in struct tegra_vi_soc
so the generic vi.c code knows whether the flip controls should be added or
not.
Also
From: Luca Ceresoli
struct tegra_vi_graph_entity is an internal implementation detail of the VI
module. Move its declaration from vi.h to vi.c.
Signed-off-by: Luca Ceresoli
---
drivers/staging/media/tegra-video/vi.c | 13 +
drivers/staging/media/tegra-video/vi.h | 13
From: Luca Ceresoli
Useful to enable it from a board DTS.
Signed-off-by: Luca Ceresoli
---
arch/arm/boot/dts/tegra20.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi
index ee757dc8c6a2..5e71dcbe8b12 100644
From: Luca Ceresoli
Tegra20 supports planar YUV422 capture, which can be implemented by writing
U and V base address registers in addition to the "main" base buffer
address register.
It also supports H and V flip, which among others requires to write the
start address (i.e. the
1 - 100 of 247 matches
Mail list logo