1. 19 1月, 2013 2 次提交
  2. 16 1月, 2013 1 次提交
  3. 29 11月, 2012 1 次提交
  4. 17 11月, 2012 1 次提交
  5. 16 11月, 2012 1 次提交
  6. 14 11月, 2012 1 次提交
  7. 27 10月, 2012 2 次提交
  8. 22 9月, 2012 2 次提交
  9. 18 9月, 2012 1 次提交
  10. 08 9月, 2012 1 次提交
  11. 06 9月, 2012 2 次提交
    • D
      staging: ramster: move to new zcache2 codebase · faca2ef7
      Dan Magenheimer 提交于
      [V2: rebased to apply to 20120905 staging-next, no other changes]
      
      The original zcache in staging is a "demo" version, and this is a massive
      rewrite.  This was intended to result in a merged zcache and ramster, but
      that option has been blocked so, to continue forward progress on ramster
      and future related projects, only ramster moves to the new codebase.
      To differentiate between the old demo zcache and the rewrite, we refer
      to the latter as zcache2, config'd as CONFIG_ZCACHE2.  Zcache and zcache2
      cannot be built in the same kernel, so CONFIG_ZCACHE2 implies !CONFIG_ZCACHE.
      
      This developer still has hope that zcache and zcache2 will be merged
      into one codebase.  Until then, zcache2 can be considered a one-node
      version of ramster.
      
      No history of changes was recorded during the zcache2 rewrite and recreating
      a sane one would be a Sisyphean task but, since ramster is still in
      staging and has been unchanged since it was merged, presumably this
      is acceptable.
      
      This commit also provides the hooks in zcache2 for ramster, but all
      ramster-specific code is provided in a separate commit.
      
      Some of the highlights of this rewritten codebase for zcache2:
      (Note: If you are not familiar with the tmem terminology, you can review
      it here: http://lwn.net/Articles/454795/ )
       1. Merge of "demo" zcache and the v1.1 version of zcache in ramster.  Zcache
          and ramster had a great deal of duplicate code which is now merged.
          In essence, zcache2 *is* ramster but with no remote machine available,
          but !CONFIG_RAMSTER will avoid compiling lots of ramster-specific code.
       2. Allocator.  Previously, persistent pools used zsmalloc and ephemeral pools
          used zbud.  Now a completely rewritten zbud is used for both.  Notably
          this zbud maintains all persistent (frontswap) and ephemeral (cleancache)
          pageframes in separate queues in LRU order.
       3. Interaction with page allocator.  Zbud does no page allocation/freeing,
          it is done entirely in zcache2 where it can be tracked more effectively.
       4. Better pre-allocation.  Previously, on put, if a new pageframe could not be
          pre-allocated, the put would fail, even if the allocator had plenty of
          partial pages where the data could be stored; this is now fixed.
       5. Ouroboros ("eating its own tail") allocation.  If no pageframe can be
          allocated AND no partial pages are available, the least-recently-used
          ephemeral pageframe is reclaimed immediately (including flushing tmem
          pointers to it) and re-used.  This ensures that most-recently-used
          cleancache pages are more likely to be retained than LRU pages and also
          that, as in the core mm subsystem, anonymous pages have a higher priority
          than clean page cache pages.
       6. Zcache and zbud now use debugfs instead of sysfs.  Ramster uses debugfs
          where possible and sysfs where necessary.  (Some ramster configuration
          is done from userspace so some sysfs is necessary.)
       7. Modularization.  As some have observed, the monolithic zcache-main.c code
          included zbud code, which has now been separated into its own code module.
          Much ramster-specific code in the old ramster zcache-main.c has also been
          moved into ramster.c so that it does not get compiled with !CONFIG_RAMSTER.
       8. Rebased to 3.5.
      
      This new codebase also provides hooks for several future new features:
       A. WasActive patch, requires some mm/frontswap changes previously posted.
          A new version of this patch will be provided separately.
          See ifdef __PG_WAS_ACTIVE
       B. Exclusive gets.  It seems tmem _can_ support exclusive gets with a
          minor change to both zcache2 and a small backwards-compatible change
          to frontswap.c.  Explanation and frontswap patch will be provided
          separately.  See ifdef FRONTSWAP_HAS_EXCLUSIVE_GETS
       C. Ouroboros writeback.  Since persistent (frontswap) pages may now also be
          reclaimed in LRU order, the foundation is in place to properly writeback
          these pages back into the swap cache and then the swap disk.  This is still
          under development and requires some other mm changes which are prototyped.
          See ifdef FRONTSWAP_HAS_UNUSE.
      
      A new feature that desperately needs attention (if someone is looking for
      a way to contribute) is kernel module support.  A preliminary version of
      a patch was posted by Erlangen University and needs to be integrated and
      tested for zcache2 and brought up to kernel standards.
      
      If anybody is interested on helping out with any of these, let me know!
      Acked-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: NDan Magenheimer <dan.magenheimer@oracle.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      faca2ef7
    • D
      staging: ramster: remove old driver to prep for new base · c857ce16
      Dan Magenheimer 提交于
      [V2: rebased to apply to 20120905 staging-next, no other changes]
      
      To prep for moving the ramster codebase on top of the new
      redesigned zcache2 codebase, we remove ramster (as well
      as its contained diverged v1.1 version of zcache) entirely.
      Acked-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: NDan Magenheimer <dan.magenheimer@oracle.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c857ce16
  12. 17 7月, 2012 1 次提交
  13. 20 6月, 2012 1 次提交
    • G
      Staging: add CSR Wifi "os helper" module · 15a4bc17
      Greg Kroah-Hartman 提交于
      This module is used by the CSR wifi driver to "abstract" away the
      OS-specific parts of core functions.  It will be eventually deleted, but
      for now is needed as the CSR driver relies on it.
      
      Cc: Mikko Virkkilä <mikko.virkkila@bluegiga.com>
      Cc: Lauri Hintsala <Lauri.Hintsala@bluegiga.com>
      Cc: Riku Mettälä <riku.mettala@bluegiga.com>
      Cc: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      15a4bc17
  14. 13 6月, 2012 1 次提交
  15. 16 5月, 2012 1 次提交
    • M
      staging: usb: gadget: Add Configurable Composite Gadget driver · 332bb43f
      Mike Lockwood 提交于
      The Configurable Gadget driver is a composite driver that allows
      userspace to change at runtime the list of functions enabled in
      its configuration and to configure these functions. It supports
      multiple functions: acm, rndis, and mass storage.
      
      It is usually controlled by a daemon that changes the configuration
      based on user settings. For example, rndis is enabled when the user
      enables sharing the phone data connection.
      
      As an example on how to use it, the following shell commands will
      make the gadget disconnect from the host and make it be re-enumerated
      as a composite with 1 rndis and 2 acm interfaces, and a different
      product id:
      
      echo 0       > /sys/class/ccg_usb/ccg0/enable
      echo rndis,acm > /sys/class/ccg_usb/ccg0/functions
      echo 2       > /sys/class/ccg_usb/ccg0/f_acm/instances
      echo -n 0x2d01 > /sys/module/g_ccg/parameters/idProduct
      echo 1       > /sys/class/ccg_usb/ccg0/enable
      
      The driver requires a gadget controller that supports software
      control of the D+ pullup and the controller driver must support
      disabling the pullup during composite_bind.
      Signed-off-by: NMike Lockwood <lockwood@android.com>
      Signed-off-by: NBenoit Goby <benoit@android.com>
      	[import from android.c, implement review comments, remove adb,mtp,ptp,accessory]
      Signed-off-by: NAndrzej Pietrasiewicz <andrzej.p@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      332bb43f
  16. 15 5月, 2012 1 次提交
  17. 11 5月, 2012 1 次提交
  18. 10 5月, 2012 1 次提交
  19. 02 5月, 2012 1 次提交
  20. 14 4月, 2012 1 次提交
  21. 11 4月, 2012 1 次提交
  22. 25 2月, 2012 1 次提交
  23. 16 2月, 2012 1 次提交
  24. 14 2月, 2012 1 次提交
  25. 11 2月, 2012 1 次提交
  26. 10 2月, 2012 1 次提交
  27. 09 2月, 2012 5 次提交
  28. 09 12月, 2011 2 次提交
  29. 30 11月, 2011 1 次提交
  30. 29 11月, 2011 1 次提交
  31. 27 11月, 2011 1 次提交
    • R
      staging: add omapdrm DRM/KMS driver for TI OMAP platforms · cd5351f4
      Rob Clark 提交于
      A DRM display driver for TI OMAP platform.  Similar to omapfb (fbdev)
      and omap_vout (v4l2 display) drivers in the past, this driver uses the
      DSS2 driver to access the display hardware, including support for
      HDMI, DVI, and various types of LCD panels.  And it implements GEM
      support for buffer allocation (for KMS as well as offscreen buffers
      used by the xf86-video-omap userspace xorg driver).
      
      The driver maps CRTCs to overlays, encoders to overlay-managers, and
      connectors to dssdev's.  Note that this arrangement might change slightly
      when support for drm_plane overlays is added.
      
      For GEM support, non-scanout buffers are using the shmem backed pages
      provided by GEM core (In drm_gem_object_init()).  In the case of scanout
      buffers, which need to be physically contiguous, those are allocated
      with CMA and use drm_gem_private_object_init().
      
      See userspace xorg driver:
      git://github.com/robclark/xf86-video-omap.git
      
      Refer to this link for CMA (Continuous Memory Allocator):
      http://lkml.org/lkml/2011/8/19/302
      
      Links to previous versions of the patch:
      v1: http://lwn.net/Articles/458137/
      v2: http://patches.linaro.org/4156/
      v3: http://patches.linaro.org/4688/
      v4: http://patches.linaro.org/4791/
      
      History:
      
      v5: move headers from include/drm at Greg KH's request, minor rebasing
          on 3.2-rc1, pull in private copies of drm_gem_{get,put}_pages()
          because "drm/gem: add functions to get/put pages" patch is not
          merged yet
      v4: bit of rework of encoder/connector _dpms() code, modeset_init()
          rework to not use nested functions, update TODO.txt
      v3: minor cleanups, improved error handling for dev_load(), some minor
          API changes that will be needed later for tiled buffer support
      v2: replace omap_vram with CMA for scanout buffer allocation, remove
          unneeded functions, use dma_addr_t for physical addresses, error
          handling cleanup, refactor attach/detach pages into common drm
          functions, split non-userspace-facing API into omap_priv.h, remove
          plugin API
      
      v1: original
      Signed-off-by: NRob Clark <rob@ti.com>
      Acked-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      cd5351f4