1. 27 Oct, 2010 25 commits
    • Chris Wilson's avatar
    • Chris Wilson's avatar
    • Chris Wilson's avatar
      drm/i915/debugfs: Include info for the other rings · c2c347a9
      Chris Wilson authored
      The render ring is not alone any more! And the other rings are just as
      troublesome...
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      c2c347a9
    • Chris Wilson's avatar
      drm/i915: Fix hangcheck to handle multiple rings · 893eead0
      Chris Wilson authored
      Currently, we believe the GPU is idle if just the RENDER ring is idle.
      This is obviously wrong if we only using either the BLT or the BSD
      rings and so masking genuine hangs.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      893eead0
    • Chris Wilson's avatar
      drm/i915: Move object to GPU domains after dispatching execbuffer · 7e318e18
      Chris Wilson authored
      In the event that we fail to dispatch the execbuffer, for example if
      there is insufficient space on the ring, we were leaving the objects in
      an inconsistent state. Notably they were marked as being in the GPU
      write domain, but were not added to the ring or any list. This would
      lead to inevitable oops:
      
      [ 1010.522940] [drm:i915_gem_do_execbuffer] *ERROR* dispatch failed -16
      [ 1010.523055] BUG: unable to handle kernel NULL pointer dereference at
      0000000000000088
      [ 1010.523097] IP: [<ffffffff8122d006>] i915_gem_flush_ring+0x26/0x140
      [ 1010.523120] PGD 14cf2f067 PUD 14ce04067 PMD 0
      [ 1010.523140] Oops: 0000 [#1] SMP
      [ 1010.523154] last sysfs file: /sys/devices/virtual/vc/vcsa2/uevent
      [ 1010.523173] CPU 0
      [ 1010.523183] Pid: 716, comm: X Not tainted 2.6.36+ #34 LosLunas
      CRB/SandyBridge Platform
      [ 1010.523206] RIP: 0010:[<ffffffff8122d006>]  [<ffffffff8122d006>]
      i915_gem_flush_ring+0x26/0x140
      [ 1010.523233] RSP: 0018:ffff88014bf97cd8  EFLAGS: 00010296
      [ 1010.523249] RAX: ffff88014e2d1808 RBX: 0000000000000000 RCX: 0000000000000000
      [ 1010.523270] RDX: 0000000000000002 RSI: 0000000000000000 RDI: 0000000000000000
      [ 1010.523290] RBP: ffff88014e2d1000 R08: 0000000000000002 R09: 00000000400c645f
      [ 1010.523311] R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000002
      [ 1010.523331] R13: ffff88014e29a000 R14: 00000000000000c8 R15: ffffffff8162eb28
      [ 1010.523352] FS:  00007fc62379d700(0000) GS:ffff88001fc00000(0000) knlGS:0000000000000000
      [ 1010.523375] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 1010.523392] CR2: 0000000000000088 CR3: 000000014bf87000 CR4: 00000000000406f0
      [ 1010.523412] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [ 1010.523433] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      [ 1010.523454] Process X (pid: 716, threadinfo ffff88014bf96000, task ffff88014cc1ee40)
      [ 1010.523475] Stack:
      [ 1010.523483]  ffff88014d5199c0 0000000000000200 0000000000000000 ffff88014bcc6400
      [ 1010.523509] <0> 0000000000000000 0000000000000001 ffff88014e29a000 ffff88014bcc6400
      [ 1010.523537] <0> ffffffff8162eb28 ffffffff8122faa8 ffff88014e29a000 ffff88014bcc6400
      [ 1010.523568] Call Trace:
      [ 1010.523578]  [<ffffffff8122faa8>] ?  i915_gem_object_flush_gpu_write_domain+0x48/0x80
      [ 1010.523601]  [<ffffffff8122fb8e>] ?  i915_gem_object_set_to_gtt_domain+0x2e/0xb0
      [ 1010.523623]  [<ffffffff8123113b>] ?  i915_gem_set_domain_ioctl+0xdb/0x1f0
      [ 1010.523644]  [<ffffffff8120a3f1>] ? drm_ioctl+0x3d1/0x460
      [ 1010.523660]  [<ffffffff81231060>] ?  i915_gem_set_domain_ioctl+0x0/0x1f0
      [ 1010.523682]  [<ffffffff81092618>] ?  vma_prio_tree_insert+0x28/0x120
      [ 1010.523701]  [<ffffffff8109f379>] ? vma_link+0x99/0xf0
      [ 1010.523717]  [<ffffffff810a111d>] ? mmap_region+0x1ed/0x4f0
      [ 1010.523734]  [<ffffffff810c306f>] ? do_vfs_ioctl+0x9f/0x580
      [ 1010.523750]  [<ffffffff810c3599>] ? sys_ioctl+0x49/0x80
      [ 1010.523767]  [<ffffffff810022eb>] ?  system_call_fastpath+0x16/0x1b
      [ 1010.523785] Code: 00 00 00 00 00 41 57 89 ce 41 56 41 55 41 54 45 89 c4 55 48 89 fd 53 48 89 d3 44 89 c2 48 89 df 4c 8d b3 c8 00 00 00 48 83 ec 18 <ff> 93 88 00 00 00 48 8b 83 c8 00 00 00 4c 8b bd 30 03 00 00 48
      [ 1010.523946] RIP  [<ffffffff8122d006>] i915_gem_flush_ring+0x26/0x140
      [ 1010.523966]  RSP <ffff88014bf97cd8>
      [ 1010.523977] CR2: 0000000000000088
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      7e318e18
    • Chris Wilson's avatar
      drm/i915: Propagate errors from writing to ringbuffer · e1f99ce6
      Chris Wilson authored
      Preparing the ringbuffer for adding new commands can fail (a timeout
      whilst waiting for the GPU to catch up and free some space). So check
      for any potential error before overwriting HEAD with new commands, and
      propagate that error back to the user where possible.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      e1f99ce6
    • Chris Wilson's avatar
      drm/i915/ringbuffer: Drop the redundant dev from the vfunc interface · 78501eac
      Chris Wilson authored
      The ringbuffer keeps a pointer to the parent device, so we can use that
      instead of passing around the pointer on the stack.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      78501eac
    • Takashi Iwai's avatar
      drm/i915: Fix typo from "Enable DisplayPort Audio" · dd2b379f
      Takashi Iwai authored
      Hi,
      
      while I looked through your changes in drm-intel git tree (as I've got
      a pressure for supporting DisplayPort audio), I stumbled on the
      possible bug in the commit a9756bb5
      
      	Author: Zhenyu Wang <zhenyuw@linux.intel.com>
      	Date:   Sun Sep 19 13:09:06 2010 +0800
      	drm/i915: Enable DisplayPort audio
      
      In this commit, you changed the return value of g4x_dp_detect()
      to "bit", but it should be "status", I suppose.
      
      [ickle: mea culpa.]
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31094Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      dd2b379f
    • Al Viro's avatar
      fix braino in fs: do not assign default i_ino in new_inode · 12ba8d1e
      Al Viro authored
      usbfs_get_inode() is something completely different...
      
      Bogosity introduced by commit 85fe4025 ("fs: do not assign default
      i_ino in new_inode").
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      12ba8d1e
    • Linus Torvalds's avatar
      Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · c48c43e4
      Linus Torvalds authored
      * 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (476 commits)
        vmwgfx: Implement a proper GMR eviction mechanism
        drm/radeon/kms: fix r6xx/7xx 1D tiling CS checker v2
        drm/radeon/kms: properly compute group_size on 6xx/7xx
        drm/radeon/kms: fix 2D tile height alignment in the r600 CS checker
        drm/radeon/kms/evergreen: set the clear state to the blit state
        drm/radeon/kms: don't poll dac load detect.
        gpu: Add Intel GMA500(Poulsbo) Stub Driver
        drm/radeon/kms: MC vram map needs to be >= pci aperture size
        drm/radeon/kms: implement display watermark support for evergreen
        drm/radeon/kms/evergreen: add some additional safe regs v2
        drm/radeon/r600: fix tiling issues in CS checker.
        drm/i915: Move gpu_write_list to per-ring
        drm/i915: Invalidate the to-ring, flush the old-ring when updating domains
        drm/i915/ringbuffer: Write the value passed in to the tail register
        agp/intel: Restore valid PTE bit for Sandybridge after bdd30729
        drm/i915: Fix flushing regression from 9af90d19
        drm/i915/sdvo: Remove unused encoding member
        i915: enable AVI infoframe for intel_hdmi.c [v4]
        drm/i915: Fix current fb blocking for page flip
        drm/i915: IS_IRONLAKE is synonymous with gen == 5
        ...
      
      Fix up conflicts in
       - drivers/gpu/drm/i915/{i915_gem.c, i915/intel_overlay.c}: due to the
         new simplified stack-based kmap_atomic() interface
       - drivers/gpu/drm/vmwgfx/vmwgfx_drv.c: added .llseek entry due to BKL
         removal cleanups.
      c48c43e4
    • Linus Torvalds's avatar
      Merge branches 'upstream/xenfs' and 'upstream/core' of... · 520045db
      Linus Torvalds authored
      Merge branches 'upstream/xenfs' and 'upstream/core' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen
      
      * 'upstream/xenfs' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:
        xen/privcmd: make privcmd visible in domU
        xen/privcmd: move remap_domain_mfn_range() to core xen code and export.
        privcmd: MMAPBATCH: Fix error handling/reporting
        xenbus: export xen_store_interface for xenfs
        xen/privcmd: make sure vma is ours before doing anything to it
        xen/privcmd: print SIGBUS faults
        xen/xenfs: set_page_dirty is supposed to return true if it dirties
        xen/privcmd: create address space to allow writable mmaps
        xen: add privcmd driver
        xen: add variable hypercall caller
        xen: add xen_set_domain_pte()
        xen: add /proc/xen/xsd_{kva,port} to xenfs
      
      * 'upstream/core' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen: (29 commits)
        xen: include xen/xen.h for definition of xen_initial_domain()
        xen: use host E820 map for dom0
        xen: correctly rebuild mfn list list after migration.
        xen: improvements to VIRQ_DEBUG output
        xen: set up IRQ before binding virq to evtchn
        xen: ensure that all event channels start off bound to VCPU 0
        xen/hvc: only notify if we actually sent something
        xen: don't add extra_pages for RAM after mem_end
        xen: add support for PAT
        xen: make sure xen_max_p2m_pfn is up to date
        xen: limit extra memory to a certain ratio of base
        xen: add extra pages for E820 RAM regions, even if beyond mem_end
        xen: make sure xen_extra_mem_start is beyond all non-RAM e820
        xen: implement "extra" memory to reserve space for pages not present at boot
        xen: Use host-provided E820 map
        xen: don't map missing memory
        xen: defer building p2m mfn structures until kernel is mapped
        xen: add return value to set_phys_to_machine()
        xen: convert p2m to a 3 level tree
        xen: make install_p2mtop_page() static
        ...
      
      Fix up trivial conflict in arch/x86/xen/mmu.c, and fix the use of
      'reserve_early()' - in the new memblock world order it is now
      'memblock_x86_reserve_range()' instead. Pointed out by Jeremy.
      520045db
    • Thomas Hellstrom's avatar
      vmwgfx: Implement a proper GMR eviction mechanism · 135cba0d
      Thomas Hellstrom authored
      Use Ben's new range manager hooks to implement a manager for
      GMRs that manages ids rather than ranges.
      This means we can use the standard TTM code for binding, unbinding and
      eviction.
      Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      135cba0d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 426e1f5c
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)
        split invalidate_inodes()
        fs: skip I_FREEING inodes in writeback_sb_inodes
        fs: fold invalidate_list into invalidate_inodes
        fs: do not drop inode_lock in dispose_list
        fs: inode split IO and LRU lists
        fs: switch bdev inode bdi's correctly
        fs: fix buffer invalidation in invalidate_list
        fsnotify: use dget_parent
        smbfs: use dget_parent
        exportfs: use dget_parent
        fs: use RCU read side protection in d_validate
        fs: clean up dentry lru modification
        fs: split __shrink_dcache_sb
        fs: improve DCACHE_REFERENCED usage
        fs: use percpu counter for nr_dentry and nr_dentry_unused
        fs: simplify __d_free
        fs: take dcache_lock inside __d_path
        fs: do not assign default i_ino in new_inode
        fs: introduce a per-cpu last_ino allocator
        new helper: ihold()
        ...
      426e1f5c
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 9e5fca25
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (63 commits)
        IB/qib: clean up properly if pci_set_consistent_dma_mask() fails
        IB/qib: Allow driver to load if PCIe AER fails
        IB/qib: Fix uninitialized pointer if CONFIG_PCI_MSI not set
        IB/qib: Fix extra log level in qib_early_err()
        RDMA/cxgb4: Remove unnecessary KERN_<level> use
        RDMA/cxgb3: Remove unnecessary KERN_<level> use
        IB/core: Add link layer type information to sysfs
        IB/mlx4: Add VLAN support for IBoE
        IB/core: Add VLAN support for IBoE
        IB/mlx4: Add support for IBoE
        mlx4_en: Change multicast promiscuous mode to support IBoE
        mlx4_core: Update data structures and constants for IBoE
        mlx4_core: Allow protocol drivers to find corresponding interfaces
        IB/uverbs: Return link layer type to userspace for query port operation
        IB/srp: Sync buffer before posting send
        IB/srp: Use list_first_entry()
        IB/srp: Reduce number of BUSY conditions
        IB/srp: Eliminate two forward declarations
        IB/mlx4: Signal node desc changes to SM by using FW to generate trap 144
        IB: Replace EXTRA_CFLAGS with ccflags-y
        ...
      9e5fca25
    • Alex Deucher's avatar
      drm/radeon/kms: fix r6xx/7xx 1D tiling CS checker v2 · 8f895da5
      Alex Deucher authored
      broken by:
      drm/radeon/r600: fix tiling issues in CS checker.
      
      v2: only apply it to 1D tiling case.
      Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      8f895da5
    • Randy Dunlap's avatar
      docbook: add idr/ida to kernel-api docbook · 56083ab1
      Randy Dunlap authored
      Add idr/ida to kernel-api docbook.
      Fix typos and kernel-doc notation.
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Naohiro Aota <naota@elisp.net>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      56083ab1
    • Randy Dunlap's avatar
      docbook: add more wait/wake/completion to device-drivers docbook · ee2f154a
      Randy Dunlap authored
      Add more wait, wake, and completion interfaces to the device-drivers
      docbook.
      
      Fix kernel-doc notation in the added files.
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ee2f154a
    • Randy Dunlap's avatar
      documentation: update sysrq.txt magic sysrq keys · 003bb8ab
      Randy Dunlap authored
      Update Documentation/sysrq.txt magic sysrq keys:
      
       - 'g' is for kgdb (not arch-specific);
       - add 2 new uses for 'v', remove the Voyager info;
       - add 'y' info (SPARC-64 specific);
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Jason Wessel <jason.wessel@windriver.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: "James E.J. Bottomley" <James.Bottomley@suse.de>
      Cc: David Airlie <airlied@linux.ie>
      Acked-by: default avatarAlexander Shishkin <virtuoso@slind.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      003bb8ab
    • Linus Torvalds's avatar
      Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 · d2d8f66b
      Linus Torvalds authored
      * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
        PM / Runtime: fix recursive locking warning of lockdep from rpm_resume()
      d2d8f66b
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 · 474829e8
      Linus Torvalds authored
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (53 commits)
        ACPI: install ACPI table handler before any dynamic tables being loaded
        ACPI / PM: Blacklist another machine that needs acpi_sleep=nonvs
        ACPI: Page based coalescing of I/O remappings optimization
        ACPI: Convert simple locking to RCU based locking
        ACPI: Pre-map 'system event' related register blocks
        ACPI: Add interfaces for ioremapping/iounmapping ACPI registers
        ACPI: Maintain a list of ACPI memory mapped I/O remappings
        ACPI: Fix ioremap size for MMIO reads and writes
        ACPI / Battery: Return -ENODEV for unknown values in get_property()
        ACPI / PM: Fix reference counting of power resources
        Subject: [PATCH] ACPICA: Fix Scope() op in module level code
        ACPI battery: support percentage battery remaining capacity
        ACPI: Make Embedded Controller command timeout delay configurable
        ACPI dock: move some functions to .init.text
        ACPI: thermal: remove unused limit code
        ACPI: static sleep_states[] and acpi_gts_bfs_check
        ACPI: remove dead code
        ACPI: delete dedicated MAINTAINERS entries for ACPI EC and BATTERY drivers
        ACPI: Only processor needs CPU_IDLE
        ACPICA: Update version to 20101013
        ...
      474829e8
    • Linus Torvalds's avatar
      Merge branch 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6 · 27afe58f
      Linus Torvalds authored
      * 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:
        intel_idle: do not use the LAPIC timer for ATOM C2
        intel_idle: add initial Sandy Bridge support
        acpi_idle: delete bogus data from cpuidle_state.power_usage
        intel_idle: delete bogus data from cpuidle_state.power_usage
        intel_idle: simplify test for leave_mm()
      27afe58f
    • Linus Torvalds's avatar
      7eb901e7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · e404f91e
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        arch/tile: convert a BUG_ON to BUILD_BUG_ON
        arch/tile: make ptrace() work properly for TILE-Gx COMPAT mode
        arch/tile: support new info op generated by compiler
        arch/tile: minor whitespace/naming changes for string support files
        arch/tile: enable single-step support for TILE-Gx
        arch/tile: parameterize system PLs to support KVM port
        arch/tile: add Tilera's <arch/sim.h> header as an open-source header
        arch/tile: Bomb C99 comments to C89 comments in tile's <arch/sim_def.h>
        arch/tile: prevent corrupt top frame from causing backtracer runaway
        arch/tile: various top-level Makefile cleanups
        arch/tile: change lower bound on syscall error return to -4095
        arch/tile: properly export __mb_incoherent for modules
        arch/tile: provide a definition of MAP_STACK
        kmemleak: add TILE to the list of supported architectures.
        char: hvc: check for error case
        arch/tile: Add a warning if we try to allocate too much vmalloc memory.
        arch/tile: update some comments to clarify register usage.
        arch/tile: use better "punctuation" for VMSPLIT_3_5G and friends
        arch/tile: Use <asm-generic/syscalls.h>
        tile: replace some BUG_ON checks with BUILD_BUG_ON checks
      e404f91e
    • Linus Torvalds's avatar
      Merge branch 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 · 18a043f9
      Linus Torvalds authored
      * 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
        NFS: rename nfs.upcall -> nfs.idmap
        NFS: Fix a compile issue in nfs_root
      18a043f9
    • Linus Torvalds's avatar
      Merge branch 'akpm-incoming-1' · 31453a97
      Linus Torvalds authored
      * akpm-incoming-1: (176 commits)
        scripts/checkpatch.pl: add check for declaration of pci_device_id
        scripts/checkpatch.pl: add warnings for static char that could be static const char
        checkpatch: version 0.31
        checkpatch: statement/block context analyser should look at sanitised lines
        checkpatch: handle EXPORT_SYMBOL for DEVICE_ATTR and similar
        checkpatch: clean up structure definition macro handline
        checkpatch: update copyright dates
        checkpatch: Add additional attribute #defines
        checkpatch: check for incorrect permissions
        checkpatch: ensure kconfig help checks only apply when we are adding help
        checkpatch: simplify and consolidate "missing space after" checks
        checkpatch: add check for space after struct, union, and enum
        checkpatch: returning errno typically should be negative
        checkpatch: handle casts better fixing false categorisation of : as binary
        checkpatch: ensure we do not collapse bracketed sections into constants
        checkpatch: suggest cleanpatch and cleanfile when appropriate
        checkpatch: types may sit on a line on their own
        checkpatch: fix regressions in "fix handling of leading spaces"
        div64_u64(): improve precision on 32bit platforms
        lib/parser: cleanup match_number()
        ...
      31453a97
  2. 26 Oct, 2010 15 commits