1. 05 Aug, 2016 1 commit
  2. 27 Jul, 2016 2 commits
  3. 11 Jul, 2016 2 commits
  4. 27 May, 2016 1 commit
  5. 01 Dec, 2015 1 commit
  6. 03 Sep, 2015 1 commit
  7. 21 Jul, 2015 1 commit
  8. 23 Feb, 2015 1 commit
  9. 06 Oct, 2014 1 commit
    • Marek Vasut's avatar
      mmc: dw_mmc: Fix cache alignment issue · 1bf29b3d
      Marek Vasut authored
      The DMA descriptors used by the DW MMC block must be aligned to cacheline
      size, otherwise we are unable to properly flush/inval cache over them and
      we get data corruption.
      
      The reason I chose this approach of expanding the structure is because
      the driver allocates the descriptors in bulk. This approach does waste
      space by inserting slop inbetween the descriptors, but it makes access
      to the descriptors easy as the compiler does know the real size of the
      structure. It also makes cache operations easy, since the size of the
      structure is cache aligned and the structure start address is as well.
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@altera.com>
      Cc: Albert Aribaud <albert.u.boot@aribaud.net>
      Cc: Tom Rini <trini@ti.com>
      Cc: Wolfgang Denk <wd@denx.de>
      Cc: Pavel Machek <pavel@denx.de>
      Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
      Acked-by: default avatarPavel Machek <pavel@denx.de>
      1bf29b3d
  10. 16 May, 2014 2 commits
  11. 24 Mar, 2014 1 commit
    • Pantelis Antoniou's avatar
      mmc: Split mmc struct, rework mmc initialization (v2) · 93bfd616
      Pantelis Antoniou authored
      The way that struct mmc was implemented was a bit of a mess;
      configuration and internal state all jumbled up in a single structure.
      
      On top of that the way initialization is done with mmc_register leads
      to a lot of duplicated code in drivers.
      
      Typically the initialization got something like this in every driver.
      
      	struct mmc *mmc = malloc(sizeof(struct mmc));
      	memset(mmc, 0, sizeof(struct mmc);
      	/* fill in fields of mmc struct */
      	/* store private data pointer */
      	mmc_register(mmc);
      
      By using the new mmc_create call one just passes an mmc config struct
      and an optional private data pointer like this:
      
      	struct mmc = mmc_create(&cfg, priv);
      
      All in tree drivers have been updated to the new form, and expect
      mmc_register to go away before long.
      
      Changes since v1:
      
      * Use calloc instead of manually calling memset.
      * Mark mmc_register as deprecated.
      Signed-off-by: default avatarPantelis Antoniou <panto@antoniou-consulting.com>
      93bfd616
  12. 07 Feb, 2014 1 commit
  13. 08 Dec, 2013 1 commit
  14. 31 Oct, 2013 2 commits
  15. 24 Jul, 2013 1 commit
  16. 13 Jun, 2013 1 commit
  17. 22 Oct, 2012 1 commit