[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