- 20 5月, 2009 1 次提交
-
-
由 Jesse Barnes 提交于
For awhile now, many of the GEM code paths have allocated page or object arrays with the slab allocator. This is nice and fast, but won't work well if memory is fragmented, since the slab allocator works with physically contiguous memory (i.e. order > 2 allocations are likely to fail fairly early after booting and doing some work). This patch works around the issue by falling back to vmalloc for >PAGE_SIZE allocations. This is ugly, but much less work than chaining a bunch of pages together by hand (suprisingly there's not a bunch of generic kernel helpers for this yet afaik). vmalloc space is somewhat precious on 32 bit kernels, but our allocations shouldn't be big enough to cause problems, though they're routinely more than a page. Note that this patch doesn't address the unchecked alloc-based-on-ioctl-args in GEM; that needs to be fixed in a separate patch. Also, I've deliberately ignored the DRM's "area" junk. I don't think anyone actually uses it anymore and I'm hoping it gets ripped out soon. [Updated: removed size arg to new free function. We could unify the free functions as well once the DRM mem tracking is ripped out.] fd.o bug #20152 (part 1/3) Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: NEric Anholt <eric@anholt.net>
-
- 15 5月, 2009 9 次提交
-
-
由 Jason Wessel 提交于
Commit 79e53945 introduced a regression where you cannot use sysrq 'g' to enter kgdb. The solution is to move the intel fb sysrq over to V for video instead of G for graphics. The SMP VOYAGER code to register for the sysrq-v is not anywhere to be found in the mainline kernel, so the comments in the code were cleaned up as well. This patch also cleans up the sysrq definitions for kgdb to make it generic for the kernel debugger, such that the sysrq 'g' can be used in the future to enter a gdbstub or another kernel debugger. Signed-off-by: NJason Wessel <jason.wessel@windriver.com> Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org> Acked-by: NRandy Dunlap <randy.dunlap@oracle.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
-
由 Carl Worth 提交于
This allows userlevel code to discover the pipe number corresponding to a given CRTC ID. This is necessary for doing pipe-specific operations such as waiting for vblank on a given CRTC. Failure to use the right pipe mapping can result in GPU hangs, or at least failure to actually sync to vblank. Signed-off-by: NCarl Worth <cworth@cworth.org> [anholt: Style touchups from review] Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Ma Ling 提交于
We detect HDMI output connection status by writing to HOT Plug Interrupt Detect Enable bit in PORT_HOTPLUG_EN. The behavior will generate a specified interrupt, which is caught by audio driver, but during one detection driver set all Detect Enable bits of HDMIB, HDMIC HDMID, and generate wrong interrupt signals for current output, according to the signals audio driver misunderstand device status. The patch intends to handle corresponding output precisely. It fixed freedesktop.org bug #21371 Signed-off-by: NMa Ling <ling.ma@intel.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Ma Ling 提交于
It fixed bug #21659 Signed-off-by: NMa Ling <ling.ma@intel.com> [anholt: hand-applied because git-am is too picky] Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Ma Ling 提交于
Although spec say CRT_HOTPLUG_ACTIVATION_PERIOD_64 is only useful for mobile platform, it is also required to detect vga on G4x desktops correctly. Tested on G45/G43/Q45 platforms with no regressions. It fixed freedesktop.org bug #21120 and part of bug #21210 Signed-off-by: NMa Ling <ling.ma@intel.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Jarod Wilson 提交于
There are a number of small form factor desktop systems with Intel mobile graphics chips that lie and say they have an LVDS. With kernel mode-setting, this becomes a problem, and makes native resolution boot go haywire -- for example, my Dell Studio Hybrid, hooked to a 1920x1080 display claims to have a 1024x768 LVDS, and the resulting graphical boot on the 1920x1080 display uses only the top left 1024x768, and auto-configured X will end up only 1024x768 as well. With this change, graphical boot and X both do 1920x1080 as expected. Note that we're simply embracing and extending the early bail-out code in place for the Mac Mini here. The xorg intel driver uses pci subsystem device and vendor id for matching, while we're using dmi lookups here. The MSI addition is courtesy of and tested by Bill Nottingham. Signed-off-by: NJarod Wilson <jarod@redhat.com> Tested-by: NBill Nottingham <notting@redhat.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Jesse Barnes 提交于
We might sleep here anyway so I hope an extra uncached read is ok to add. In #20896 we found that vbetool clobbers the IER. In KMS mode this is particularly bad since we don't set the interrupt regs late (in EnterVT), so we'd fail to get *any* interrupts at all after X started (since some distros have scripts that call vbetool at X startup apparently). So this patch checks IER at wait_request time, and re-enables interrupts if it's been clobbered. In a proper config this check should never be triggered. This is really a distro issue, but having a sanity check is nice, as long as it doesn't have a real performance hit. Tested-by: NMateusz Kaduk <mateusz.kaduk@gmail.com> Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org> [anholt: Moved the check inside of the sleeping case to avoid perf cost] Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Shaohua Li 提交于
In IGD, DPCUNIT_CLOCK_GATE_DISABLE bit should be set, otherwise i2c access will be wrong. v2: Disable CLOCK_GATE_DISABLE bit after bit bashing as suggested by Eric. Signed-off-by: NShaohua Li <shaohua.li@intel.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Eric Anholt 提交于
This should avoid a class of bugs where the hardware prefetches past the end of the object, and walks into unallocated memory when the object is bound to the last page of the aperture. fd.o bug #21488 Signed-off-by: NEric Anholt <eric@anholt.net>
-
- 13 5月, 2009 1 次提交
-
-
由 Jesse Barnes 提交于
People keep getting bitten by this, so just auto-select it by default, assuming most configurations will actually want a console. Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
-
- 06 5月, 2009 1 次提交
-
-
由 Dave Airlie 提交于
This should allow r128 to start working again since PAT changes. taken from F-11 kernel. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 01 5月, 2009 2 次提交
-
-
由 Keith Packard 提交于
This makes software fallbacks not do tiling wrong on i965 and later after resume. It also should fix 945 performance reduction after resume which would have disabled tiling without causing any visible effect. Signed-off-by: NKeith Packard <keithp@keithp.com> [anholt: Fixed up the 915 case to not save/restore the new regs] Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Keith Packard 提交于
i386 has inline code for writeq and readq, so just use those instead of ugly macros which evaluate arguments multiple times. Signed-off-by: NKeith Packard <keithp@keithp.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-
- 24 4月, 2009 7 次提交
-
-
由 Ben Skeggs 提交于
Signed-off-by: NBen Skeggs <bskeggs@redhat.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Ben Skeggs 提交于
The hash tables contains some of the mapping so its really nice to have it for the deletion phase. Signed-off-by: NBen Skeggs <bskeggs@redhat.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Jonas Bonn 提交于
This code was never going to get called in there. Signed-off-by: NJonas Bonn <jonas@southpole.se> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Jonas Bonn 提交于
This line that checks the DRM_CONTROL_ALLOW flag was missed from the KMS merge. Re-add the check on the IOCTL, as this is currently the only use of this flag. Signed-off-by: NJonas Bonn <jonas@southpole.se> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
We have a drm_set_config which takes a crtc/encoder/mode setup, and checks it to see if it can shortcut and just do a base setup, or whether a complete mode setting is required. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Maciej Cencora 提交于
We already added support, just need to let userspace know when it can use them. Signed-off-by: NMaciej Cencora <m.cencora@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Matthew Garrett 提交于
The ACPI video driver defers registration to the i915 driver if the system supports opregion-mediated backlight control. This registration was only being performed in the KMS case. Ensure it's done even if we don't have modesetting enabled. http://bugzilla.kernel.org/show_bug.cgi?id=13048Signed-off-by: NMatthew Garrett <mjg@redhat.com> Signed-off-by: NLen Brown <len.brown@intel.com>
-
- 22 4月, 2009 3 次提交
-
-
由 Chris Wright 提交于
Commit 201361a5 introduces a leak when unwinding on error. Reorder unwind, and eliminate leak. Cc: Eric Anholt <eric@anholt.net> Cc: Keith Packard <keithp@keithp.com> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: NChris Wright <chrisw@sous-sol.org> [anholt: fixed uninit variable use introduced in original patch] Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Wu Fengguang 提交于
Signed-off-by: NWu Fengguang <fengguang.wu@intel.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Zhenyu Wang 提交于
This had been delayed for some time due to failure to work on the one piece of G41 hardware we had, and lack of success reports from anybody else. Current hardware appears to be OK. Signed-off-by: NZhenyu Wang <zhenyu.z.wang@intel.com> [anholt: hand-applied due to conflicts with IGD patches] Signed-off-by: NEric Anholt <eric@anholt.net>
-
- 20 4月, 2009 4 次提交
-
-
由 Dave Airlie 提交于
When fast user switching a lot eventually we get to the point, where we were checking for the wrong thing in this function. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Jonas Bonn 提交于
The variable is_master is being used to track the drm_file that is currently master, so its value needs to be updated accordingly when the master is changed. Signed-off-by: NJonas Bonn <jonas@southpole.se> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Ma Ling 提交于
In current code we register/unregister connector object by drm_sysfs_connector_add/remove function. However under some cases, we need to dynamically register or unregister device multiple times, so we have to go through register -> unregister ->register routine. Because after device_unregister function our memory is dirty, we need to do clean operation in order to re-register the device, otherwise the system will crash. The patch intends to clean device after device release. Signed-off-by: NMa Ling <ling.ma@intel.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Roel Kluin 提交于
With a postfix decrement in the test count will reach -1 rather than 0, subsequent tests fail. Signed-off-by: NRoel Kluin <roel.kluin@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 18 4月, 2009 5 次提交
-
-
由 Matthew Garrett 提交于
The changes to opregion initialisation order meant that the ASLE setup code might not be run at the correct time. Ensure that the interrupts are set up. Signed-off-by: NMatthew Garrett <mjg@redhat.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Matthew Garrett 提交于
The i915 DRM triggers registration of the ACPI video driver on load. It should unregister it at unload in order to avoid generating backtraces on being reloaded. Signed-off-by: NMatthew Garrett <mjg@redhat.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Matthew Garrett 提交于
The ACPI video driver defers registration to the i915 driver if the system supports opregion-mediated backlight control. This registration was only being performed in the KMS case. Ensure it's done even if we don't have modesetting enabled. Signed-off-by: NMatthew Garrett <mjg@redhat.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Keith Packard 提交于
Transitions to TILING_NONE skipped the call to unbind the object, which left the fence register set and caused future CPU access through the GTT to access the object in tiled mode. Signed-off-by: NKeith Packard <keithp@keithp.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Eric Anholt 提交于
Userland is broken if it's trying this, but we also shouldn't allow oopses. Signed-off-by: NEric Anholt <eric@anholt.net>
-
- 17 4月, 2009 1 次提交
-
-
由 Jesse Barnes 提交于
This patch corrects a pretty big oversight in the KMS code for 965+ chips. The current code is missing tiled surface register programming, so userland can allocate a tiled surface and use it for mode setting, resulting in corruption. This patch fixes that, allowing for tiled front buffers on 965+. Cc: stable@kernel.org Tested-by: NArkadiusz Miskiewicz <arekm@maven.pl> Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: NEric Anholt <eric@anholt.net>
-
- 15 4月, 2009 1 次提交
-
-
由 Shaohua Li 提交于
regression caused by commit 5e118f41: i915_gem_object_move_to_inactive() should be called in task context, as it calls fput(); Signed-off-by: Shaohua Li<shaohua.li@intel.com> [anholt: Add more detail to the comment about the lock break that's added] Signed-off-by: NEric Anholt <eric@anholt.net>
-
- 09 4月, 2009 5 次提交
-
-
由 Eric Anholt 提交于
Save the bit 17 state of the pages when freeing the page list, and reswizzle them if necessary when rebinding the pages (in case they were swapped out). Since we have userland with expectations that the swizzle enums let it pread and pwrite contents accurately, we can't expose a new swizzle enum for bit 17 (which it would have to GTT map to handle), so we handle it down in pread and pwrite by swizzling the copy when bit 17 of the page address is set. Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Eric Anholt 提交于
Otherwise, the results of our read didn't show up when we were faulting in the page being read into (as happened with a testcase reading into a big stack area). Likely accounts for some conformance test failures. Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Florian Mickler 提交于
i915_gem_put_relocs_to_user returned an uninitialized value which got returned to userspace. This caused libdrm in my setup to never get out of a do{}while() loop retrying i915_gem_execbuffer. result was hanging X, overheating of cpu and 2-3gb of logfile-spam. This patch adresses the issue by 1. initializing vars in this file where necessary 2. correcting wrongly interpreted return values of copy_[from/to]_user Signed-off-by: NFlorian Mickler <florian@mickler.org> [anholt: cleanups of unnecessary changes, consistency in APIs] Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Ferenc Wagner 提交于
At the same time, bring the action message closer to the usual format. Signed-off-by: NFerenc Wagner <wferi@niif.hu> Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: NEric Anholt <eric@anholt.net>
-
由 Ma Ling 提交于
Currently we detect HDMI monitor by hardware detection, but if an HDMI-DVI adapter is used to connect a DVI monitor, hardware detection will incorrectly take monitor as HDMI. HDMI spec says any device containing IEEE registration identifier will be treated as HDMI device. The patch intends to detect HDMI monitor by drm_detect_hdmi_monitor function which follows that rule. Signed-off-by: NMa Ling <ling.ma@intel.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-