12 Nov, 2011
3 commits
-
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (42 commits)
drm/radeon/kms/pm: switch to dynamically allocating clock mode array
drm/radeon/kms: optimize r600_pm_profile_init
drm/radeon/kms/pm: add a proper pm profile init function for fusion
drm/radeon/kms: remove extraneous calls to radeon_pm_compute_clocks()
drm/exynos: added padding to be 64-bit align.
drm: fix kconfig unmet dependency warning
drm: add some comments to drm_wait_vblank and drm_queue_vblank_event
drm/radeon/benchmark: signedness bug in radeon_benchmark_move()
drm: do not sleep on vblank while holding a mutex
MAINTAINERS: exynos: Add EXYNOS DRM maintainer entry
drm: try to restore previous CRTC config if mode set fails
drm/radeon/kms: make an aux failure debug only
drm: drop select of SLOW_WORK
drm: serialize access to list of debugfs files
drm/radeon/kms: fix use of vram scratch page on evergreen/ni
drm/radeon: Make sure CS mutex is held across GPU reset.
drm: Ensure string is null terminated.
vmwgfx: Only allow 64x64 cursors
vmwgfx: Initialize clip rect loop correctly in surface dirty
vmwgfx: Close screen object system
... -
* git://github.com/herbertx/crypto:
crypto: algapi - Fix build problem with NET disabled
crypto: user - Fix rwsem leak in crypto_user -
* 'for-linus' of git://oss.sgi.com/xfs/xfs:
xfs: fix force shutdown handling in xfs_end_io
xfs: constify xfs_item_ops
xfs: Fix possible memory corruption in xfs_readlink
11 Nov, 2011
22 commits
-
On newer chips the number of clock modes per power state varies.
Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie -
Avoid a lot of extra loops through the pm state array.
Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie -
The new power tables need to be handled differently when setting
up the profiles.Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie -
It's already called via the DPMS functions.
Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie -
Signed-off-by: Inki Dae
Signed-off-by: Kyungmin Park
Signed-off-by: Dave Airlie -
Fix kconfig unmet dependency warning. BACKLIGHT_CLASS_DEVICE depends on
BACKLIGHT_LCD_SUPPORT, so select the latter along with the former.warning: (DRM_RADEON_KMS && DRM_I915 && STUB_POULSBO && FB_BACKLIGHT && PANEL_SHARP_LS037V7DW01 && PANEL_ACX565AKM && USB_APPLEDISPLAY && FB_OLPC_DCON && ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP && ACPI_ASUS && ACPI_CMPC && SAMSUNG_Q10) selects BACKLIGHT_CLASS_DEVICE which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT)
Signed-off-by: Randy Dunlap
Cc: David Airlie
Signed-off-by: Andrew Morton
Signed-off-by: Dave Airlie -
* 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6:
drm/nouveau: Fix bandwidth calculation for DisplayPort
drm/nouveau: by default use low bpp framebuffer on low memory cards
drm/nv10: Change the BO size threshold determining the memory placement range.
drm/nvc0: enable acceleration for nvc1 by default
drm/nvc0/gr: fixup the mmio list register writes for 0xc1
drm/nvc1: hacky workaround to fix accel issues
drm/nvc0/gr: fix some bugs in grctx generation
drm/nvc0: enable acceleration on 0xc8 by default
drm/nvc0/vram: skip disabled PBFB subunits
drm/nv40/pm: fix issues on igp chipsets, which don't have memory
drm/nouveau: testing the wrong variable
drm/nvc0/vram: storage type 0xc3 is not compressed
drm/nv50: fix stability issue on NV86.
drm/nouveau: initialize chan->fence.lock before use
drm/nv50/vram: fix incorrect detection of bank count on newer chipsets
drm/nv50/gr: typo fix, how about we not reset fifo during graph init?
drm/nv50/bios: fixup mpll programming from the init table parser
drm/nouveau: fix oops if i2c bus not found in nouveau_i2c_identify()
drm: make sure drm_vblank_init() has been called before touching vbl_lock -
during the review of the fix for locks problems in drm_wait_vblank,
a couple of false concerns were raised about how the drm_vblank_get
and drm_vblank_put are used in this function; it turned out that the
code is correct and that it cannot be simplifiedadd a few comments to explain non-obvious flows in the code,
to prevent "false alarms" in the futurev2: incorporate comments received from Daniel Vetter
Signed-off-by: Ilija Hadzic
Reviewed-by: Daniel Vetter
Signed-off-by: Dave Airlie -
radeon_benchmark_do_move() returns an int so "time" should be int
too. Making it unsigned breaks the error handling.Signed-off-by: Dan Carpenter
Signed-off-by: Dave Airlie -
drm_wait_vblank must be DRM_UNLOCKED because otherwise it
will grab the drm_global_mutex and then go to sleep until the vblank
event it is waiting for. That can wreck havoc in the windowing system
because if one process issues this ioctl, it will block all other
processes for the duration of all vblanks between the current and the
one it is waiting for. In some cases it can block the entire windowing
system.v2: incorporate comments received from Daniel Vetter and
Michel Daenzer.v3/v4: after a lengty discussion with Daniel Vetter, it was concluded
that the only thing not yet protected with locks and atomic
ops is the write to dev->last_vblank_wait. It's only used in a
debug file in proc, and the current code already employs no
correct locking: the proc file only takes dev->struct_mutex,
whereas drm_wait_vblank implicitly took the drm_global_mutex.
Given all this, it's not worth bothering to try to fix
the locks at this time.Signed-off-by: Ilija Hadzic
Reviewed-by: Daniel Vetter
Signed-off-by: Dave Airlie -
As Exynos DRM is merged at mainline. Also update the maintainer entry.
Signed-off-by: Kyungmin Park
Signed-off-by: Dave Airlie -
We restore the CRTC, encoder, and connector configurations, but if the
mode set failed, the attached display may have been turned off, so we
need to try set_config again to restore things to the way they were.Signed-off-by: Jesse Barnes
Reviewed-by: Alex Deucher
Signed-off-by: Dave Airlie -
Can happen when there is no DP panel attached, confusing
users. Make it debug only.Signed-off-by: Alex Deucher
Cc: stable@kernel.org
Signed-off-by: Dave Airlie -
slow-work got killed in commit 181a51f6e0. This means that since v2.6.36
there is no Kconfig symbol SLOW_WORK. Apparently selecting that symbol
is a nop. Drop that select.Signed-off-by: Paul Bolle
Signed-off-by: Dave Airlie -
Nouveau, when configured with debugfs, creates debugfs files for every
channel, so structure holding list of files needs to be protected from
simultaneous changes by multiple threads.Without this patch it's possible to hit kernel oops in
drm_debugfs_remove_files just by running a couple of xterms with
looped glxinfo.Signed-off-by: Marcin Slusarz
Reviewed-by: Daniel Vetter
Signed-off-by: Dave Airlie -
This hunk seems to have gotten lost when I rebased the patch.
Reported-by: Sylvain Bertrand
Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie -
This was only the case if the GPU reset was triggered from the CS ioctl,
otherwise other processes could happily enter the CS ioctl and wreak havoc
during the GPU reset.This is a little complicated because the GPU reset can be triggered from the
CS ioctl, in which case we're already holding the mutex, or from other call
paths, in which case we need to lock the mutex. AFAICT the mutex API doesn't
allow recursive locking or finding out the mutex owner, so we need to handle
this with helper functions which allow recursive locking from the same
process.Signed-off-by: Michel Dänzer
Reviewed-by: Jerome Glisse
Signed-off-by: Dave Airlie -
Fixes Coverity buffer not null terminated defect.
Signed-off-by: Vinson Lee
Signed-off-by: Dave Airlie -
Snooping code expects this to be the case.
Signed-off-by: Jakob Bornecrantz
Reviewed-by: Thomas Hellstrom
Signed-off-by: Dave Airlie -
Signed-off-by: Jakob Bornecrantz
Reviewed-by: Thomas Hellstrom
Signed-off-by: Dave Airlie -
Signed-off-by: Jakob Bornecrantz
Reviewed-by: Thomas Hellstrom
Signed-off-by: Dave Airlie -
The report functions use NLA_PUT so we need to ensure that NET
is enabled.Reported-by: Luis Henriques
Signed-off-by: Herbert Xu
10 Nov, 2011
15 commits
-
This reverts commit aa6afca5bcaba8101f3ea09d5c3e4100b2b9f0e5.
It escalates of some of the google-chrome SELinux problems with ptrace
("Check failed: pid_ > 0. Did not find zygote process"), and Andrew
says that it is also causing mystery lockdep reports.Reported-by: Alex Villacís Lasso
Requested-by: James Morris
Requested-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Ported from the equivalent fix in drm-intel-next:
http://cgit.freedesktop.org/~keithp/linux/commit/?h=drm-intel-next&id=cd9dde44f47501394b9f0715b6a36a92aa74c0d0
Signed-off-by: Adam Jackson
Signed-off-by: Ben Skeggs -
Framebuffer's BPP is not that important but can waste significant part
of memory on low-VRAM cards. Lower it to 8bpp on < 32MB cards and to
16bpp on 64MB cards. It can still be overridden by video= option.Signed-off-by: Marcin Slusarz
Signed-off-by: Ben Skeggs -
Fixes the framebuffer memory allocation failure seen on some
low-memory cards, followed by X refusing to start.https://bugs.freedesktop.org/show_bug.cgi?id=42384
Reported-by: Chris Paulson-Ellis
Signed-off-by: Francisco Jerez
Signed-off-by: Ben Skeggs -
Signed-off-by: Ben Skeggs
-
Signed-off-by: Ben Skeggs
-
Signed-off-by: Ben Skeggs
-
Most serious is for chips with only 1 TPC, we'd get stuck in an infinite
loop. The fix here will slightly change the setup for all other chipsets
too, but, it shouldn't matter too much, and this all needs figuring out
and likely redone anyway.Signed-off-by: Ben Skeggs
-
Worked well enough for glxgears and gnome-shell at least, no reason to
have this off anymore.Signed-off-by: Ben Skeggs
-
Signed-off-by: Ben Skeggs
-
Signed-off-by: Ben Skeggs
-
memtimings is a valid pointer here, the intent was to test for
kcalloc() failure.Signed-off-by: Dan Carpenter
Signed-off-by: Ben Skeggs -
Signed-off-by: Christoph Bumiller
Signed-off-by: Ben Skeggs -
Confirmed to fix random hangs while running all Unegine demos on NV86.
Signed-off-by: Maxim Levitsky
Signed-off-by: Ben Skeggs -
Fence lock needs to be initialized before any call to nouveau_channel_put
because it calls nouveau_channel_idle->nouveau_fence_update which uses
fence lock.BUG: spinlock bad magic on CPU#0, test/24134
lock: ffff88019f90dba8, .magic: 00000000, .owner: /-1, .owner_cpu: 0
Pid: 24134, comm: test Not tainted 3.0.0-nv+ #800
Call Trace:
spin_bug+0x9c/0xa3
do_raw_spin_lock+0x29/0x13c
_raw_spin_lock+0x1e/0x22
nouveau_fence_update+0x2d/0xf1
nouveau_channel_idle+0x22/0xa0
nouveau_channel_put_unlocked+0x84/0x1bd
nouveau_channel_put+0x20/0x24
nouveau_channel_alloc+0x4ec/0x585
nouveau_ioctl_fifo_alloc+0x50/0x130
drm_ioctl+0x289/0x361
do_vfs_ioctl+0x4dd/0x52c
sys_ioctl+0x42/0x65
system_call_fastpath+0x16/0x1bIt's easily triggerable from userspace.
Additionally remove double initialization of chan->fence.pending.
Signed-off-by: Marcin Slusarz
Cc: stable@kernel.org
Signed-off-by: Ben Skeggs