[PATCH v2 0/7] Host1x IOMMU support + VIC support

Mikko Perttunen cyndis at kapsi.fi
Wed Dec 14 12:41:28 UTC 2016


On 14.12.2016 14:30, Daniel Vetter wrote:
> On Wed, Dec 14, 2016 at 01:16:10PM +0200, Mikko Perttunen wrote:
>> This series adds IOMMU support to Host1x and TegraDRM
>> and adds support for the VIC (Video Image Compositor)
>> host1x client. The series is available as a git repository at
>> git://github.com/cyndis/linux.git; branch vic-2.
>>
>> A userspace test case for VIC can be found at
>> https://github.com/cyndis/drm/tree/work/tegra.
>> The testcase is in tests/tegra and is called submit_vic.
>> The testcase/TRM include full headers and documentation
>> to program the unit. The unit by itself, however, does not
>> readily map to existing userspace library interfaces, so
>> implementations for those are not provided.
>
> Afaik libva has an entire pile of post-processing support. Pretty sure
> other video transcode libraries have similar interfaces, so should all be
> possible to implement this.

We don't have any actual video transcoding support though, so unless 
it's possible to just implement a part of libva and defer the rest to 
some CPU implementation, I don't see how this is useful. I suppose I 
could implement a GStreamer plugin for colorspace conversion or 
resizing, since those are very modular.

>
> Until that exists I really think that the VIC part (and only that, since
> tk1/tx1 in general seems to work with nouveau and all that) should stay
> out of tree.

Ok. I'll try to whip up something.

> -Daniel

Thanks,
Mikko.

>
>>
>> The in-kernel firewall is not implemented for VIC;
>> therefore, either the IOMMU must be enabled or the firewall
>> disabled for the test to pass.
>>
>> Tested with Jetson TX1 (T210). Probably works also
>> with Jetson TK1 (T124). Note that due to hardware changes
>> the testcase also needs to be changed to run properly
>> on T124: this can be done by removing the topmost
>> commit of the aforementioned test repository.
>>
>> Thanks,
>>   Mikko.
>>
>> Arto Merilainen (2):
>>   drm/tegra: Add falcon helper library
>>   drm/tegra: Add VIC support
>>
>> Mikko Perttunen (5):
>>   drm/tegra: Add Tegra DRM allocation API
>>   gpu: host1x: Add IOMMU support
>>   dt-bindings: Add bindings for the Tegra VIC
>>   arm64: tegra: Enable VIC on T210
>>   arm64: tegra: Enable IOMMU for Host1x on Tegra210
>>
>>  .../display/tegra/nvidia,tegra20-host1x.txt        |  13 +
>>  arch/arm64/boot/dts/nvidia/tegra210.dtsi           |  19 +-
>>  drivers/gpu/drm/tegra/Makefile                     |   4 +-
>>  drivers/gpu/drm/tegra/drm.c                        | 114 +++++-
>>  drivers/gpu/drm/tegra/drm.h                        |  12 +
>>  drivers/gpu/drm/tegra/falcon.c                     | 259 ++++++++++++++
>>  drivers/gpu/drm/tegra/falcon.h                     | 127 +++++++
>>  drivers/gpu/drm/tegra/vic.c                        | 396 +++++++++++++++++++++
>>  drivers/gpu/drm/tegra/vic.h                        |  31 ++
>>  drivers/gpu/host1x/cdma.c                          |  74 +++-
>>  drivers/gpu/host1x/cdma.h                          |   6 +-
>>  drivers/gpu/host1x/dev.c                           |  40 ++-
>>  drivers/gpu/host1x/dev.h                           |   6 +
>>  drivers/gpu/host1x/hw/cdma_hw.c                    |  16 +-
>>  drivers/gpu/host1x/job.c                           |  72 +++-
>>  drivers/gpu/host1x/job.h                           |   1 +
>>  include/linux/host1x.h                             |   1 +
>>  17 files changed, 1143 insertions(+), 48 deletions(-)
>>  create mode 100644 drivers/gpu/drm/tegra/falcon.c
>>  create mode 100644 drivers/gpu/drm/tegra/falcon.h
>>  create mode 100644 drivers/gpu/drm/tegra/vic.c
>>  create mode 100644 drivers/gpu/drm/tegra/vic.h
>>
>> --
>> 2.10.2
>>
>


More information about the dri-devel mailing list