25 May, 2011
1 commit
-
* 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (169 commits)
drivers/gpu/drm/radeon/atom.c: fix warning
drm/radeon/kms: bump kms version number
drm/radeon/kms: properly set num banks for fusion asics
drm/radeon/kms/atom: move dig phy init out of modesetting
drm/radeon/kms/cayman: fix typo in register mask
drm/radeon/kms: fix typo in spread spectrum code
drm/radeon/kms: fix tile_config value reported to userspace on cayman.
drm/radeon/kms: fix incorrect comparison in cayman setup code.
drm/radeon/kms: add wait idle ioctl for eg->cayman
drm/radeon/cayman: setup hdp to invalidate and flush when asked
drm/radeon/evergreen/btc/fusion: setup hdp to invalidate and flush when asked
agp/uninorth: Fix lockups with radeon KMS and >1x.
drm/radeon/kms: the SS_Id field in the LCD table if for LVDS only
drm/radeon/kms: properly set the CLK_REF bit for DCE3 devices
drm/radeon/kms: fixup eDP connector handling
drm/radeon/kms: bail early for eDP in hotplug callback
drm/radeon/kms: simplify hotplug handler logic
drm/radeon/kms: rewrite DP handling
drm/radeon/kms/atom: add support for setting DP panel mode
drm/radeon/kms: atombios.h updates for DP panel mode
...
20 May, 2011
1 commit
-
Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie
16 May, 2011
2 commits
-
We need to hold the dev->mode_config.mutex whilst detecting the output
status. But we also need to drop it for the call into
drm_fb_helper_single_fb_probe(), which indirectly acquires the lock when
attaching the fbcon.Failure to do so exposes a race with normal output probing. Detected by
adding some warnings that the mutex is held to the backend detect routines:[ 17.772456] WARNING: at drivers/gpu/drm/i915/intel_crt.c:471 intel_crt_detect+0x3e/0x373 [i915]()
[ 17.772458] Hardware name: Latitude E6400
[ 17.772460] Modules linked in: ....
[ 17.772582] Pid: 11, comm: kworker/0:1 Tainted: G W 2.6.38.4-custom.2 #8
[ 17.772584] Call Trace:
[ 17.772591] [] ? warn_slowpath_common+0x78/0x8c
[ 17.772603] [] ? intel_crt_detect+0x3e/0x373 [i915]
[ 17.772612] [] ? drm_helper_probe_single_connector_modes+0xbf/0x2af [drm_kms_helper]
[ 17.772619] [] ? drm_fb_helper_probe_connector_modes+0x39/0x4d [drm_kms_helper]
[ 17.772625] [] ? drm_fb_helper_hotplug_event+0xa5/0xc3 [drm_kms_helper]
[ 17.772633] [] ? output_poll_execute+0x146/0x17c [drm_kms_helper]
[ 17.772638] [] ? cfq_init_queue+0x247/0x345
[ 17.772644] [] ? output_poll_execute+0x0/0x17c [drm_kms_helper]
[ 17.772648] [] ? process_one_work+0x193/0x28e
[ 17.772652] [] ? worker_thread+0xef/0x172
[ 17.772655] [] ? worker_thread+0x0/0x172
[ 17.772658] [] ? worker_thread+0x0/0x172
[ 17.772663] [] ? kthread+0x7a/0x82
[ 17.772668] [] ? kernel_thread_helper+0x4/0x10
[ 17.772671] [] ? kthread+0x0/0x82
[ 17.772674] [] ? kernel_thread_helper+0x0/0x10Reported-by: Frederik Himpe
References: https://bugs.freedesktop.org/show_bug.cgi?id=36394
Signed-off-by: Chris Wilson
Signed-off-by: Dave Airlie -
* 'keithp/drm-intel-next' of /ssd/git/drm-next: (301 commits)
drm/i915: split PCH clock gating init
drm/i915: add Ivybridge clock gating init function
drm/i915: Update the location of the ringbuffers' HWS_PGA registers for IVB.
drm/i915: Add support for fence registers on Ivybridge.
drm/i915: Use existing function instead of open-coding fence reg clear.
drm/i915: split clock gating init into per-chipset functions
drm/i915: set IBX pch type explicitly
drm/i915: add Ivy Bridge PCI IDs and driver feature structs
drm/i915: add PantherPoint PCH ID
agp/intel: add Ivy Bridge support
drm/i915: ring support for Ivy Bridge
drm/i915: page flip support for Ivy Bridge
drm/i915: interrupt & vblank support for Ivy Bridge
drm/i915: treat Ivy Bridge watermarks like Sandy Bridge
drm/i915: manual FDI training for Ivy Bridge
drm/i915: add swizzle/tiling support for Ivy Bridge
drm/i915: Ivy Bridge has split display and pipe control
drm/i915: add IS_IVYBRIDGE macro for checks
drm/i915: add IS_GEN7 macro to cover Ivy Bridge and later
drm/i915: split enable/disable vblank code into chipset specific functions
...
09 May, 2011
1 commit
-
The looping helper didn't do anything due to a superficial
semicolon. Furthermore one of the two dump functions suffered
from copy&paste fail.While staring at the code I've also noticed that the replace
helper (currently unused) is a bit broken.Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie
04 May, 2011
2 commits
-
Out of the entire GART/VM subsystem, the hw designers changed
the location of 3 regs.v2: airlied: add parameter for userspace to work from.
Signed-off-by: Alex Deucher
Signed-off-by: Jerome Glisse
Cc: stable@kernel.org
Signed-off-by: Dave Airlie -
Signed-off-by: Alex Deucher
Cc: stable@kernel.org
Signed-off-by: Dave Airlie
28 Apr, 2011
6 commits
-
In the absence of configuration data for providing the fixed mode for
a panel, I would like to be able to pass such modes along a separate
module paramenter. To do so, I then need to parse a modeline from a
string, which drm is already capable of. Export that capability to the
drivers.Signed-off-by: Chris Wilson
Signed-off-by: Dave Airlie -
Add __attribute__((format (printf, 4, 5))) to drm_ut_debug_printk
and fix fallout.Signed-off-by: Joe Perches
Signed-off-by: Dave Airlie -
Reduce drm text size ~1% by using drm_err and
printf extension %pV to emit error messages.Remove unused macro DRM_MEM_ERROR.
$ size drivers/gpu/drm/built-in.o*
text data bss dec hex filename
361159 9663 256 371078 5a986 drivers/gpu/drm/built-in.o.new
365416 9663 256 375335 5ba27 drivers/gpu/drm/built-in.o.oldSigned-off-by: Joe Perches
Signed-off-by: Dave Airlie -
We need to hold the dev->mode_config.mutex whilst detecting the output
status. But we also need to drop it for the call into
drm_fb_helper_single_fb_probe(), which indirectly acquires the lock when
attaching the fbcon.Failure to do so exposes a race with normal output probing. Detected by
adding some warnings that the mutex is held to the backend detect routines:[ 17.772456] WARNING: at drivers/gpu/drm/i915/intel_crt.c:471 intel_crt_detect+0x3e/0x373 [i915]()
[ 17.772458] Hardware name: Latitude E6400
[ 17.772460] Modules linked in: ....
[ 17.772582] Pid: 11, comm: kworker/0:1 Tainted: G W 2.6.38.4-custom.2 #8
[ 17.772584] Call Trace:
[ 17.772591] [] ? warn_slowpath_common+0x78/0x8c
[ 17.772603] [] ? intel_crt_detect+0x3e/0x373 [i915]
[ 17.772612] [] ? drm_helper_probe_single_connector_modes+0xbf/0x2af [drm_kms_helper]
[ 17.772619] [] ? drm_fb_helper_probe_connector_modes+0x39/0x4d [drm_kms_helper]
[ 17.772625] [] ? drm_fb_helper_hotplug_event+0xa5/0xc3 [drm_kms_helper]
[ 17.772633] [] ? output_poll_execute+0x146/0x17c [drm_kms_helper]
[ 17.772638] [] ? cfq_init_queue+0x247/0x345
[ 17.772644] [] ? output_poll_execute+0x0/0x17c [drm_kms_helper]
[ 17.772648] [] ? process_one_work+0x193/0x28e
[ 17.772652] [] ? worker_thread+0xef/0x172
[ 17.772655] [] ? worker_thread+0x0/0x172
[ 17.772658] [] ? worker_thread+0x0/0x172
[ 17.772663] [] ? kthread+0x7a/0x82
[ 17.772668] [] ? kernel_thread_helper+0x4/0x10
[ 17.772671] [] ? kthread+0x0/0x82
[ 17.772674] [] ? kernel_thread_helper+0x0/0x10Reported-by: Frederik Himpe
References: https://bugs.freedesktop.org/show_bug.cgi?id=36394
Signed-off-by: Chris Wilson
Signed-off-by: Dave Airlie -
EDID 1.4 digital displays report the color spaces they support in the
features block. Add support for grabbing this data and stuffing it into
the display_info struct for driver use.Signed-off-by: Jesse Barnes
Reviewed-by: Alex Deucher
Signed-off-by: Dave Airlie -
EDID 1.4 digital monitors report the bit depth supported in the input
field. Add support for parsing this out and storing the info in the
display_info structure for use by drivers.[airlied: tweaked to fix inter-patch dependency]
Signed-off-by: Jesse Barnes
Reviewed-by: Adam Jackson
Signed-off-by: Dave Airlie
27 Apr, 2011
2 commits
-
i915 calls the panic handler function on last close to reset the modes,
however this is a really bad idea for multi-gpu machines, esp shareable
gpus machines. So add a new entry point for the driver to just restore
its own fbcon mode.v2: move code into fb helper, fix panic code to block mode change on
powered off GPUs.[airlied: this hits drm core and I wrote it and it was reviewed on intel-gfx
so really I signed it off twice ;-).]
Signed-off-by: Chris Wilson
Signed-off-by: Dave Airlie -
needed by mesa for htile setup.
Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie
08 Apr, 2011
1 commit
-
* 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6:
Fix common misspellings
05 Apr, 2011
2 commits
-
Signed-off-by: Jan Engelhardt
Signed-off-by: Dave Airlie -
Signed-off-by: Alex Deucher
Cc:stable@kernel.org
Signed-off-by: Dave Airlie
01 Apr, 2011
1 commit
-
Nouveau needs access to this structure to build an ELD block for use
by the HDA audio codec.Signed-off-by: Ben Skeggs
Signed-off-by: Dave Airlie
31 Mar, 2011
1 commit
-
Fixes generated by 'codespell' and manually reviewed.
Signed-off-by: Lucas De Marchi
24 Mar, 2011
1 commit
-
This makes the interface a bit cleaner by leaving a single gap in the
vblank bit space instead of creating two gaps.Suggestions from Michel on mailing list/irc.
Reviewed-by: Michel Dänzer
Signed-off-by: Dave Airlie
21 Mar, 2011
1 commit
-
Below is a patch against drm-next branch of 2.6.38-rc8+ kernel that adds
the capability to wait on vblank events for CRTCs that are greater than 1
and thus cannot be represented with primary/secondary flags in the legacy
interface. It was discussed on the dri-devel list in these two threads:http://lists.freedesktop.org/archives/dri-devel/2011-March/009009.html
http://lists.freedesktop.org/archives/dri-devel/2011-March/009025.htmlThis patch extends the interface to drm_wait_vblank ioctl so that crtc>1
can be represented. It also adds a new capability to drm_getcap ioctl so
that the user space can check whether the new interface to drm_wait_vblank
is supported (and fall back to the legacy interface if not)Signed-off-by: Ilija Hadzic
Reviewed-by: Mario Kleiner
Acked-by: Mario Kleiner
Reviewed-by: Alex Deucher
Tested-by: Alex Deucher
Signed-off-by: Dave Airlie
14 Mar, 2011
1 commit
-
* 'intel/drm-intel-next' of ../drm-next: (755 commits)
drm/i915: Only wait on a pending flip if we intend to write to the buffer
drm/i915/dp: Sanity check eDP existence
drm/i915: Rebind the buffer if its alignment constraints changes with tiling
drm/i915: Disable GPU semaphores by default
drm/i915: Do not overflow the MMADDR write FIFO
Revert "drm/i915: fix corruptions on i8xx due to relaxed fencing"
drm/i915: Don't save/restore hardware status page address register
drm/i915: don't store the reg value for HWS_PGA
drm/i915: fix memory corruption with GM965 and >4GB RAM
Linux 2.6.38-rc7
Revert "TPM: Long default timeout fix"
drm/i915: Re-enable GPU semaphores for SandyBridge mobile
drm/i915: Replace vblank PM QoS with "Interrupt-Based AGPBUSY#"
Revert "drm/i915: Use PM QoS to prevent C-State starvation of gen3 GPU"
drm/i915: Allow relocation deltas outside of target bo
drm/i915: Silence an innocuous compiler warning for an unused variable
fs/block_dev.c: fix new kernel-doc warning
ACPI: Fix build for CONFIG_NET unset
mm: must include
x86: Use u32 instead of long to set reset vector back to 0
...Conflicts:
drivers/gpu/drm/i915/i915_gem.c
04 Mar, 2011
2 commits
-
This allows libkms to make an easier decision.
Signed-off-by: Dave Airlie
-
We're coming to see a need to have a set of generic capability checks in
the core DRM, in addition to the driver-specific ioctls that already
exist.This patch defines an ioctl to do as such, but does not yet define any
capabilities.[airlied: drop the driver callback for now.]
Signed-off-by: Ben Skeggs
Signed-off-by: Dave Airlie
03 Mar, 2011
1 commit
-
Signed-off-by: Alex Deucher
Signed-off-by: Dave Airlie
02 Mar, 2011
2 commits
-
Userspace has a legitimate requirement to use a delta that points to
outside of the target bo, and so we need to enable this. (As this is an
abi break, albeit a relaxation of the current restrictions, mark the change
with a new flag.)Signed-off-by: Chris Wilson
01 Mar, 2011
1 commit
-
This allows userspace to work out how many DBs there are
for conditional rendering to work.Signed-off-by: Dave Airlie
28 Feb, 2011
1 commit
-
This fixes CVE-2011-1013.
Reported-by: Matthiew Herrb (OpenBSD X.org team)
Cc: stable@kernel.org
Signed-off-by: Dave Airlie
25 Feb, 2011
1 commit
-
Signed-off-by: Ben Skeggs
23 Feb, 2011
9 commits
-
This reverts commit 5a893fc28f0393adb7c885a871b8c59e623fd528.
This causes a use after free in the ttm free alloc pages path,
when it tries to get the be after the be has been destroyed.Signed-off-by: Dave Airlie
-
* drm-mm-cleanup:
radeon: move blit functions to radeon_asic.h
radeon: kill decls for inline functions
radeon: consolidate asic-specific function decls for r600 & later
drm/radeon: kill radeon_bo->gobj pointer
drm/radeon: introduce gem_to_radeon_bo helper
drm/radeon: embed struct drm_gem_object
drm: mm: add helper to unwind scan state
drm: mm: add api for embedding struct drm_mm_node
drm: mm: extract node insert helper functions
drm: mm: track free areas implicitly
drm/nouveau: don't munge in drm_mm internals -
…l/git/konrad/xen into drm-next
* 'stable/ttm.pci-api.v5' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
ttm: Include the 'struct dev' when using the DMA API.
nouveau/ttm/PCIe: Use dma_addr if TTM has set it.
radeon/ttm/PCIe: Use dma_addr if TTM has set it.
ttm: Expand (*populate) to support an array of DMA addresses.
ttm: Utilize the DMA API for pages that have TTM_PAGE_FLAG_DMA32 set.
ttm: Introduce a placeholder for DMA (bus) addresses. -
Signed-off-by: Chris Wilson
Signed-off-by: Dave Airlie -
... and fixup some methods to accept the constant argument.
Now that constant module arrays are loaded into read-only memory, using
const appropriately has some benefits beyond warning the programmer
about likely mistakes.Signed-off-by: Chris Wilson
Signed-off-by: Dave Airlie -
With the switch to implicit free space accounting one pointer
got unused when scanning. Use it to create a single-linked list
to ensure correct unwinding of the scan state.Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
The old api has a two-step process: First search for a suitable
free hole, then allocate from that specific hole. No user used
this to do anything clever. So drop it for the embeddable variant
of the drm_mm api (the old one retains this ability, for the time
being).With struct drm_mm_node embedded, we cannot track allocations
anymore by checking for a NULL pointer. So keep track of this
and add a small helper drm_mm_node_allocated.Also add a function to move allocations between different struct
drm_mm_node.v2: Implement suggestions by Chris Wilson.
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
The idea is to track free holes implicitly by marking the allocation
immediatly preceeding a hole.To avoid an ugly corner case add a dummy head_node to struct drm_mm
to track the hole that spans to complete allocation area when the
memory manager is empty.To guarantee that there's always a preceeding/following node (that might
be marked as hole_follows == 1), move the mm->node_list list_head to the
head_node.The main allocator and fair-lru scan code actually becomes simpler.
Only the debug code slightly suffers because free areas are no longer
explicit.Also add drm_mm_for_each_node (which will be much more useful when
struct drm_mm_node is embeddable).Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
Nouveau was checking drm_mm internals on teardown to see whether the
memory manager was initialized. Hide these internals in a small
inline helper function.Acked-by: Ben Skeggs
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie