Mikko Perttunen
02b028d02a
drm/tegra: Merge upstream changes
...
Merge upstream changes from linux-next, including merged version
of new UAPI.
Change-Id: I4f591d39e51ac6ab6877a0bd428adf166eca3c55
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2653095
Tested-by: Jonathan Hunter <jonathanh@nvidia.com >
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
GVS: Gerrit_Virtual_Submit
2023-04-03 09:18:59 +00:00
Thierry Reding
1da27ee38f
drm/tegra: Implement buffer object cache
...
This cache is used to avoid mapping and unmapping buffer objects
unnecessarily. Mappings are cached per client and stay hot until
the buffer object is destroyed.
Bug 200768479
Signed-off-by: Thierry Reding <treding@nvidia.com >
Change-Id: Ia2efe2b77b5043b665bae403d9eba4698e6a5228
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2596399
(cherry picked from commit d23156d94fa9499256e8082250e3bc02559f9c8d)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2620152
Tested-by: Jonathan Hunter <jonathanh@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2023-04-03 09:18:59 +00:00
Thierry Reding
756aa327f1
drm/tegra: Implement correct DMA-BUF semantics
...
DMA-BUF requires that each device that accesses a DMA-BUF attaches to it
separately. To do so the host1x_bo_pin() and host1x_bo_unpin() functions
need to be reimplemented so that they can return a mapping, which either
represents an attachment or a map of the driver's own GEM object.
Bug 200768479
Signed-off-by: Thierry Reding <treding@nvidia.com >
Change-Id: Ia380b7dcc371ce47f5f35d44a60fbd6b4ab9d636
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2596398
(cherry picked from commit 28960586000fca025689edfd45645ab28e497bca)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2620137
Tested-by: Jonathan Hunter <jonathanh@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com >
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2023-04-03 09:18:59 +00:00
Thierry Reding
fbce3f1d95
UPSTREAM: drm/tegra: hub: Fix YUV support
...
The driver currently exposes several YUV formats but fails to properly
program all the registers needed to display such formats. Add the right
programming sequences so that overlay windows can be used to accelerate
color format conversions in multimedia playback use-cases.
Change-Id: I0c508936e022557e02670d114933ba3865048b85
Signed-off-by: Thierry Reding <treding@nvidia.com >
Signed-off-by: Jon Hunter <jonathanh@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545953
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2023-04-03 09:18:59 +00:00
Thierry Reding
d885fa7b15
UPSTREAM: drm/tegra: Support sector layout on Tegra194
...
Tegra194 has a special physical address bit that enables some memory
swizzling logic to support different sector layouts. Support the bit
that selects the sector layout which is passed in the framebuffer
modifier.
Change-Id: I253c94e44b0ec1a4718e21927a5b8bfe604bc8b4
Signed-off-by: Thierry Reding <treding@nvidia.com >
Signed-off-by: Jon Hunter <jonathanh@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545945
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com >
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2023-04-03 09:18:59 +00:00
Jon Hunter
836aadff09
drm/tegra: Update Tegra DRM to add support for v5.13
...
There are several updates in the Linux DRM framework for Linux v5.13
and so make the necessary changes to the out-of-tree Tegra DRM driver
so we can compile it with Linux v5.13 and earlier.
Bug 3308967
Change-Id: Ie7a5e0a3978b2d6d16f769c2efda8b1685e28709
Signed-off-by: Jon Hunter <jonathanh@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2534002
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-03 09:18:59 +00:00
Jon Hunter
d088bfa37d
drm/tegra: Update Tegra DRM to align with v5.10
...
Update the Tegra DRM driver to Linux v5.10 with the 'Host1x/Tegra UAPI'
series [0] applied. This driver is built as an external module for
testing and development with upstream Linux kernels.
[0] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=215770
Bug 3205478
Change-Id: I901aa45779e56cbbef6c58fd9d3bb50ea6bfd472
Signed-off-by: Jon Hunter <jonathanh@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2460064
Reviewed-by: Shanker Donthineni <sdonthineni@nvidia.com >
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
2023-04-03 09:18:59 +00:00
Jon Hunter
b8c2d943ed
drm/tegra: Add upstream tegra-drm driver
...
Add the upstream tegra-drm driver with the 'Host1x/Tegra UAPI' series
[0] applied. This driver will be built as an external module for testing
and development with upstream Linux kernels.
The following modifications have been made to the series posted upstream
1. Update the Makefile to always build the driver as a module
2. Always enable the tegra_drm_ioctl_xxx in the tegra_drm_ioctls and
remove the dependency on CONFIG_DRM_TEGRA_STAGING.
3. Rename the include/uapi/drm/tegra_drm.h to
include/uapi/drm/tegra_drm_next.h to avoid conflicts with upstream
headers when building as an external module.
5. Rename the module that is built to be tegra-drm-next.ko instead of
tegra-drm.ko to avoid any depmod conflicts with the upstream driver.
[0] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=215770
Bug 3156385
Change-Id: I19206f989325c9c6ff3c2b9301d964140d52234f
Signed-off-by: Jon Hunter <jonathanh@nvidia.com >
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2435802
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com >
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com >
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com >
GVS: Gerrit_Virtual_Submit
2023-04-03 09:18:59 +00:00