An error occurred fetching the project authors.
- 16 Jan, 2019 1 commit
-
-
Thierry Reding authored
Most of the CEC support code already lives in the "output" library code. Move registration and unregistration to the library code as well to make use of the same code with HDMI on Tegra210 and later via the SOR. Signed-off-by:
Thierry Reding <treding@nvidia.com> Reviewed-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 18 Sep, 2018 1 commit
-
-
Souptick Joarder authored
convert drm_atomic_helper_suspend/resume() to use drm_mode_config_helper_suspend/resume(). With this conversion, tegra_drm_fb_suspend() and tegra_drm_fb_resume() will not be used anymore. Both of these functions can be removed. Also, in tegra_drm struct's member state will not be used anymore. So this can be removed forever. Fixed one sparse warning. Signed-off-by:
Souptick Joarder <jrdr.linux@gmail.com> Signed-off-by:
Ajit Negi <ajitn.linux@gmail.com> Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 18 May, 2018 1 commit
-
-
Thierry Reding authored
Userspace needs to know the version of the interface implemented by a client so it can create the proper command streams. Allow individual drivers to store this version along with the client so that it can be returned to userspace upon opening a channel. Acked-by:
Dmitry Osipenko <digetx@gmail.com> Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 17 May, 2018 4 commits
-
-
Daniel Stone authored
Since tegra_fb is now the same as drm_framebuffer, we can just replace the type completely. Signed-off-by:
Daniel Stone <daniels@collabora.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: linux-tegra@vger.kernel.org Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Daniel Stone authored
Since drm_framebuffer can now store GEM objects directly, place them there rather than in our own subclass. As this makes the framebuffer create_handle function the same as the GEM framebuffer helper, we can reuse that. Signed-off-by:
Daniel Stone <daniels@collabora.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: linux-tegra@vger.kernel.org Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Daniel Stone authored
drm_framebuffer already stores num_planes for us. Signed-off-by:
Daniel Stone <daniels@collabora.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: linux-tegra@vger.kernel.org Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
Attaching to and detaching from an IOMMU uses the same code sequence in every driver, so factor it out into separate helpers. Reviewed-by:
Dmitry Osipenko <digetx@gmail.com> Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 16 Mar, 2018 1 commit
-
-
Thierry Reding authored
Rather than subclass the global atomic state to store the hub display clock and rate, create a private object and store this data in its state. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 21 Dec, 2017 1 commit
-
-
Thierry Reding authored
In order to support IOMMUs more generically and transparently handle the ARM SMMU on Tegra186, move to using groups instead of devices for domain attachment. An IOMMU group is a set of devices that share the same IOMMU domain and is therefore a good match to represent what Tegra DRM needs. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 13 Dec, 2017 3 commits
-
-
Thierry Reding authored
The SOR found on Tegra186 is very similar to the one found on Tegra210 and earlier. However, due to some changes in the display architecture, some programming sequences have changed and some register have moved around. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
The display architecture has changed in several significant ways with the new Tegra186 SoC. Shared between all display controllers is a set of common resources referred to as the display hub. The hub generates accesses to memory and feeds them into various composition pipelines, each of which being a window that can be assigned to arbitrary heads. Atomic state is subclassed in order to track the global bandwidth requirements and select and adjust the hub clocks appropriately. The plane code is shared to a large degree with earlier SoC generations, except where the programming differs. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
There's no reason not to use them, and they already get all the semantics right, so rip out all of the custom code and replace it by the helpers. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 08 Dec, 2017 1 commit
-
-
Noralf Trønnes authored
This driver can use drm_fb_helper_lastclose() as its .lastclose callback. It can also use drm_fb_helper_output_poll_changed() as its .output_poll_changed callback. Cc: Thierry Reding <thierry.reding@gmail.com> Signed-off-by:
Noralf Trønnes <noralf@tronnes.org> Acked-by:
Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20171205182504.41923-12-noralf@tronnes.org
-
- 20 Oct, 2017 2 commits
-
-
Hans Verkuil authored
In order to support CEC the HDMI driver has to inform the CEC driver whenever the physical address changes. So when the EDID is read the CEC driver has to be informed and whenever the hotplug detect goes away. This is done through the cec-notifier framework. The link between the HDMI driver and the CEC driver is done through the hdmi-phandle property in the tegra-cec node in the device tree. Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
Move the DC related declarations in drm.h to dc.h where they belong. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 17 Aug, 2017 2 commits
-
-
Thierry Reding authored
Add tracepoint events for display controller register accesses. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
Register offsets are usually fairly small numbers, so an unsigned int is more than enough to represent them. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 15 Jun, 2017 1 commit
-
-
Dmitry Osipenko authored
Several channels could be made to write the same unit concurrently via the SETCLASS opcode, trusting userspace is a bad idea. It should be possible to drop the per-client channel reservation and add a per-unit locking by inserting MLOCK's to the command stream to re-allow the SETCLASS opcode, but it will be much more work. Let's forbid the unit-unrelated class changes for now. Signed-off-by:
Dmitry Osipenko <digetx@gmail.com> Reviewed-by:
Erik Faye-Lund <kusmabite@gmail.com> Reviewed-by:
Mikko Perttunen <mperttunen@nvidia.com> Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 05 Apr, 2017 4 commits
-
-
Arto Merilainen authored
This patch adds support for Video Image Compositor engine which can be used for 2d operations. Signed-off-by:
Andrew Chew <achew@nvidia.com> Signed-off-by:
Arto Merilainen <amerilainen@nvidia.com> Signed-off-by:
Mikko Perttunen <mperttunen@nvidia.com> Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Mikko Perttunen authored
Add a new IO virtual memory allocation API to allow clients to allocate non-GEM memory in the Tegra DRM IOMMU domain. This is required e.g. for loading client firmware when clients are attached to the IOMMU domain. The allocator allocates contiguous physical pages that are then mapped contiguously to the IOMMU domain using the iova_domain library provided by the kernel. Contiguous physical pages are used so that the same allocator works also when IOMMU support is disabled and therefore devices access physical memory directly. Signed-off-by:
Mikko Perttunen <mperttunen@nvidia.com> Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
Each open file descriptor can have any number of contexts associated with it. To differentiate between these contexts a unique ID is required and back when these userspace interfaces were introduced, in commit d43f81cb ("drm/tegra: Add gr2d device"), the pointer to the context structure was deemed adequate. However, this leaks information about kernel internal memory to userspace, which can potentially be exploited. Switch the context parameter to be allocated from an IDR, which has the added benefit of providing an easy way to look up a context from its ID. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
IOMMU support is currently not thread-safe, which can cause crashes, amongst other things, under certain workloads. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 09 Feb, 2017 1 commit
-
-
Shawn Guo authored
The vblank hooks in struct drm_driver are deprecated and only meant for legacy drivers. For modern drivers with DRIVER_MODESET flag, the hooks in struct drm_crtc_funcs should be used instead. As the result, the wrapper functions tegra_drm_xxx get killed completely, and tegra_dc_xxx are filled into struct drm_crtc_funcs as vblank hooks directly. Signed-off-by:
Shawn Guo <shawn.guo@linaro.org> Cc: Thierry Reding <thierry.reding@gmail.com> Acked-by:
Thierry Reding <treding@nvidia.com> Link: http://patchwork.freedesktop.org/patch/msgid/1486458995-31018-21-git-send-email-shawnguo@kernel.org
-
- 18 Dec, 2016 1 commit
-
-
Laurent Pinchart authored
<drm/drm_crtc.h> used to define most of the in-kernel KMS API. It has now been split into separate files for each object type, but still includes most other KMS headers to avoid breaking driver compilation. As a step towards fixing that problem, remove the inclusion of <drm/drm_encoder.h> from <drm/drm_crtc.h> and include it instead where appropriate. Also remove the forward declarations of the drm_encoder and drm_encoder_helper_funcs structures from <drm/drm_crtc.h> as they're not needed in the header. <drm/drm_encoder.h> now has to include <drm/drm_mode.h> and contain a forward declaration of struct drm_encoder in order to allow including it as the first header in a compilation unit. Signed-off-by:
Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by:
Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Sinclair Yeh <syeh@vmware.com> # For vmwgfx Reviewed-by:
Alex Deucher <alexander.deucher@amd.com> Signed-off-by:
Archit Taneja <architt@codeaurora.org> Link: http://patchwork.freedesktop.org/patch/msgid/1481709550-29226-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com
-
- 10 Jun, 2016 1 commit
-
-
Boris Brezillon authored
All outputs have a 1:1 relationship between connectors and encoders and the driver is relying on the atomic helpers: we can drop the custom ->best_encoder() implementation and let the core call drm_atomic_helper_best_encoder() for us. Signed-off-by:
Boris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by:
Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1465300095-16971-14-git-send-email-boris.brezillon@free-electrons.com
-
- 05 Apr, 2016 1 commit
-
-
Jon Hunter authored
The Tegra powergate and rail IDs are always positive values and so change the type to be unsigned and remove the tests to see if the ID is less than zero. Update the Tegra DC powergate type to be an unsigned as well. Signed-off-by:
Jon Hunter <jonathanh@nvidia.com> Reviewed-by:
Mathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 08 Feb, 2016 1 commit
-
-
Daniel Vetter authored
The core takes care of that now. v2: Fixup misplaced hunk. Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Terje Bergström <tbergstrom@nvidia.com> Acked-by:
Daniel Stone <daniels@collabora.com> Reviewed-by:
Alex Deucher <alexander.deucher@amd.com> Acked-by:
Thierry Reding <treding@nvidia.com> Signed-off-by:
Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1453756616-28942-12-git-send-email-daniel.vetter@ffwll.ch
-
- 14 Dec, 2015 3 commits
-
-
Thierry Reding authored
Use the drm_atomic_helper_suspend() and drm_atomic_helper_resume() helpers to implement subsystem-level suspend/resume. v2: suspend framebuffer device to avoid concurrency issues v3: resume fbdev on failure to suspend (Emil Velikov) Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
Instead of getting a pointer to the driver-specific wrapper of AUX channels, use the AUX channel objects directly to avoid hackish casting between the two types. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
Use the new multi-driver module helpers to get rid of some boilerplate in the module initialization and cleanup functions. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 24 Nov, 2015 2 commits
-
-
Ville Syrjälä authored
Drivers shouldn't clobber the passed in addfb ioctl parameters. i915 was doing just that. To prevent it from happening again, pass the struct around as const, starting all the way from internal_framebuffer_create(). Signed-off-by:
Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by:
Daniel Vetter <daniel.vetter@ffwll.ch>
-
Archit Taneja authored
DRM_TEGRA_FBDEV config is currently used to enable/disable legacy fbdev emulation for the tegra kms driver. Remove this local config option and use the top level DRM_FBDEV_EMULATION config option instead. Signed-off-by:
Archit Taneja <architt@codeaurora.org> Link: http://patchwork.freedesktop.org/patch/msgid/1445933459-5249-4-git-send-email-architt@codeaurora.orgSigned-off-by:
Daniel Vetter <daniel.vetter@ffwll.ch>
-
- 13 Aug, 2015 2 commits
-
-
Thierry Reding authored
Record interrupt statistics, such as the number of frames and VBLANKs received and the number of FIFO underflow and overflows. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
Support low-active hotplug detect signals by storing the GPIO flags parsed from device tree. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 02 Apr, 2015 2 commits
-
-
Thierry Reding authored
The tegra_dc_setup_clock() function is unused after the conversion to atomic mode-setting, so remove it. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
The display controller on Tegra can use syncpoints to count VBLANK events. syncpoints are 32-bit unsigned integers, so well suited as VBLANK counters. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 27 Jan, 2015 4 commits
-
-
Thierry Reding authored
Tracking these in the plane state allows them to be computed in the ->atomic_check() callback and reused when applying the configuration in ->atomic_update(). Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
Provide a custom ->atomic_commit() implementation which supports async commits. The generic atomic page-flip helper can use this to implement page-flipping. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
This allows the clock setup to be separated from the clock programming and better matches the expectations of the atomic modesetting where no code paths must fail during modeset. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
Thierry Reding authored
The tegra_output_exit() and tegra_output_remove() functions cannot fail, so make them return void. Signed-off-by:
Thierry Reding <treding@nvidia.com>
-