Re: [RFC PATCH v1 0/5] Add Tegra driver for video capture

From: Sowjanya Komatineni
Date: Thu Jan 30 2020 - 12:20:43 EST


I noticed the warning in queue_setup and will be removed in v2.

But errors are related to not using latest host1x driver. latest host1x driver changed parent member to host.

So vi/csi driver also uses new member name host. Probably media_tree don't have latest host1x driver


On 1/30/20 6:41 AM, Hans Verkuil wrote:
External email: Use caution opening links or attachments


Hi Sowjanya,

On 1/28/20 7:23 PM, Sowjanya Komatineni wrote:
This series adds Tegra210 VI and CSI driver for built-in test pattern
generator (TPG) capture.

Tegra210 supports max 6 channels on VI and 6 ports on CSI where each
CSI port is one-to-one mapped to VI channel for video capture.

This series has TPG support only where it creates hard media links
between CSI subdevice and VI video device without device graphs.

v4l2-compliance results are available below the patch diff.

[v0]: Includes,
- Adds CSI TPG clock to Tegra210 clock driver
- Host1x video driver with VI and CSI clients.
- Support for Tegra210 only.
- VI CSI TPG support with hard media links in driver.
- Video formats supported by Tegra210 VI
- CSI TPG supported video formats
I'm trying to compile this patch series using the media_tree master
branch (https://git.linuxtv.org//media_tree.git), but it fails:

drivers/staging/media/tegra/tegra-channel.c: In function âtegra_channel_queue_setupâ:
drivers/staging/media/tegra/tegra-channel.c:71:15: warning: unused variable âcountâ [-Wunused-variable]
71 | unsigned int count = *nbuffers;
| ^~~~~
drivers/staging/media/tegra/tegra-channel.c: In function âtegra_channel_initâ:
drivers/staging/media/tegra/tegra-channel.c:518:55: error: âstruct host1x_clientâ has no member named âhostâ
518 | struct tegra_camera *cam = dev_get_drvdata(vi->client.host);
| ^
make[4]: *** [scripts/Makefile.build:265: drivers/staging/media/tegra/tegra-channel.o] Error 1
make[4]: *** Waiting for unfinished jobs....
drivers/staging/media/tegra/tegra-vi.c: In function âtegra_vi_tpg_graph_initâ:
drivers/staging/media/tegra/tegra-vi.c:157:55: error: âstruct host1x_clientâ has no member named âhostâ
157 | struct tegra_camera *cam = dev_get_drvdata(vi->client.host);
| ^
drivers/staging/media/tegra/tegra-vi.c: In function âtegra_vi_initâ:
drivers/staging/media/tegra/tegra-csi.c: In function âtegra_csi_initâ:
drivers/staging/media/tegra/tegra-vi.c:213:51: error: âstruct host1x_clientâ has no member named âhostâ
213 | struct tegra_camera *cam = dev_get_drvdata(client->host);
| ^~
drivers/staging/media/tegra/tegra-csi.c:259:51: error: âstruct host1x_clientâ has no member named âhostâ
259 | struct tegra_camera *cam = dev_get_drvdata(client->host);
| ^~
drivers/staging/media/tegra/tegra-vi.c: In function âtegra_vi_exitâ:
drivers/staging/media/tegra/tegra-vi.c:246:51: error: âstruct host1x_clientâ has no member named âhostâ
246 | struct tegra_camera *cam = dev_get_drvdata(client->host);
| ^~
drivers/staging/media/tegra/tegra-csi.c: In function âtegra_csi_exitâ:
drivers/staging/media/tegra/tegra-csi.c:286:51: error: âstruct host1x_clientâ has no member named âhostâ
286 | struct tegra_camera *cam = dev_get_drvdata(client->host);
| ^~

And indeed, struct host1x_client as defined in include/linux/host1x.h doesn't
have a 'host' field.

Does this series depend on another patch that's not yet in mainline?

Regards,

Hans