#
0800880f |
|
04-Oct-2023 |
Zhang Shurong <zhang_shurong@foxmail.com> |
drm/tegra: dpaux: Fix PM disable depth imbalance in tegra_dpaux_probe The pm_runtime_enable function increases the power disable depth, which means that we must perform a matching decrement on the error handling path to maintain balance within the given context. Additionally, we need to address the same issue for pm_runtime_get_sync. We fix this by invoking pm_runtime_disable and pm_runtime_put_sync when error returns. Fixes: 82b81b3ec1a7 ("drm/tegra: dpaux: Implement runtime PM") Signed-off-by: Zhang Shurong <zhang_shurong@foxmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://patchwork.freedesktop.org/patch/msgid/tencent_B13DB7F6C0023C46157250A524966F326A09@qq.com
|
#
2a1ca44b |
|
09-Jul-2023 |
Yangtao Li <frank.li@vivo.com> |
drm/tegra: dpaux: Fix incorrect return value of platform_get_irq When platform_get_irq fails, we should return dpaux->irq instead of -ENXIO. Fixes: 6b6b604215c6 ("drm/tegra: Add eDP support") Signed-off-by: Yangtao Li <frank.li@vivo.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230710032355.72914-13-frank.li@vivo.com
|
#
3c5a5df9 |
|
21-Apr-2023 |
Yang Li <yang.lee@linux.alibaba.com> |
drm/tegra: dpaux: Use devm_platform_ioremap_resource() Convert platform_get_resource(),devm_ioremap_resource() to a single call to devm_platform_ioremap_resource(), as this is exactly what this function does. Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230421084952.45275-1-yang.lee@linux.alibaba.com
|
#
722d4f06 |
|
14-Jul-2023 |
Rob Herring <robh@kernel.org> |
drm: Explicitly include correct DT includes The DT of_device.h and of_platform.h date back to the separate of_platform_bus_type before it as merged into the regular platform bus. As part of that merge prepping Arm DT support 13 years ago, they "temporarily" include each other. They also include platform_device.h and of.h. As a result, there's a pretty much random mix of those include files used throughout the tree. In order to detangle these headers and replace the implicit includes with struct declarations, users need to explicitly include the correct includes. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Sam Ravnborg <sam@ravnborg.org> Reviewed-by: Steven Price <steven.price@arm.com> Acked-by: Liviu Dudau <liviu.dudau@arm.com> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Acked-by: Robert Foss <rfoss@kernel.org> Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230714174545.4056287-1-robh@kernel.org
|
#
4b9aeb8d |
|
22-Mar-2023 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
drm/tegra: dpaux: Convert to platform remove callback returning void The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (mostly) ignored and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new() which already returns void. Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
900cd8f0 |
|
29-Nov-2022 |
Paul Cercueil <paul@crapouillou.net> |
drm/tegra: Remove #ifdef guards for PM related functions Use the RUNTIME_PM_OPS() and pm_ptr() macros to handle the .runtime_suspend/.runtime_resume callbacks. These macros allow the suspend and resume functions to be automatically dropped by the compiler when CONFIG_PM is disabled, without having to use #ifdef guards. This has the advantage of always compiling these functions in, independently of any Kconfig option. Thanks to that, bugs and other regressions are subsequently easier to catch. Signed-off-by: Paul Cercueil <paul@crapouillou.net> Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
da68386d |
|
21-Apr-2022 |
Thomas Zimmermann <tzimmermann@suse.de> |
drm: Rename dp/ to display/ Rename dp/ to display/ to account for additional display-related helpers, such as HDMI. Update all related include statements. No functional changes. Various drivers, such as i915 and amdgpu, use similar naming scheme by putting code for video-output standards into a local display/ directory. The new directory's name is aligned with this convention. v2: * update commit message (Javier) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220421073108.19226-3-tzimmermann@suse.de
|
#
cea41886 |
|
11-Nov-2021 |
chiminghao <chi.minghao@zte.com.cn> |
drm/tegra: dpaux: Remove unneeded variable Fix the following coccicheck REVIEW: ./drivers/gpu/drm/tegra/dpaux.c:282:13-16 REVIEW Unneeded variable Reported-by: Zeal Robot <zealci@zte.com.cm> Signed-off-by: chiminghao <chi.minghao@zte.com.cn> Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
5b529e8d |
|
13-Jan-2022 |
Thomas Zimmermann <tzimmermann@suse.de> |
drm/dp: Move public DisplayPort headers into dp/ Move all public DisplayPort headers into dp/ and update users. No functional changes. v3: * rebased onto latest drm-tip Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Daniel Vetter <daniel@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20220114114535.29157-5-tzimmermann@suse.de
|
#
8913e1ae |
|
20-Dec-2021 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Populate AUX bus The DPAUX hardware block exposes an DP AUX interface that provides access to an AUX bus and the devices on that bus. Use the DP AUX bus infrastructure that was recently introduced to probe devices on this bus from DT. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
d12919bb |
|
10-Jun-2021 |
Tan Zhongjun <tanzhongjun@yulong.com> |
drm/tegra: Remove superfluous error messages around platform_get_irq() The platform_get_irq() prints error message telling that interrupt is missing,hence there is no need to duplicated that message in the drivers. Signed-off-by: Tan Zhongjun <tanzhongjun@yulong.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
6cba3fe4 |
|
23-Apr-2021 |
Lyude Paul <lyude@redhat.com> |
drm/dp: Add backpointer to drm_device in drm_dp_aux This is something that we've wanted for a while now: the ability to actually look up the respective drm_device for a given drm_dp_aux struct. This will also allow us to transition over to using the drm_dbg_*() helpers for debug message printing, as we'll finally have a drm_device to reference for doing so. Note that there is one limitation with this - because some DP AUX adapters exist as platform devices which are initialized independently of their respective DRM devices, one cannot rely on drm_dp_aux->drm_dev to always be non-NULL until drm_dp_aux_register() has been called. We make sure to point this out in the documentation for struct drm_dp_aux. v3: * Add WARN_ON_ONCE() to drm_dp_aux_register() if drm_dev isn't filled out Signed-off-by: Lyude Paul <lyude@redhat.com> Acked-by: Thierry Reding <treding@nvidia.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210423184309.207645-4-lyude@redhat.com Reviewed-by: Dave Airlie <airlied@redhat.com>
|
#
39c17ae6 |
|
26-Mar-2021 |
Lyude Paul <lyude@redhat.com> |
drm/tegra: Don't register DP AUX channels before connectors As pointed out by the documentation for drm_dp_aux_register(), drm_dp_aux_init() should be used in situations where the AUX channel for a display driver can potentially be registered before it's respective DRM driver. This is the case with Tegra, since the DP aux channel exists as a platform device instead of being a grandchild of the DRM device. Since we're about to add a backpointer to a DP AUX channel's respective DRM device, let's fix this so that we don't potentially allow userspace to use the AUX channel before we've associated it with it's DRM connector. Signed-off-by: Lyude Paul <lyude@redhat.com> Acked-by: Thierry Reding <treding@nvidia.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210326203807.105754-3-lyude@redhat.com
|
#
ac2caae6 |
|
15-Apr-2020 |
Linus Walleij <linus.walleij@linaro.org> |
drm/tegra: Clean up GPIO includes The Tegra DRM drivers includes the legacy GPIO headers <linux/gpio.h> and <linux/of_gpio.h> but what it really uses is <linux/gpio/consumer.h> since only gpio_desc structs are ever referenced. Include the right header on the top level tegra/drm.h file and drop all the surplus includes. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20200415122427.111769-1-linus.walleij@linaro.org
|
#
fd67e9c6 |
|
02-Dec-2019 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: Do not implement runtime PM The Tegra DRM driver heavily relies on the implementations for runtime suspend/resume to be called at specific times. Unfortunately, there are some cases where that doesn't work. One example is if the user disables runtime PM for a given subdevice. Another example is that the PM core acquires a reference to runtime PM during system sleep, effectively preventing devices from going into low power modes. This is intentional to avoid nasty race conditions, but it also causes system sleep to not function properly on all Tegra systems. Fix this by not implementing runtime PM at all. Instead, a minimal, reference-counted suspend/resume infrastructure is added to the host1x bus. This has the benefit that it can be used regardless of the system power state (or any transitions we might be in), or whether or not the user allows runtime PM. Atomic modesetting guarantees that these functions will end up being called at the right point in time, so the pitfalls for the more generic runtime PM do not apply here. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
c1763937 |
|
15-Oct-2019 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: sor: Use DP link training helpers Make use of the DP link training helpers to implement full and fast link training. While at it, refactor some of the code and remove various code sequences that are not necessary. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
c728e2d4 |
|
21-Jul-2015 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dp: Track link capabilities alongside settings Store capabilities in max_* fields and add separate fields for the currently selected settings. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
fc4ebe52 |
|
26-Jun-2019 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Parameterize CMH, DRVZ and DRVI The CMH, DRVZ and DRVI values vary depending on the SoC generation. Move them into SoC specific structures so that DT compatible string matching can be used to select the right parameters and write them to hardware at the right time. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
6c79f09f |
|
24-Jun-2019 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Fix crash if VDD supply is absent In order to properly make the VDD supply optional, all accesses to the regulator need to be ignored, because the regulator core doesn't treat NULL special. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
245ce70c |
|
03-Mar-2016 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Retry on transfer size mismatch When a transfer didn't complete transmission of the requested number of bytes, signal that the transaction should be retried. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
5e881f6b |
|
03-Aug-2015 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Support monitor hotplugging The dpaux driver has a quirk built-in that will delay initialization of the display driver for a short while, trying to detect an eDP panel. The reason for this quirk is that the panel may not report as connected until after the display driver has initialized, at which point the fbdev emulation will have fallen back to 1024x768 as default resolution, which will likely not be the eDP panel's native resolution. With upcoming DisplayPort support, the code needs to be able to cope with hotpluggable monitors as well. Waiting for a panel to show up is no longer going to work because the monitor may not be attached on boot. If the output runs in DisplayPort mode, skip waiting for the panel to show up. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
9a42c7c6 |
|
21-Oct-2019 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: Move drm_dp_link helpers to Tegra DRM During the discussion of patches that enhance the drm_dp_link helpers it was concluded that these helpers aren't very useful to begin with. After all other drivers have been converted not to use these helpers anymore, move these helpers into the last remaining user: Tegra DRM. If at some point these helpers are deemed more widely useful, they can be moved out into the DRM DP helpers again. Signed-off-by: Thierry Reding <treding@nvidia.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20191021143437.1477719-14-thierry.reding@gmail.com
|
#
eb1df694 |
|
04-Aug-2019 |
Sam Ravnborg <sam@ravnborg.org> |
drm/tegra: drop use of drmP.h Drop use of the deprecated drmP.h header file. For all touched files divide include files into blocks, and sort them within the blocks. Fix fallout. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Reviewed-by: Thierry Reding <treding@nvidia.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Jonathan Hunter <jonathanh@nvidia.com> Cc: linux-tegra@vger.kernel.org Link: https://patchwork.freedesktop.org/patch/msgid/20190804094132.29463-3-sam@ravnborg.org
|
#
d2912cb1 |
|
04-Jun-2019 |
Thomas Gleixner <tglx@linutronix.de> |
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 Based on 2 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation # extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 4122 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Enrico Weigelt <info@metux.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
f3b0d879 |
|
05-Jun-2019 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Make VDD supply optional The VDD supply is only needed to supply power to eDP panels connected to DPAUX. Technically that supply should be dealt with in the panel driver, but for backwards-compatibility we need to keep this around anyway. Also as a bit of background: the reason for why this supply is attached to DPAUX is to make sure the panel is properly powered early on so that it can generate a hotplug pulse at the appropriate time. This may no longer be required given the support for deferred fbdev setup that was "recently" introduced in DRM/KMS. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
30f11cfd |
|
20-Sep-2018 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Add Tegra194 support The DPAUX controller found on Tegra194 is almost identical to its predecessor from Tegra186. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
47022003 |
|
21-Sep-2018 |
Dmitry Osipenko <digetx@gmail.com> |
drm/tegra: dpaux: Use the correct definition for pad modes Some of definitions in the code changed the meaning, unfortunately one place missed the change. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Acked-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
72ba4cf5 |
|
14-Dec-2017 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Keep reset defaults for hybrid pad parameters Keep the reset values for the common mode voltage, output driver impedance control and output driver current control parameters. This fixes errors seen during SCDC communication with HDMI sinks. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
7b2c2845 |
|
12-Oct-2017 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Add Tegra186 support DPAUX is the same as on previous generations. Supporting it is as simple as adding the compatible string so that the driver will bind to any of the devices. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
82b81b3e |
|
12-Oct-2017 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Implement runtime PM Move clock and reset management into runtime PM callbacks and hook them up. This cleans up the code structure so that power management code does not clutter up the rest. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
eba7c455 |
|
15-Aug-2017 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Trace register accesses Add tracepoint events for DPAUX controller register accesses. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
e8ddfdcb |
|
15-Aug-2017 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Use unsigned int for register offsets 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>
|
#
9376cad2 |
|
28-Oct-2016 |
Christophe Jaillet <christophe.jaillet@wanadoo.fr> |
drm/tegra: dpaux: Fix error handling The devm_pinctrl_register() function returns an error pointer or a valid handle. So checking for NULL here is pointless and can never trigger. Check the returned value with IS_ERR instead and propagate this value as done in the other functions which call devm_pinctrl_register(). Fixes: 0751bb5c44fe ("drm/tegra: dpaux: Add pinctrl support") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Acked-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
0751bb5c |
|
29-Jun-2016 |
Jon Hunter <jonathanh@nvidia.com> |
drm/tegra: dpaux: Add pinctrl support The DPAUX pins are shared with an internal I2C controller. To allow these pins to be muxed to the I2C controller, register a pinctrl device for the DPAUX device. This is based upon work by Thierry Reding <treding@nvidia.com>. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
9b99044a |
|
29-Jun-2016 |
Jon Hunter <jonathanh@nvidia.com> |
drm/tegra: Prepare DPAUX for supporting generic PM domains To utilise the DPAUX on Tegra, the SOR power partition must be enabled. Now that Tegra supports the generic PM domain framework we manage the SOR power partition via this framework for DPAUX. However, the sequence for gating/ungating the SOR power partition requires that the DPAUX reset is asserted/de-asserted at the time the SOR power partition is gated/ungated, respectively. Now that the reset control core assumes that resets are exclusive, the Tegra generic PM domain code and the DPAUX driver cannot request the same reset unless we mark the resets as shared. Sharing resets will not work in this case because we cannot guarantee that the reset will be asserted/de-asserted at the appropriate time. Therefore, given that the Tegra generic PM domain code will handle the DPAUX reset, do not request the reset in the DPAUX driver if the DPAUX device has a PM domain associated. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
9d0e09c1 |
|
29-Jun-2016 |
Jon Hunter <jonathanh@nvidia.com> |
drm/tegra: dpaux: Add helpers for setting up pads In preparation for adding pinctrl support for the DPAUX pads, add a couple of helpers functions to configure the pads and control their power. Please note that although a simple if-statement could be used instead of a case statement for configuring the pads as there are only two possible modes, a case statement is used because when integrating with the pinctrl framework, we need to be able to handle invalid modes that could be passed. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
bcbd63df |
|
29-Jun-2016 |
Jon Hunter <jonathanh@nvidia.com> |
drm/tegra: dpaux: Clean-up on probe failure If the probing of the DPAUX fails, then clocks are left enabled and the DPAUX reset de-asserted. Add code to perform the necessary clean-up on probe failure by disabling clocks and asserting the reset. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
9542c237 |
|
08-Jul-2015 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: sor: Operate on struct drm_dp_aux * 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>
|
#
f9934061 |
|
27-Aug-2015 |
Ville Syrjälä <ville.syrjala@linux.intel.com> |
drm/tegra: Handle I2C_WRITE_STATUS_UPDATE for address only writes A address-only I2C_WRITE can't be replied with a short i2c ack, but I suppose it could be replied with an i2c defer. So the code should be prepared for an address-only I2C_WRITE_STATUS_UPDATE. Cc: Thierry Reding <thierry.reding@gmail.com> Cc: "Terje Bergström" <tbergstrom@nvidia.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Acked-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
#
2b712be7 |
|
27-Aug-2015 |
Ville Syrjälä <ville.syrjala@linux.intel.com> |
drm/dp: s/I2C_STATUS/I2C_WRITE_STATUS_UPDATE/ Rename the I2C_STATUS request to I2C_WRITE_STATUS_UPDATE to match the spec. Acked-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
|
#
9e532b3a |
|
03-Jul-2015 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Disable interrupt when detached When the DPAUX isn't attached to an SOR the interrupts are not useful. This also prevents a race that could potentially cause a crash on driver removal. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
3227166c |
|
27-Apr-2015 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Configure pads as I2C by default The DPAUX code paths already configure the pads in AUX mode, but there is no way to reconfigure them in I2C mode for HDMI (the DPAUX module is unused in that case). Enabling the pads in I2C mode by default is the quickest way to support HDMI. Eventually this may need an explicit call in the user drivers. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
08f580ef |
|
27-Apr-2015 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Provide error message in probe When probing the dpaux device fails, output proper error messages to help diagnose the cause of the failure. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
8a8005e3 |
|
02-Jun-2015 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Registers are 32-bit Use a sized unsigned 32-bit data type (u32) to store register contents. The DPAUX registers are 32 bits wide irrespective of the architecture's data width. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
3c1dae0a |
|
11-Jun-2015 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dpaux: Fix transfers larger than 4 bytes The DPAUX read/write FIFO registers aren't sequential in the register space, causing transfers larger than 4 bytes to cause accesses to non- existing FIFO registers. Fixes: 6b6b604215c6 ("drm/tegra: Add eDP support") Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
eeb82a5c |
|
08-Aug-2014 |
Sonika Jindal <sonika.jindal@intel.com> |
drm/tegra: Renaming DP training vswing pre emph defines Rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_400 (0 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ... Signed-off-by: Sonika Jindal <sonika.jindal@intel.com> Acked-by: Dave Airlie <airlied@gmail.com> Acked-by: Thierry Reding <thierry.reding@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
#
ef70728c |
|
18-Jun-2014 |
Stephen Warren <swarren@nvidia.com> |
drm/tegra: add MODULE_DEVICE_TABLEs When tegra-drm.ko is built as a module, these MODULE_DEVICE_TABLEs allow the module to be auto-loaded since the module will match the devices instantiated from device tree. (Notes for stable: in 3.14+, just git rm any conflicting file, since they are added in later kernels. For 3.13 and below, manual merging will be needed) Cc: <stable@vger.kernel.org> Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
7c463386 |
|
25-Apr-2014 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dp - Mark the connector as hotplug capable Doing so allows the hotplug events generated by the connector to be properly handled by the DRM poll helpers. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
2fff79d3 |
|
25-Apr-2014 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dp - Implement hotplug detection in work queue Calling the drm_helper_hpd_irq_event() helper can sleep, so instead of invoking it directly from the interrupt handler, schedule a work queue and run it from there. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
4f71d0cb |
|
04-Jun-2014 |
Dave Airlie <airlied@redhat.com> |
drm/dp: add a hw mutex around the transfer functions. (v2) This should avoid races between connector probing and HPD irqs in the future, currently mode_config.mutex blocks this possibility. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
#
1ca20305 |
|
07-Apr-2014 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: dp: Support address-only I2C-over-AUX transactions Certain types of I2C-over-AUX transactions require that only the address is transferred. Detect this by looking at the AUX message's size and set the address-only bit appropriately. Signed-off-by: Thierry Reding <treding@nvidia.com>
|
#
6b6b6042 |
|
15-Nov-2013 |
Thierry Reding <treding@nvidia.com> |
drm/tegra: Add eDP support Add support for eDP functionality found on Tegra124 and later SoCs. Only fast link training is currently supported. Signed-off-by: Thierry Reding <treding@nvidia.com>
|