1. 07 2月, 2011 2 次提交
    • A
      drm/i810: remove the BKL · 1f692a14
      Arnd Bergmann 提交于
      SMP i810 systems were practically nonexistent and the configuration
      was not officially supported by Intel at the time when Pentium-III
      was common.
      
      With this change, it is still possible to build a distribution kernel
      that has support for SMP and includes the i810 driver without the BKL.
      As a precaution, check for the theoretical SMP case at run time and
      refuse to load the driver.
      
      We also need to disable CONFIG_PREEMPT builds for this driver.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: dri-devel@lists.freedesktop.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      1f692a14
    • A
      drm: remove i830 driver · 7f506847
      Arnd Bergmann 提交于
      This driver is one of the last users of the big kernel
      lock, which is going away. All the hardware supported
      by this driver also works with the newer i915 driver,
      and recent X.org releases only work with that driver
      anyway.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: dri-devel@lists.freedesktop.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      7f506847
  2. 21 1月, 2011 1 次提交
    • D
      kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT · 6a108a14
      David Rientjes 提交于
      The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
      is used to configure any non-standard kernel with a much larger scope than
      only small devices.
      
      This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
      references to the option throughout the kernel.  A new CONFIG_EMBEDDED
      option is added that automatically selects CONFIG_EXPERT when enabled and
      can be used in the future to isolate options that should only be
      considered for embedded systems (RISC architectures, SLOB, etc).
      
      Calling the option "EXPERT" more accurately represents its intention: only
      expert users who understand the impact of the configuration changes they
      are making should enable it.
      Reviewed-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NDavid Woodhouse <david.woodhouse@intel.com>
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: Greg KH <gregkh@suse.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Robin Holt <holt@sgi.com>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6a108a14
  3. 20 1月, 2011 1 次提交
    • C
      drm/i915: Add dependency on CONFIG_TMPFS · f7ab9b40
      Chris Wilson 提交于
      Without tmpfs, shmem_readpage() is not compiled in causing an OOPS as
      soon as we try to allocate some swappable pages for GEM.
      
      Jan 19 22:52:26 harlie kernel: Modules linked in: i915(+) drm_kms_helper cfbcopyarea video backlight cfbimgblt cfbfillrect
      Jan 19 22:52:26 harlie kernel:
      Jan 19 22:52:26 harlie kernel: Pid: 1125, comm: modprobe Not tainted 2.6.37Harlie #10 To be filled by O.E.M./To be filled by O.E.M.
      Jan 19 22:52:26 harlie kernel: EIP: 0060:[<00000000>] EFLAGS: 00010246 CPU: 3
      Jan 19 22:52:26 harlie kernel: EIP is at 0x0
      Jan 19 22:52:26 harlie kernel: EAX: 00000000 EBX: f7b7d000 ECX: f3383100 EDX: f7b7d000
      Jan 19 22:52:26 harlie kernel: ESI: f1456118 EDI: 00000000 EBP: f2303c98 ESP: f2303c7c
      Jan 19 22:52:26 harlie kernel:  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      Jan 19 22:52:26 harlie kernel: Process modprobe (pid: 1125, ti=f2302000 task=f259cd80 task.ti=f2302000)
      Jan 19 22:52:26 harlie kernel: Stack:
      Jan 19 22:52:26 harlie udevd-work[1072]: '/sbin/modprobe -b pci:v00008086d00000046sv00000000sd00000000bc03sc00i00' unexpected exit with status 0x0009
      Jan 19 22:52:26 harlie kernel:  c1074061 000000d0 f2f42b80 00000000 000a13d2 f2d5dcc0 00000001 f2303cac
      Jan 19 22:52:26 harlie kernel:  c107416f 00000000 000a13d2 00000000 f2303cd4 f8d620ed f2cee620 00001000
      Jan 19 22:52:26 harlie kernel:  00000000 000a13d2 f1456118 f2d5dcc0 f1a40000 00001000 f2303d04 f8d637ab
      Jan 19 22:52:26 harlie kernel: Call Trace:
      Jan 19 22:52:26 harlie kernel:  [<c1074061>] ? do_read_cache_page+0x71/0x160
      Jan 19 22:52:26 harlie kernel:  [<c107416f>] ? read_cache_page_gfp+0x1f/0x30
      Jan 19 22:52:26 harlie kernel:  [<f8d620ed>] ? i915_gem_object_get_pages+0xad/0x1d0 [i915]
      Jan 19 22:52:26 harlie kernel:  [<f8d637ab>] ? i915_gem_object_bind_to_gtt+0xeb/0x2d0 [i915]
      Jan 19 22:52:26 harlie kernel:  [<f8d65961>] ? i915_gem_object_pin+0x151/0x190 [i915]
      Jan 19 22:52:26 harlie kernel:  [<c11e16ed>] ? drm_gem_object_init+0x3d/0x60
      Jan 19 22:52:26 harlie kernel:  [<f8d65aa5>] ? i915_gem_init_ringbuffer+0x105/0x1e0 [i915]
      Jan 19 22:52:26 harlie kernel:  [<f8d571b7>] ? i915_driver_load+0x667/0x1160 [i915]
      Reported-by: NJohn J. Stimson-III <john@idsfa.net>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: stable@kernel.org
      f7ab9b40
  4. 14 12月, 2010 1 次提交
  5. 21 10月, 2010 1 次提交
    • A
      BKL: introduce CONFIG_BKL. · 6de5bd12
      Arnd Bergmann 提交于
      With all the patches we have queued in the BKL removal tree, only a
      few dozen modules are left that actually rely on the BKL, and even
      there are lots of low-hanging fruit. We need to decide what to do
      about them, this patch illustrates one of the options:
      
      Every user of the BKL is marked as 'depends on BKL' in Kconfig,
      and the CONFIG_BKL becomes a user-visible option. If it gets
      disabled, no BKL using module can be built any more and the BKL
      code itself is compiled out.
      
      The one exception is file locking, which is practically always
      enabled and does a 'select BKL' instead. This effectively forces
      CONFIG_BKL to be enabled until we have solved the fs/lockd
      mess and can apply the patch that removes the BKL from fs/locks.c.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      6de5bd12
  6. 02 8月, 2010 1 次提交
  7. 09 7月, 2010 1 次提交
  8. 01 6月, 2010 1 次提交
  9. 21 5月, 2010 1 次提交
  10. 18 5月, 2010 1 次提交
    • D
      drm/fbdev: rework output polling to be back in the core. (v4) · eb1f8e4f
      Dave Airlie 提交于
      After thinking it over a lot it made more sense for the core to deal with
      the output polling especially so it can notify X.
      
      v2: drop plans for fake connector - per Michel's comments - fix X patch sent to xorg-devel, add intel polled/hpd setting, add initial nouveau polled/hpd settings.
      
      v3: add config lock take inside polling, add intel/nouveau poll init/fini calls
      
      v4: config lock was a bit agressive, only needed around connector list reading.
      otherwise it could re-enter.
      
      glisse: discard drm_helper_hpd_irq_event
      
      v3: Reviewed-by: Michel Dänzer <michel@daenzer.net>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      eb1f8e4f
  11. 07 4月, 2010 1 次提交
    • D
      drm/kms/fb: add polling support for when nothing is connected. · 5c4426a7
      Dave Airlie 提交于
      When we are running in a headless environment we have no idea what
      output the user might plug in later, we only have hotplug detect
      from the digital outputs. So if we detect no connected outputs at
      initialisation, start a slow work operation to poll every 5 seconds
      for an output.
      
      this is only hooked up for radeon so far, on hw where we have full
      hotplug detection there is no need for this.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      5c4426a7
  12. 08 3月, 2010 1 次提交
    • L
      Revert "lib: build list_sort() only if needed" · b8fa0571
      Linus Torvalds 提交于
      This reverts commit a069c266.
      
      It turns ou that not only was it missing a case (XFS) that needed it,
      but perhaps more importantly, people sometimes want to enable new
      modules that they hadn't had enabled before, and if such a module uses
      list_sort(), it can't easily be inserted any more.
      
      So rather than add a "select LIST_SORT" to the XFS case, just leave it
      compiled in.  It's not all _that_ big, after all, and the inconvenience
      isn't worth it.
      Requested-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Don Mullis <don.mullis@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Dave Chinner <david@fromorbit.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b8fa0571
  13. 07 3月, 2010 1 次提交
  14. 01 2月, 2010 1 次提交
  15. 26 11月, 2009 1 次提交
  16. 11 9月, 2009 1 次提交
  17. 08 9月, 2009 2 次提交
  18. 07 9月, 2009 1 次提交
  19. 31 8月, 2009 1 次提交
    • B
      radeon: Use request_firmware() · 70967ab9
      Ben Hutchings 提交于
      Loosely based on a patch by
      Jaswinder Singh Rajput <jaswinderlinux@gmail.com>.
      
      KMS support by Dave Airlie <airlied@redhat.com>.
      
      For Radeon 100- to 500-series, firmware blobs look like:
          struct {
              __be32 datah;
              __be32 datal;
          } cp_ucode[256];
      
      For Radeon 600-series, there are two separate firmware blobs:
          __be32 me_ucode[PM4_UCODE_SIZE * 3];
          __be32 pfp_ucode[PFP_UCODE_SIZE];
      
      For Radeon 700-series, likewise:
          __be32 me_ucode[R700_PM4_UCODE_SIZE];
          __be32 pfp_ucode[R700_PFP_UCODE_SIZE];
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      70967ab9
  20. 27 8月, 2009 2 次提交
  21. 22 6月, 2009 1 次提交
  22. 15 6月, 2009 2 次提交
    • J
      drm/radeon: introduce kernel modesetting for radeon hardware · 771fe6b9
      Jerome Glisse 提交于
      Add kernel modesetting support to radeon driver, use the ttm memory
      manager to manage memory and DRM/GEM to provide userspace API.
      In order to avoid backward compatibility issue and to allow clean
      design and code the radeon kernel modesetting use different code path
      than old radeon/drm driver.
      
      When kernel modesetting is enabled the IOCTL of radeon/drm
      driver are considered as invalid and an error message is printed
      in the log and they return failure.
      
      KMS enabled userspace will use new API to talk with the radeon/drm
      driver. The new API provide functions to create/destroy/share/mmap
      buffer object which are then managed by the kernel memory manager
      (here TTM). In order to submit command to the GPU the userspace
      provide a buffer holding the command stream, along this buffer
      userspace have to provide a list of buffer object used by the
      command stream. The kernel radeon driver will then place buffer
      in GPU accessible memory and will update command stream to reflect
      the position of the different buffers.
      
      The kernel will also perform security check on command stream
      provided by the user, we want to catch and forbid any illegal use
      of the GPU such as DMA into random system memory or into memory
      not owned by the process supplying the command stream. This part
      of the code is still incomplete and this why we propose that patch
      as a staging driver addition, future security might forbid current
      experimental userspace to run.
      
      This code support the following hardware : R1XX,R2XX,R3XX,R4XX,R5XX
      (radeon up to X1950). Works is underway to provide support for R6XX,
      R7XX and newer hardware (radeon from HD2XXX to HD4XXX).
      
      Authors:
          Jerome Glisse <jglisse@redhat.com>
          Dave Airlie <airlied@redhat.com>
          Alex Deucher <alexdeucher@gmail.com>
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      Signed-off-by: NAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      771fe6b9
    • T
      drm: Add the TTM GPU memory manager subsystem. · ba4e7d97
      Thomas Hellstrom 提交于
      TTM is a GPU memory manager subsystem designed for use with GPU
      devices with various memory types (On-card VRAM, AGP,
      PCI apertures etc.). It's essentially a helper library that assists
      the DRM driver in creating and managing persistent buffer objects.
      
      TTM manages placement of data and CPU map setup and teardown on
      data movement. It can also optionally manage synchronization of
      data on a per-buffer-object level.
      
      TTM takes care to provide an always valid virtual user-space address
      to a buffer object which makes user-space sub-allocation of
      big buffer objects feasible.
      
      TTM uses a fine-grained per buffer-object locking scheme, taking
      care to release all relevant locks when waiting for the GPU.
      Although this implies some locking overhead, it's probably a big
      win for devices with multiple command submission mechanisms, since
      the lock contention will be minimal.
      
      TTM can be used with whatever user-space interface the driver
      chooses, including GEM. It's used by the upcoming Radeon KMS DRM driver
      and is also the GPU memory management core of various new experimental
      DRM drivers.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      ba4e7d97
  23. 30 5月, 2009 1 次提交
  24. 16 5月, 2009 1 次提交
  25. 13 5月, 2009 1 次提交
  26. 19 2月, 2009 1 次提交
  27. 08 2月, 2009 1 次提交
    • I
      drm/i915: select framebuffer support automatically · d2f59357
      Ingo Molnar 提交于
      Migration helper.
      
      The i915 driver recently added a 'depends on FB' rule to its
      Kconfig entry - which silently turns off DRM_I915 if someone
      has a working config but no CONFIG_FB selected, and upgrades
      to the latest upstream kernel.
      
      Norbert Preining reported this problem:
      
         Bug-Entry   : http://bugzilla.kernel.org/show_bug.cgi?id=12599
         Subject     : dri /dev node disappeared with 2.6.29-rc1
      
      So change it to "select FB", which auto-selects framebuffer
      support. This way the driver keeps working, regardless of
      whether FB was enabled before or not.
      
      Kconfig select's of interactive options can be problematic to
      dependencies and can cause build breakages - but in this case
      it's safe because it's a leaf entry with no dependencies of its
      own.
      
      ( There is some minor circular dependency fallout as FB_I810
        and FB_INTEL also used 'depends on FB' constructs - update
        those to "select FB" too. )
      Reported-by: NNorbert Preining <preining@logic.at>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NDave Airlie <airlied@linux.ie>
      d2f59357
  28. 29 12月, 2008 3 次提交
  29. 21 10月, 2008 1 次提交
  30. 18 10月, 2008 2 次提交
  31. 14 7月, 2008 1 次提交
    • D
      drm: reorganise drm tree to be more future proof. · c0e09200
      Dave Airlie 提交于
      With the coming of kernel based modesetting and the memory manager stuff,
      the everything in one directory approach was getting very ugly and
      starting to be unmanageable.
      
      This restructures the drm along the lines of other kernel components.
      
      It creates a drivers/gpu/drm directory and moves the hw drivers into
      subdirectores. It moves the includes into an include/drm, and
      sets up the unifdef for the userspace headers we should be exporting.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      c0e09200
  32. 07 2月, 2008 1 次提交
  33. 17 10月, 2007 1 次提交