1. 15 Jul, 2008 6 commits
    • Tomas Winkler's avatar
      mmc: fix sdio_io sparse errors · 6d373331
      Tomas Winkler authored
      This patch fixes sdio_io sparse errors.
      This fix changes signature of API functions,
      changing
      unsigned char -> u8
      unsigned short -> u16
      unsigned long -> u32 - this was probably a bug in 64 bit platforms
      Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
      6d373331
    • Pierre Ossman's avatar
      sdio: clean up handling of byte mode transfer size · eea0f581
      Pierre Ossman authored
      Make sure that the maximum size for a byte mode transfer is identical
      in all places. Also tweak the transfer helper so that a single byte
      mode transfer is preferred over (possibly multiple) block mode
      request(s).
      Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
      eea0f581
    • Pierre Ossman's avatar
      mmc,sdio: helper function for transfer padding · ad3868b2
      Pierre Ossman authored
      There are a lot of crappy controllers out there that cannot handle
      all the request sizes that the MMC/SD/SDIO specifications require.
      In case the card driver can pad the data to overcome the problems,
      this commit adds a helper that calculates how much that padding
      should be.
      
      A corresponding helper is also added for SDIO, but it can also deal
      with all the complexities of splitting up a large transfer efficiently.
      Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
      ad3868b2
    • Deepak Saxena's avatar
      MMC: Trivial comment cleanup · 8769392b
      Deepak Saxena authored
      Make the variable name in the comments match the actual name
      of the variable.
      Signed-off-by: default avatarDeepak Saxena <dsaxena@laptop.org>
      Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
      8769392b
    • Anton Vorontsov's avatar
      mmc: change .get_ro() callback semantics · 08f80bb5
      Anton Vorontsov authored
      Now get_ro() callback must return 0/1 values for its logical states, and
      negative errno values in case of error. If particular host instance doesn't
      support RO/WP switch, it should return -ENOSYS.
      
      This patch changes some hosts in two ways:
      
      1. Now functions should be smart to not return negative values in
         "RO asserted" case (particularly gpio_ calls could return negative
         values for the outermost GPIOs).
      
         Also, board code usually passes get_ro() callbacks that directly return
         gpioreg & bit result, so at91_mci, imxmmc, pxamci and mmc_spi's get_ro()
         handlers need take special care when returning platform's values to the
         mmc core.
      
      2. In case of host instance didn't implement get_ro() callback, it should
         really return -ENOSYS and let the mmc core decide what to do about it
         (mmc core thinks the same way as the hosts, so it isn't functional
         change).
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
      08f80bb5
    • Anton Vorontsov's avatar
      mmc: add support for card-detection polling · 28f52482
      Anton Vorontsov authored
      Some hosts (and boards that use mmc_spi) do not use interrupts on the CD
      line, so they can't trigger mmc_detect_change. We want to poll the card
      and see if there was a change. 1 second poll interval seems resonable.
      
      This patch also implements .get_cd() host operation, that could be used
      by the hosts that are able to report card-detect status without need to
      talk MMC.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
      28f52482
  2. 18 Apr, 2008 5 commits
  3. 22 Mar, 2008 1 commit
  4. 02 Nov, 2007 1 commit
  5. 27 Oct, 2007 2 commits
  6. 17 Oct, 2007 1 commit
  7. 14 Oct, 2007 1 commit
  8. 12 Oct, 2007 2 commits
  9. 06 Oct, 2007 2 commits
  10. 27 Sep, 2007 1 commit
    • Pierre Ossman's avatar
      sdio: adaptive interrupt polling · 6f4285d1
      Pierre Ossman authored
      The interrupt polling frequency is a compromise between power usage and
      interrupt latency. Unfortunately, it affects throughput rather severely
      for devices which require an interrupt for every chunk of data.
      
      By making the polling frequency adaptive, we get better throughput with
      those devices without sacficing too much power. Polling will quickly
      increase when there is an actual interrupt, and slowly fall back to the
      idle frequency when the interrupts stop coming.
      Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
      6f4285d1
  11. 23 Sep, 2007 18 commits