04 Aug, 2011

3 commits

  • Provides function drm_edid_header_is_valid() for EDID header check
    and replaces EDID header check part of function drm_edid_block_valid()
    by a call of drm_edid_header_is_valid().
    This is a prerequisite to extend DDC probing, e. g. in function
    radeon_ddc_probe() for Radeon devices, by a central EDID header check.

    Tested for kernel 2.6.35, 2.6.38 and 3.0

    Cc:
    Signed-off-by: Thomas Reim
    Reviewed-by: Alex Deucher
    Acked-by: Stephen Michaels
    Signed-off-by: Dave Airlie

    Thomas Reim
     
  • …t/keithp/linux-2.6 into drm-fixes

    * 'drm-intel-next' of ssh://master.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6: (42 commits)
    drm/i915: allow cache sharing policy control
    drm/i915/hdmi: HDMI source product description infoframe support
    drm/i915/hdmi: split infoframe setting from infoframe type code
    drm: track CEA version number if present
    drm/i915: Try enabling RC6 by default (again)
    Revert "drm/i915/dp: Zero the DPCD data before connection probe"
    drm/i915/dp: wait for previous AUX channel activity to clear
    drm/i915: don't use uninitialized EDID bpc values when picking pipe bpp
    drm/i915/pch: Save/restore PCH_PORT_HOTPLUG across suspend
    drm/i915: apply phase pointer override on SNB+ too
    drm/i915: Add quirk to disable SSC on Sony Vaio Y2
    drm/i915: provide more error output when mode sets fail
    drm/i915: add GPU max frequency control file
    i915: add Dell OptiPlex FX170 to intel_no_lvds
    drm/i915: Ignore GPU wedged errors while pinning scanout buffers
    drm/i915/hdmi: send AVI info frames on ILK+ as well
    drm/i915: fix CB tuning check for ILK+
    drm/i915: Flush other plane register writes
    drm/i915: flush plane control changes on ILK+ as well
    drm/i915: apply timing generator bug workaround on CPT and PPT
    ...

    Dave Airlie
     
  • Drivers need to know the CEA version number in addition to other display
    info (like whether the display is an HDMI sink) before enabling certain
    features. So track the CEA version number in the display info
    structure.

    Signed-off-by: Jesse Barnes
    Signed-off-by: Keith Packard

    Jesse Barnes
     

27 Jul, 2011

2 commits

  • This allows us to move duplicated code in
    (atomic_inc_not_zero() for now) to

    Signed-off-by: Arun Sharma
    Reviewed-by: Eric Dumazet
    Cc: Ingo Molnar
    Cc: David Miller
    Cc: Eric Dumazet
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arun Sharma
     
  • * 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (135 commits)
    drm/radeon/kms: fix DP training for DPEncoderService revision bigger than 1.1
    drm/radeon/kms: add missing vddci setting on NI+
    drm/radeon: Add a rmb() in IH processing
    drm/radeon: ATOM Endian fix for atombios_crtc_program_pll()
    drm/radeon: Fix the definition of RADEON_BUF_SWAP_32BIT
    drm/radeon: Do an MMIO read on interrupts when not uisng MSIs
    drm/radeon: Writeback endian fixes
    drm/radeon: Remove a bunch of useless _iomem casts
    drm/gem: add support for private objects
    DRM: clean up and document parsing of video= parameter
    DRM: Radeon: Fix section mismatch.
    drm: really make debug levels match in edid failure code
    drm/radeon/kms: fix i2c map for rv250/280
    drm/nouveau/gr: disable fifo access and idle before suspend ctx unload
    drm/nouveau: pass flag to engine fini() method on suspend
    drm/nouveau: replace nv04_graph_fifo_access() use with direct reg bashing
    drm/nv40/gr: rewrite/split context takedown functions
    drm/nouveau: detect disabled device in irq handler and return IRQ_NONE
    drm/nouveau: ignore connector type when deciding digital/analog on DVI-I
    drm/nouveau: Add a quirk for Gigabyte NX86T
    ...

    Linus Torvalds
     

25 Jul, 2011

1 commit

  • These small changes should allow GEM to be used with non shmem objects as
    well as shmem objects. In the GMA500 case it allows the base framebuffer to
    appear as a GEM object and thus acquire a handle and work with KMS.

    For i915 it ought to be trivial to get back the wasted memory but putting the
    system fb back into stolen RAM and in general I can imagine it allowing the
    use of GEM and thus KMS with all the older cards that have their framebuffer
    firmly placed in video RAM.

    Signed-off-by: Alan Cox
    Tested-by: Rob Clark
    Signed-off-by: Dave Airlie

    Alan Cox
     

23 Jul, 2011

2 commits


18 Jul, 2011

1 commit


15 Jul, 2011

1 commit


13 Jul, 2011

1 commit

  • drm_pci_device_is_pcie duplicates the funcationality of pci_is_pcie.
    Convert callers of the former to the latter. This has the side benefit
    of removing an unnecessary search in the PCI configuration space due to
    using a saved PCIe capability offset.

    [airlied: update for new callsite]

    Signed-off-by: Jon Mason
    Signed-off-by: Dave Airlie

    Jon Mason
     

21 Jun, 2011

2 commits


16 Jun, 2011

1 commit

  • Some RS690 chipsets seem to end up with floating connectors, either
    a DVI connector isn't actually populated, or an add-in HDMI card
    is available but not installed. In this case we seem to get a NULL byte
    response for each byte of the i2c transaction, so we detect this
    case and if we see it we don't do anymore DDC transactions on this
    connector.

    I've tested this on my RS690 without the HDMI card installed and
    it seems to work fine.

    Signed-off-by: Dave Airlie
    Reviewed-by: Alex Deucher

    Dave Airlie
     

08 Jun, 2011

1 commit

  • * 'drm-radeon-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/radeon/kms/atom: fix PHY init
    drm/radeon/kms: add missing Evergreen texture formats to the CS parser
    drm/radeon/kms: viewport height has to be even
    drm/radeon/kms: remove duplicate reg from r600 safe regs
    drm/radeon/kms: add support for Llano Fusion APUs
    drm/radeon/kms: add llano pci ids
    drm/radeon/kms: fill in asic struct for llano
    drm/radeon/kms: add family ids for llano APUs
    drm/radeon: fix oops in ttm reserve when pageflipping (v2)
    drm/radeon/kms: clean up the radeon kms Kconfig
    drm/radeon/kms: fix thermal sensor reading on juniper
    drm/radeon/kms: add missing case for cayman thermal sensor
    drm/radeon/kms: add blit support for cayman (v2)
    drm/radeon/kms/blit: workaround some hw issues on evergreen+

    Linus Torvalds
     

02 Jun, 2011

1 commit


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

1 commit