1. 12 2月, 2013 1 次提交
  2. 08 12月, 2012 1 次提交
  3. 07 12月, 2012 2 次提交
  4. 08 10月, 2012 1 次提交
  5. 05 9月, 2012 1 次提交
  6. 23 7月, 2012 1 次提交
  7. 21 7月, 2012 4 次提交
  8. 22 4月, 2012 1 次提交
  9. 28 3月, 2012 3 次提交
  10. 16 3月, 2012 1 次提交
    • P
      device.h: audit and cleanup users in main include dir · 313162d0
      Paul Gortmaker 提交于
      The <linux/device.h> header includes a lot of stuff, and
      it in turn gets a lot of use just for the basic "struct device"
      which appears so often.
      
      Clean up the users as follows:
      
      1) For those headers only needing "struct device" as a pointer
      in fcn args, replace the include with exactly that.
      
      2) For headers not really using anything from device.h, simply
      delete the include altogether.
      
      3) For headers relying on getting device.h implicitly before
      being included themselves, now explicitly include device.h
      
      4) For files in which doing #1 or #2 uncovers an implicit
      dependency on some other header, fix by explicitly adding
      the required header(s).
      
      Any C files that were implicitly relying on device.h to be
      present have already been dealt with in advance.
      
      Total removals from #1 and #2: 51.  Total additions coming
      from #3: 9.  Total other implicit dependencies from #4: 7.
      
      As of 3.3-rc1, there were 110, so a net removal of 42 gives
      about a 38% reduction in device.h presence in include/*
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      313162d0
  11. 14 2月, 2012 2 次提交
  12. 13 1月, 2012 2 次提交
  13. 12 1月, 2012 5 次提交
    • U
      mmc: core: Add option to prevent eMMC sleep command · aa9df4fb
      Ulf Hansson 提交于
      Host may now use MMC_CAP2_NO_SLEEP_CMD to disable the use
      of eMMC sleep/awake command.
      
      This option can be used when your platform has a buggy
      kernel crash dump software, which is supposed to store
      the dump on the eMMC, but is not able to wake up the eMMC
      from sleep state.
      
      In particular, failures have been seen with u-boot; even if
      it is fixed there, platforms will be slow to update their
      bootloader binaries.
      Signed-off-by: NUlf Hansson <ulf.hansson@stericsson.com>
      Reviewed-by: NHanumath Prasad <hanumath.prasad@stericsson.com>
      Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com>
      Acked-by: NSubhash Jadavani <subhashj@codeaurora.org>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      aa9df4fb
    • G
      mmc: add a card hotplug handler context · b67e1980
      Guennadi Liakhovetski 提交于
      SD/MMC controllers provide different card insertion and removal detection
      methods. On some of them the controller itself issues an interrupt, on
      others polling is used, on yet others auxiliary means are used for this
      purpose, e.g., a GPIO IRQ. Further, on some systems one of those methods
      can be chosen at driver probing time and configured in software. E.g., on
      some systems the SD/MMC controller card hot-plug detection pin can be
      configured either as a respective controller functions, or an IRQ-capable
      GPIO. To support such flexible configurations a card hot-plug context
      is added by this patch.
      Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      b67e1980
    • A
      mmc: allow upper layers to know immediately if card has been removed · d3049504
      Adrian Hunter 提交于
      Add a function mmc_detect_card_removed() which upper layers can use to
      determine immediately if a card has been removed. This function should
      be called after an I/O request fails so that all queued I/O requests
      can be errored out immediately instead of waiting for the card device
      to be removed.
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Acked-by: NSujit Reddy Thumma <sthumma@codeaurora.org>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      d3049504
    • S
      mmc: core: Use delayed work in clock gating framework · 597dd9d7
      Sujit Reddy Thumma 提交于
      Current clock gating framework disables the MCI clock as soon as the
      request is completed and enables it when a request arrives. This aggressive
      clock gating framework, when enabled, cause following issues:
      
      When there are back-to-back requests from the Queue layer, we unnecessarily
      end up disabling and enabling the clocks between these requests since 8MCLK
      clock cycles is a very short duration compared to the time delay between
      back to back requests reaching the MMC layer. This overhead can effect the
      overall performance depending on how long the clock enable and disable
      calls take which is platform dependent. For example on some platforms we
      can have clock control not on the local processor, but on a different
      subsystem and the time taken to perform the clock enable/disable can add
      significant overhead.
      
      Also if the host controller driver decides to disable the host clock too
      when mmc_set_ios function is called with ios.clock=0, it adds additional
      delay and it is highly possible that the next request had already arrived
      and unnecessarily blocked in enabling the clocks. This is seen frequently
      when the processor is executing at high speeds and in multi-core platforms
      thus reduces the overall throughput compared to if clock gating is
      disabled.
      
      Fix this by delaying turning off the clocks by posting request on
      delayed workqueue. Also cancel the unscheduled pending work, if any,
      when there is access to card.
      
      sysfs entry is provided to tune the delay as needed, default
      value set to 200ms.
      Signed-off-by: NSujit Reddy Thumma <sthumma@codeaurora.org>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      597dd9d7
    • G
      mmc: debugfs: expose the SDCLK frq in sys ios · df16219f
      Giuseppe CAVALLARO 提交于
      This patch is to expose the actual SDCLK frequency in
      /sys/kernel/debug/mmcX/ios entry.
      
      For example, if the max clk for a normal speed card is 20MHz this
      is reported in /sys/kernel/debug/mmcX/ios.  Unfortunately the actual
      SDCLK frequency (i.e. Baseclock / divisor) is not reported at all:
      for example, in that case, on Arasan HC, it should be 48/4=12 (MHz).
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Acked-by: NAdrian Hunter <adrian.hunter@intel.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      df16219f
  14. 27 10月, 2011 7 次提交
  15. 14 8月, 2011 1 次提交
  16. 21 7月, 2011 4 次提交
    • P
      mmc: core: Set non-default Drive Strength via platform hook · ca8e99b3
      Philip Rakity 提交于
      Non default Drive Strength cannot be set automatically.  It is a function
      of the board design and only if there is a specific platform handler can
      it be set.  The platform handler needs to take into account the board
      design.  Pass to the platform code the necessary information.
      
      For example:  The card and host controller may indicate they support HIGH
      and LOW drive strength.  There is no way to know what should be chosen
      without specific board knowledge.  Setting HIGH may lead to reflections
      and setting LOW may not suffice.  There is no mechanism (like ethernet
      duplex or speed pulses) to determine what should be done automatically.
      
      If no platform handler is defined -- use the default value.
      Signed-off-by: NPhilip Rakity <prakity@marvell.com>
      Reviewed-by: NArindam Nath <arindam.nath@amd.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      ca8e99b3
    • P
      mmc: core: add non-blocking mmc request function · aa8b683a
      Per Forlin 提交于
      Previously there has only been one function mmc_wait_for_req()
      to start and wait for a request. This patch adds:
      
       * mmc_start_req() - starts a request wihtout waiting
         If there is on ongoing request wait for completion
         of that request and start the new one and return.
         Does not wait for the new command to complete.
      
      This patch also adds new function members in struct mmc_host_ops
      only called from core.c:
      
       * pre_req - asks the host driver to prepare for the next job
       * post_req - asks the host driver to clean up after a completed job
      
      The intention is to use pre_req() and post_req() to do cache maintenance
      while a request is active. pre_req() can be called while a request is
      active to minimize latency to start next job. post_req() can be used after
      the next job is started to clean up the request. This will minimize the
      host driver request end latency. post_req() is typically used before
      ending the block request and handing over the buffer to the block layer.
      
      Add a host-private member in mmc_data to be used by pre_req to mark the
      data. The host driver will then check this mark to see if the data is
      prepared or not.
      Signed-off-by: NPer Forlin <per.forlin@linaro.org>
      Acked-by: NKyungmin Park <kyungmin.park@samsung.com>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NVenkatraman S <svenkatr@ti.com>
      Tested-by: NSourav Poddar <sourav.poddar@ti.com>
      Tested-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      aa8b683a
    • A
      mmc: queue: let host controllers specify maximum discard timeout · e056a1b5
      Adrian Hunter 提交于
      Some host controllers will not operate without a hardware
      timeout that is limited in value.  However large discards
      require large timeouts, so there needs to be a way to
      specify the maximum discard size.
      
      A host controller driver may now specify the maximum discard
      timeout possible so that max_discard_sectors can be calculated.
      
      However, for eMMC when the High Capacity Erase Group Size
      is not in use, the timeout calculation depends on clock
      rate which may change.  For that case Preferred Erase Size
      is used instead.
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      e056a1b5
    • R
      mmc: Standardize header file inclusion checks. · 100e9186
      Robert P. J. Day 提交于
      Standardize the checks for multiple MMC header file inclusion,
      including adding comments to terminating #endif's, and fixing
      one incorrect comment.
      Signed-off-by: NRobert P. J. Day <rpjday@crashcourse.ca>
      Signed-off-by: NChris Ball <cjb@laptop.org>
      100e9186
  17. 26 5月, 2011 1 次提交
  18. 25 5月, 2011 2 次提交