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

Hans Verkuil
2020-01-31T14:30:01Z

On 1/30/20 4:42 PM, Thierry Reding wrote:
> On Thu, Jan 30, 2020 at 03:41:50PM +0100, Hans Verkuil wrote:
>> 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?
>
> Sowjanya's been working on top of linux-next, so, yes, this patch
> depends on a change that's been merged into the DRM tree for v5.6-rc1.
>
> Thierry
>

Is there a specific linux-next tag that works? I tried next-20200131 but that
failed to boot. Same problem with the mainline repo since the host1x patches
were merged yesterday. It compiles fine, but the boot just stops. Or am I
missing some kernel config that is now important to have?

Regards,

Hans