1. 17 Jan, 2018 1 commit
    • Adrian Hunter's avatar
      mmc: sdhci-pci: Stop calling sdhci_enable_irq_wakeups() · 5c3c6126
      Adrian Hunter authored
      sdhci_enable_irq_wakeups() is already called by sdhci_suspend_host() so
      sdhci-pci should not need to call it. However sdhci_suspend_host() only
      calls it if wakeups are enabled, and sdhci-pci does not enable them until
      after calling sdhci_suspend_host(). So move the calls to
      sdhci_pci_init_wakeup() before calling sdhci_suspend_host(), and
      stop calling sdhci_enable_irq_wakeups(). That results in some
      simplification because sdhci_pci_suspend_host() and
      __sdhci_pci_suspend_host() no longer need to be separate functions.
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      5c3c6126
  2. 16 Jan, 2018 1 commit
  3. 15 Jan, 2018 2 commits
    • Ulf Hansson's avatar
      Merge branch 'fixes' into next · 7ad43a14
      Ulf Hansson authored
      7ad43a14
    • Benoît Thébaudeau's avatar
      mmc: sdhci-esdhc-imx: Fix i.MX53 eSDHCv3 clock · 499ed50f
      Benoît Thébaudeau authored
      Commit 5143c953 ("mmc: sdhci-esdhc-imx: Allow all supported
      prescaler values") made it possible to set SYSCTL.SDCLKFS to 0 in SDR
      mode, thus bypassing the SD clock frequency prescaler, in order to be
      able to get higher SD clock frequencies in some contexts. However, that
      commit missed the fact that this value is illegal on the eSDHCv3
      instance of the i.MX53. This seems to be the only exception on i.MX,
      this value being legal even for the eSDHCv2 instances of the i.MX53.
      
      Fix this issue by changing the minimum prescaler value if the i.MX53
      eSDHCv3 is detected. According to the i.MX53 reference manual, if
      DLLCTRL[10] can be set, then the controller is eSDHCv3, else it is
      eSDHCv2.
      
      This commit fixes the following issue, which was preventing the i.MX53
      Loco (IMX53QSB) board from booting Linux 4.15.0-rc5:
      [    1.882668] mmcblk1: error -84 transferring data, sector 2048, nr 8, cmd response 0x900, card status 0xc00
      [    2.002255] mmcblk1: error -84 transferring data, sector 2050, nr 6, cmd response 0x900, card status 0xc00
      [   12.645056] mmc1: Timeout waiting for hardware interrupt.
      [   12.650473] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
      [   12.656921] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00001201
      [   12.663366] mmc1: sdhci: Blk size:  0x00000004 | Blk cnt:  0x00000000
      [   12.669813] mmc1: sdhci: Argument:  0x00000000 | Trn mode: 0x00000013
      [   12.676258] mmc1: sdhci: Present:   0x01f8028f | Host ctl: 0x00000013
      [   12.682703] mmc1: sdhci: Power:     0x00000002 | Blk gap:  0x00000000
      [   12.689148] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x0000003f
      [   12.695594] mmc1: sdhci: Timeout:   0x0000008e | Int stat: 0x00000000
      [   12.702039] mmc1: sdhci: Int enab:  0x107f004b | Sig enab: 0x107f004b
      [   12.708485] mmc1: sdhci: AC12 err:  0x00000000 | Slot int: 0x00001201
      [   12.714930] mmc1: sdhci: Caps:      0x07eb0000 | Caps_1:   0x08100810
      [   12.721375] mmc1: sdhci: Cmd:       0x0000163a | Max curr: 0x00000000
      [   12.727821] mmc1: sdhci: Resp[0]:   0x00000920 | Resp[1]:  0x00000000
      [   12.734265] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
      [   12.740709] mmc1: sdhci: Host ctl2: 0x00000000
      [   12.745157] mmc1: sdhci: ADMA Err:  0x00000001 | ADMA Ptr: 0xc8049200
      [   12.751601] mmc1: sdhci: ============================================
      [   12.758110] print_req_error: I/O error, dev mmcblk1, sector 2050
      [   12.764135] Buffer I/O error on dev mmcblk1p1, logical block 0, lost sync page write
      [   12.775163] EXT4-fs (mmcblk1p1): mounted filesystem without journal. Opts: (null)
      [   12.782746] VFS: Mounted root (ext4 filesystem) on device 179:9.
      [   12.789151] mmcblk1: response CRC error sending SET_BLOCK_COUNT command, card status 0x900
      Signed-off-by: default avatarBenoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
      Reported-by: default avatarWladimir J. van der Laan <laanwj@gmail.com>
      Tested-by: default avatarWladimir J. van der Laan <laanwj@gmail.com>
      Fixes: 5143c953 ("mmc: sdhci-esdhc-imx: Allow all supported prescaler values")
      Cc: <stable@vger.kernel.org> # v4.13+
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      499ed50f
  4. 12 Jan, 2018 1 commit
  5. 11 Jan, 2018 3 commits
  6. 09 Jan, 2018 3 commits
  7. 04 Jan, 2018 3 commits
  8. 21 Dec, 2017 1 commit
  9. 19 Dec, 2017 6 commits
  10. 18 Dec, 2017 12 commits
  11. 15 Dec, 2017 7 commits