summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-03-28drm: drm_ut_debug_printk() isn't called with NULL anywmoreLespiau, Damien
The DRM_LOG* macros where the only sites where drm_ut_debug_printk was called with NULL arguments for prefix and function_name. Now that they are gone, we can remove that case. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-03-28drm: Pull the test on drm_debug in the logging macrosLespiau, Damien
In the logging code, we are currently checking is we need to output in drm_ut_debug_printk(). This is too late. The problem is that when we write something like: DRM_DEBUG_DRIVER("ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n", connector->base.id, drm_get_connector_name(connector), connector->encoder->base.id, drm_get_encoder_name(connector->encoder)); We start by evaluating the arguments (so call drm_get_connector_name() and drm_get_connector_name()) before ending up in drm_ut_debug_printk() which will then does nothing. This means we execute a lot of instructions (drm_get_connector_name(), in turn, calls snprintf() for example) to happily discard them in the normal case, drm.debug=0. So, let's put the test on drm_debug earlier, in the macros themselves. Sprinkle an unlikely() as well for good measure. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-03-28drm: Remove the now unused DRM_LOG* macrosLespiau, Damien
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-03-28staging: imx-drm: Replace DRM_LOG_KMS() by DRM_DEBUG_KMS()Lespiau, Damien
There are only a few users of the DRM_LOG_KMS() macro. We can simplify the DRM code a bit by replacing them by DRM_DEBUG_KMS(). Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-03-28drm/i915: Replace DRM_LOG_KMS() by DRM_DEBUG_KMS()Lespiau, Damien
There are only a few users of the DRM_LOG_KMS() macro. We can simplify the DRM code a bit by replacing them by DRM_DEBUG_KMS(). Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-03-28drm/gma500: Replace DRM_LOG_KMS() by DRM_DEBUG_KMS()Lespiau, Damien
There are only a few users of the DRM_LOG_KMS() macro. We can simplify the DRM code a bit by replacing them by DRM_DEBUG_KMS(). Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-03-28drm/exynos: Replace DRM_LOG_KMS() by DRM_DEBUG_KMS()Lespiau, Damien
There are only a few users of the DRM_LOG_KMS() macro. We can simplify the DRM code a bit by replacing them by DRM_DEBUG_KMS(). Cc: Inki Dae <inki.dae@samsung.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-03-28drm: Remove the unused (and unusable) DRM_LOG_MODE()Lespiau, Damien
This macro was trying to use the non existing DRM_UT_MODE debug category and looks like it should be covered by DRM_LOG_KMS(). Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-03-28drm: Refresh the explanation of debug categoriesLespiau, Damien
That comment wasn't super-readable, so I tried to improve it: - Put the comment before the values it's documenting - Add a mention to PRIME - Reword things a bit to be a lighter read - Add a note about the option to set the debug value at run-time Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-03-27drm/bridge: PTN3460 needs DRM_KMS_HELPERArnd Bergmann
The recently added PTN3460 device driver uses interfaces that are provided by the KMS helper infrastructure, so we should explicitly select that to avoid this linker error: ERROR: "drm_helper_probe_single_connector_modes" [drivers/gpu/drm/bridge/ptn3460.ko] undefined! ERROR: "drm_helper_connector_dpms" [drivers/gpu/drm/bridge/ptn3460.ko] undefined! We have to drop the I2C dependency to avoid a circular dependency chain, but that's ok because DRM already selects I2C. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-03-26Merge branch 'drm-nouveau-next' of ↵Dave Airlie
git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next - first stage of (ongoing) gpu fault recovery work - initial support for maxwell (binary driver fw needed) - various random fixes across the board * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (87 commits) drm/nouveau: fix missing newline drm/nouveau/bios: fetch the vbios from PROM using only aligned 32-bit accesses drm/nouveau/therm: let the vbios decide on the automatic fan management mode drm/nvd7/therm: handle another kind of PWM fans drm/nouveau/pm/fan: drop the fan lock in fan_update() before rescheduling drm/nouveau: fix small thinko in vblank timestamping. drm/nouveau/therm: check for sensor presence with requested mode, not current drm/nouveau/disp/dp: allow 540MHz data rate drm/nouveau: recognise higher link rate for available dp bw calculations drm/nouveau/disp: limit dp capabilities as per dcb drm/nva3/fbram: restrict training pattern setup to GT218 drm/nva3/devinit: restrict script access to some PFB regs drm/nouveau/devinit: add interface to check if a mmio access by scripts is ok drm/nouveau/bios: have strap reads show on devinit spam debug level drm/nv50/gpio: fixup reset for gpios >= 16 drm/nv50/gpio: exclude sense value from mask when changing registers drm/gk104/gr: therm magic needed on some kepler boards drm/gm107/gr: initial support drm/gf100-/gf: fix a stupid typo, waiting on wrong signal for mmctx drm/nouveau/bios: parsing of some random table needed to bring up gr ...
2014-03-26drm/nouveau: fix missing newlineAlexandre Courbot
Add a missing newline at the end of a DRM_INFO message. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau/bios: fetch the vbios from PROM using only aligned 32-bit accessesMartin Peres
Other kind of accesses are unreliable on Kepler cards. As advised by NVIDIA, let's only use 32-bit accesses to fetch the vbios from PROM. This fixes vbios fetching on my nve7 which failed in certain specific conditions. I suggest we Cc stable, for all kernels they still maintain after the big rewrite. Suggested-by: Christian Zander <czander@nvidia.com> Signed-off-by: Martin Peres <martin.peres@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau/therm: let the vbios decide on the automatic fan management modeMartin Peres
This should fix automatic fan management on fermi cards who do not have 0x46 entries in the thermal table. On my nve6, the blob sets the default linear range from 40°C to 100°C but my nvcf's default values are 40°C to 85°C. Let's keep 85 as a default for everyone. Signed-off-by: Martin Peres <martin.peres@labri.fr> Tested-by: Timothée Ravier <tim@siosm.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nvd7/therm: handle another kind of PWM fansMartin Peres
This should fix fan management on many nvd7+ chipsets. Signed-off-by: Martin Peres <martin.peres@labri.fr> Tested-by: Timothée Ravier <tim@siosm.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau/pm/fan: drop the fan lock in fan_update() before reschedulingMartin Peres
This should fix a deadlock that has been reported to us where fan_update() would hold the fan lock and try to grab the alarm_program_lock to reschedule an update. On an other CPU, the alarm_program_lock would have been taken before calling fan_update(), leading to a deadlock. We should Cc: <stable@vger.kernel.org> # 3.9+ Reported-by: Marcin Slusarz <marcin.slusarz@gmail.com> Tested-by: Timothée Ravier <tim@siosm.fr> Tested-by: Boris Fersing (IRC nick fersingb, no public email address) Signed-off-by: Martin Peres <martin.peres@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau: fix small thinko in vblank timestamping.Mario Kleiner
*hpos horizontal scanout position doesn't need to be corrected to count the pixels between hactive end and htotal negative. That is only needed for *vpos to count lines until end of vblank for the vblank timestamping. Use hpos as is without correction. Removes occassional spikes in timestamps of up to 1 scanline duration, thereby improves accuracy to about +/- 2 usecs instead of +/- 12 usecs, wrt. true onset time as measured with high precision equipment on NV-A5. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau/therm: check for sensor presence with requested mode, not currentBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau/disp/dp: allow 540MHz data rateIlia Mirkin
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76319 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau: recognise higher link rate for available dp bw calculationsBen Skeggs
I should resurrect/merge that cleanup branch to remove the weird duplication.. One day. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau/disp: limit dp capabilities as per dcbBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nva3/fbram: restrict training pattern setup to GT218Ben Skeggs
It doesn't look like the others have the registers. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nva3/devinit: restrict script access to some PFB regsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau/devinit: add interface to check if a mmio access by scripts is okBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau/bios: have strap reads show on devinit spam debug levelBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nv50/gpio: fixup reset for gpios >= 16Ben Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nv50/gpio: exclude sense value from mask when changing registersBen Skeggs
Shouldn't effect anything, was just momentarily confusing while looking at traces. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gk104/gr: therm magic needed on some kepler boardsBen Skeggs
Not needed everywhere, and potentially not safe to do depending on how the rest of PTHERM is configured... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gm107/gr: initial supportBen Skeggs
Our ucode only partially works at this point, so requiring binary fw image for now. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gf100-/gf: fix a stupid typo, waiting on wrong signal for mmctxBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau/bios: parsing of some random table needed to bring up grBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nv50/bar: fix plymouth issues on certain efi macbooksBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau: fix fbcon not being accelerated after suspendBen Skeggs
This does *not* (and is not intended to) fix the issue reported by Christoph Rudorff on the nouveau mailinglist. The patch proposed (which is similar to this one, but also reorders whether we disable accel or call fb_set_suspend first), papers over another problem entirely by avoiding touching the framebuffer. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gf100-/gr: split ppc state into its subunitsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gf100-/gf: split tpc state into its subunitsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gf100-/gr: split gpc state into its subunitsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gf100-/gr: tidy reg/ctx initval lists, mostly by giving them namesBen Skeggs
Unit names come from the Android GK20A driver. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gk110/gr: minor adjustment to some random initvalBen Skeggs
Change from traces of a newer binary driver version. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gk104/gr: minor adjustment to some random initvalBen Skeggs
Change from traces of a newer binary driver version. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gf119/gr: fix bug in some random initvalBen Skeggs
Bug noticed vs traces. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gf110/gr: fixup gpc/tpc initvals listsBen Skeggs
Differences noted vs traces. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gk208/gr: minor adjustment to some random initvalBen Skeggs
Change from traces of a newer binary driver version. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gf108/gr: minor adjustment to some random initvalBen Skeggs
Bug noticed vs traces. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gf104/gr: rename gf104 (nvc4), it came before gf106 (nvc3)Ben Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nvc0-/graph: fix gpccs fuc stack setupBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau/bios: add more checks to PRAMIN image fetchingBen Skeggs
Prevents an attempt to access VRAM on an un-posted board, which, on a particular system with a GRID K1 installed, causes a MCE and chokes the entire system. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26support for platform devicesAlexandre Courbot
Upcoming mobile Kepler GPUs (such as GK20A) use the platform bus instead of PCI to which Nouveau is tightly dependent. This patch allows Nouveau to handle platform devices by: - abstracting PCI-dependent functions that were typically used for resource querying and page mapping, - introducing a nv_device_is_pci() function that allows to make PCI-dependent code conditional, - providing a nouveau_drm_platform_probe() function that takes a GPU platform device to be probed. Core code as well as engine/subdev drivers are updated wherever possible to make use of these functions. Some older drivers are too dependent on PCI to be properly updated, but all newer code on which future chips may depend should at least be runnable with platform devices. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/nouveau: support modesetting on GM107Ben Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gm100/device: recognise GM107Ben Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26drm/gm107/disp: initial implementationBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>