04 Aug, 2010

1 commit


29 Jul, 2010

2 commits


27 Jul, 2010

13 commits

  • Fix error from the last pull request. Making sure we shut the panel off
    is more correct and saves power.

    Signed-off-by: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Jesse Barnes
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
    drm/i915: add pipe A force quirks to i915 driver
    drm/i915: Fix panel fitting regression since 734b4157
    drm/i915: fix deadlock in fb teardown
    drm/i915: don't free non-existent compressed llb on ILK+
    agp/intel: Use the correct mask to detect i830 aperture size.
    drm/i915: disable FBC when more than one pipe is active
    drm/i915: Use the correct scanout alignment for fbcon.
    drm/i915: make sure eDP panel is turned on
    drm/i915: add PANEL_UNLOCK_REGS definition
    drm/i915: Make G4X-style PLL search more permissive
    drm/i915: Clear any existing dither mode prior to enabling spatial dithering
    drm/i915: handle shared framebuffers when flipping
    drm/i915: Explosion following OOM in do_execbuffer.
    gpu/drm/i915: Add a blacklist to omit modeset on LID open

    Linus Torvalds
     
  • Ported over from the old UMS list. Unfortunately they're still
    necessary especially on older laptop platforms.

    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=22126.

    Tested-by: Xavier
    Tested-by: Diego Escalante Urrelo
    Signed-off-by: Jesse Barnes
    Signed-off-by: Eric Anholt

    Jesse Barnes
     
  • The crtc mode fixup is run after the encoders adjust the mode to fit on
    their output, so don't reset the mode!

    Fixes:

    Bug 29057 - display corruption under 800x600 on netbook
    (1024x600) with 'Full Aspect' scaling
    https://bugs.freedesktop.org/show_bug.cgi?id=29057

    Signed-off-by: Chris Wilson
    Cc: Jesse Barnes
    Tested-by: Xun Fang
    Signed-off-by: Eric Anholt

    Chris Wilson
     
  • At module unload time we'll tear down the fbdev state. We do so under
    the struct mutex, so we shouldn't try to use the unlocked variant of
    the GEM object unreference function or we may deadlock.

    Signed-off-by: Jesse Barnes
    Signed-off-by: Eric Anholt

    Jesse Barnes
     
  • We should only free the compressed llb if we allocated it in the first
    place otherwise we'll panic at unload time.

    Signed-off-by: Jesse Barnes
    Signed-off-by: Eric Anholt

    Jesse Barnes
     
  • We're really supposed to do this to avoid trouble with underflows when
    multiple planes are active.

    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=26987.

    Signed-off-by: Jesse Barnes
    Tested-by: fangxun
    Signed-off-by: Eric Anholt

    Jesse Barnes
     
  • This fixes a potential modesetting error during boot with plymouth on
    Broadwater and Crestline introduced with 9df47c. The framebuffer was
    hard-coding an alignment of 64K, but the modesetting code required the
    documented alignment of 128K. The result was that we would attempt to
    unbind the pinned fbcon buffer, triggering an ERROR and ultimately
    failing the mode change.

    Signed-off-by: Chris Wilson
    Signed-off-by: Eric Anholt

    Chris Wilson
     
  • When enabling the eDP port, we need to make sure the panel is turned on
    after training the link. If we don't, it likely won't come back after
    suspend or may not come up at all.

    For unknown reasons, unlocking the panel regs before initiating a power
    on sequence is necessary. There are known bugs in the PCH panel
    sequencing logic, apparently this is one possible workaround.

    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=28739.

    Signed-off-by: Jesse Barnes
    Tested-by: "Paulo J. S. Silva"
    Signed-off-by: Eric Anholt

    Jesse Barnes
     
  • In some cases, unlocking the panel regs is safe and can help us avoid a
    flickery, full mode set sequence. So define the unlock key and use it.

    Signed-off-by: Jesse Barnes
    Signed-off-by: Eric Anholt

    Jesse Barnes
     
  • Fixes an Ironlake laptop with a 68.940MHz 1280x800 panel and 120MHz SSC
    reference clock.

    More generally, the 0.488% tolerance used before is just too tight to
    reliably find a PLL setting. I extracted the search algorithm and
    modified it to find the dot clocks with maximum error over the valid
    range for the given output type:

    http://people.freedesktop.org/~ajax/intel_g4x_find_best_pll.c

    This gave:

    Worst dotclock for Ironlake DAC refclk is 350000kHz (error 0.00571)
    Worst dotclock for Ironlake SL-LVDS refclk is 102321kHz (error 0.00524)
    Worst dotclock for Ironlake DL-LVDS refclk is 219642kHz (error 0.00488)
    Worst dotclock for Ironlake SL-LVDS SSC refclk is 84374kHz (error 0.00529)
    Worst dotclock for Ironlake DL-LVDS SSC refclk is 183035kHz (error 0.00488)
    Worst dotclock for G4X SDVO refclk is 267600kHz (error 0.00448)
    Worst dotclock for G4X HDMI refclk is 334400kHz (error 0.00478)
    Worst dotclock for G4X SL-LVDS refclk is 95571kHz (error 0.00449)
    Worst dotclock for G4X DL-LVDS refclk is 224000kHz (error 0.00510)

    Signed-off-by: Adam Jackson
    Cc: stable@kernel.org
    Signed-off-by: Eric Anholt

    Adam Jackson
     
  • We cannot the initial configuration set by the BIOS not to have a dither
    mode enabled which conflicts with our enabling the Spatial Temporal 1
    dither mode for PCH. In particular, the BIOS may either enable temporal
    dithering or the Spatial Temporal 2 with the result that we enable pure
    temporal dithering. Temporal dithering looks bad and is perceived as a
    flicker.

    Fixes:

    Bug 29248 - [Arrandale] Annoying flicker on internal panel, goes away
    after suspend to RAM
    https://bugs.freedesktop.org/show_bug.cgi?id=29248

    Signed-off-by: Chris Wilson
    Signed-off-by: Eric Anholt

    Chris Wilson
     
  • If a framebuffer is shared across CRTCs, the x,y position of one of them
    is likely to be something other than the origin (e.g. for extended
    desktop configs). So calculate the offset at flip time so such
    configurations can work.

    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=28518.

    Signed-off-by: Jesse Barnes
    Tested-by: Thomas M.
    Tested-by: fangxun
    Cc: stable@kernel.org
    Signed-off-by: Eric Anholt

    Jesse Barnes
     

23 Jul, 2010

1 commit


22 Jul, 2010

5 commits


21 Jul, 2010

7 commits

  • Add the shrinkers missed in the first conversion of the API in
    commit 7f8275d0d660c146de6ee3017e1e2e594c49e820 ("mm: add context argument to
    shrinker callback").

    Signed-off-by: Dave Chinner

    Dave Chinner
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/r600: fix possible NULL pointer derefernce
    drm/radeon/kms: add quirk for ASUS HD 3600 board
    include/linux/vgaarb.h: add missing part of include guard
    drm/nouveau: Fix crashes during fbcon init on single head cards.
    drm/nouveau: fix pcirom vbios shadow breakage from acpi rom patch
    drm/radeon/kms: fix shared ddc harder
    drm/i915: enable low power render writes on GEN3 hardware.
    drm/i915: Define MI_ARB_STATE bits
    vmwgfx: return -EFAULT if copy_to_user fails
    fb: handle allocation failure in alloc_apertures()
    drm: radeon: check kzalloc() result
    drm/ttm: Fix build on architectures without AGP
    drm/radeon/kms: fix gtt MC base alignment on rs4xx/rs690/rs740 asics
    drm/radeon/kms: fix possible mis-detection of sideport on rs690/rs740
    drm/radeon/kms: fix legacy tv-out pal mode

    Linus Torvalds
     
  • Reported-by: Alexander Y. Fomichev
    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Connector is actually DVI rather than HDMI.

    Reported-by: trapDoor
    Signed-off-by: Alex Deucher
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • this fixes a regression since the fbcon rework.

    Signed-off-by: Francisco Jerez
    Signed-off-by: Ben Skeggs
    Signed-off-by: Dave Airlie

    Francisco Jerez
     
  • On nv50 it became impossible to attempt a PCI ROM shadow of the VBIOS,
    which will break some setups.

    This patch also removes the different ordering of shadow methods for
    pre-nv50 chipsets. The reason for the different ordering was paranoia,
    but it should hopefully be OK to try shadowing PRAMIN first.

    Signed-off-by: Ben Skeggs
    Signed-off-by: Dave Airlie

    Ben Skeggs
     
  • This fixes a regression caused by b2ea4aa67bfd084834edd070e0a4a47857d6db59
    due to the way shared ddc with multiple digital connectors was handled.

    You generally have two cases where DDC lines are shared:
    - HDMI + VGA
    - HDMI + DVI-D

    HDMI + VGA is easy to deal with because you can check the EDID for the
    to see if the attached monitor is digital. A shared DDC line with two
    digital connectors is more complex. You can't use the hdmi bits in the
    EDID since they may not be there with DVIHDMI adapters. In this case
    all we can do is check the HPD pins to see which is connected as we have
    no way of knowing using the EDID.

    Reported-by: trapdoor6@gmail.com
    Signed-off-by: Alex Deucher
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     

20 Jul, 2010

7 commits


19 Jul, 2010

2 commits

  • The current shrinker implementation requires the registered callback
    to have global state to work from. This makes it difficult to shrink
    caches that are not global (e.g. per-filesystem caches). Pass the shrinker
    structure to the callback so that users can embed the shrinker structure
    in the context the shrinker needs to operate on and get back to it in the
    callback via container_of().

    Signed-off-by: Dave Chinner
    Reviewed-by: Christoph Hellwig

    Dave Chinner
     
  • The hibernate issues that got fixed in commit 985b823b9192 ("drm/i915:
    fix hibernation since i915 self-reclaim fixes") turn out to have been
    incomplete. Vefa Bicakci tested lots of hibernate cycles, and without
    the __GFP_RECLAIMABLE flag the system eventually fails to resume.

    With the flag added, Vefa can apparently hibernate forever (or until he
    gets bored running his automated scripts, whichever comes first).

    The reclaimable flag was there originally, and was one of the flags that
    were dropped (unintentionally) by commit 4bdadb978569 ("drm/i915:
    Selectively enable self-reclaim") that introduced all these problems,
    but I didn't want to just blindly add back all the flags in commit
    985b823b9192, and it looked like __GFP_RECLAIM wasn't necessary. It
    clearly was.

    I still suspect that there is some subtle reason we're missing that
    causes the problems, but __GFP_RECLAIMABLE is certainly not wrong to use
    in this context, and is what the code historically used. And we have no
    idea what the causes the corruption without it.

    Reported-and-tested-by: M. Vefa Bicakci
    Cc: Dave Airlie
    Cc: Chris Wilson
    Cc: KOSAKI Motohiro
    Cc: Hugh Dickins
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

16 Jul, 2010

1 commit

  • The asics in question have the following requirements with regard to
    their gart setups:

    1. The GART aperture size has to be in the form of 2^X bytes, where X is from 25 to 31
    2. The GART aperture MC base has to be aligned to a boundary equal to the size of the
    aperture.
    3. The GART page table has to be aligned to the boundary equal to the size of the table.
    4. The GART page table size is: table_entry_size * (aperture_size / page_size)
    5. The GART page table has to be allocated in non-paged, non-cached, contiguous system
    memory.

    This patch takes care 2. The rest should already be handled properly.

    This fixes a regression noticed by: Torsten Kaiser

    Tested-by: Torsten Kaiser
    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     

14 Jul, 2010

1 commit