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
    ...

    Linus Torvalds
     

20 May, 2011

1 commit


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/0x10

    Reported-by: Frederik Himpe
    References: https://bugs.freedesktop.org/show_bug.cgi?id=36394
    Signed-off-by: Chris Wilson
    Signed-off-by: Dave Airlie

    Chris Wilson
     
  • * '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
    ...

    Dave Airlie
     

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

    Daniel Vetter
     

04 May, 2011

2 commits


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

    Chris Wilson
     
  • Add __attribute__((format (printf, 4, 5))) to drm_ut_debug_printk
    and fix fallout.

    Signed-off-by: Joe Perches
    Signed-off-by: Dave Airlie

    Joe Perches
     
  • 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.old

    Signed-off-by: Joe Perches
    Signed-off-by: Dave Airlie

    Joe Perches
     
  • 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/0x10

    Reported-by: Frederik Himpe
    References: https://bugs.freedesktop.org/show_bug.cgi?id=36394
    Signed-off-by: Chris Wilson
    Signed-off-by: Dave Airlie

    Chris Wilson
     
  • 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

    Jesse Barnes
     
  • 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

    Jesse Barnes
     

27 Apr, 2011

2 commits


08 Apr, 2011

1 commit


05 Apr, 2011

2 commits


01 Apr, 2011

1 commit


31 Mar, 2011

1 commit


24 Mar, 2011

1 commit


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.html

    This 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

    Ilija Hadzic
     

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

    Dave Airlie
     

04 Mar, 2011

2 commits


03 Mar, 2011

1 commit


02 Mar, 2011

2 commits


01 Mar, 2011

1 commit


28 Feb, 2011

1 commit


25 Feb, 2011

1 commit


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

    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

    Dave Airlie
     
  • …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.

    Dave Airlie
     
  • Signed-off-by: Chris Wilson
    Signed-off-by: Dave Airlie

    Chris Wilson
     
  • ... 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

    Chris Wilson
     
  • 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

    Daniel Vetter
     
  • 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

    Daniel Vetter
     
  • 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

    Daniel Vetter
     
  • 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

    Daniel Vetter