1. 07 8月, 2019 1 次提交
  2. 22 5月, 2019 1 次提交
    • C
      arm64: dts: rockchip: Disable DCMDs on RK3399's eMMC controller. · 8cf1bbca
      Christoph Muellner 提交于
      commit a3eec13b8fd2b9791a21fa16e38dfea8111579bf upstream.
      
      When using direct commands (DCMDs) on an RK3399, we get spurious
      CQE completion interrupts for the DCMD transaction slot (#31):
      
      [  931.196520] ------------[ cut here ]------------
      [  931.201702] mmc1: cqhci: spurious TCN for tag 31
      [  931.206906] WARNING: CPU: 0 PID: 1433 at /usr/src/kernel/drivers/mmc/host/cqhci.c:725 cqhci_irq+0x2e4/0x490
      [  931.206909] Modules linked in:
      [  931.206918] CPU: 0 PID: 1433 Comm: irq/29-mmc1 Not tainted 4.19.8-rt6-funkadelic #1
      [  931.206920] Hardware name: Theobroma Systems RK3399-Q7 SoM (DT)
      [  931.206924] pstate: 40000005 (nZcv daif -PAN -UAO)
      [  931.206927] pc : cqhci_irq+0x2e4/0x490
      [  931.206931] lr : cqhci_irq+0x2e4/0x490
      [  931.206933] sp : ffff00000e54bc80
      [  931.206934] x29: ffff00000e54bc80 x28: 0000000000000000
      [  931.206939] x27: 0000000000000001 x26: ffff000008f217e8
      [  931.206944] x25: ffff8000f02ef030 x24: ffff0000091417b0
      [  931.206948] x23: ffff0000090aa000 x22: ffff8000f008b000
      [  931.206953] x21: 0000000000000002 x20: 000000000000001f
      [  931.206957] x19: ffff8000f02ef018 x18: ffffffffffffffff
      [  931.206961] x17: 0000000000000000 x16: 0000000000000000
      [  931.206966] x15: ffff0000090aa6c8 x14: 0720072007200720
      [  931.206970] x13: 0720072007200720 x12: 0720072007200720
      [  931.206975] x11: 0720072007200720 x10: 0720072007200720
      [  931.206980] x9 : 0720072007200720 x8 : 0720072007200720
      [  931.206984] x7 : 0720073107330720 x6 : 00000000000005a0
      [  931.206988] x5 : ffff00000860d4b0 x4 : 0000000000000000
      [  931.206993] x3 : 0000000000000001 x2 : 0000000000000001
      [  931.206997] x1 : 1bde3a91b0d4d900 x0 : 0000000000000000
      [  931.207001] Call trace:
      [  931.207005]  cqhci_irq+0x2e4/0x490
      [  931.207009]  sdhci_arasan_cqhci_irq+0x5c/0x90
      [  931.207013]  sdhci_irq+0x98/0x930
      [  931.207019]  irq_forced_thread_fn+0x2c/0xa0
      [  931.207023]  irq_thread+0x114/0x1c0
      [  931.207027]  kthread+0x128/0x130
      [  931.207032]  ret_from_fork+0x10/0x20
      [  931.207035] ---[ end trace 0000000000000002 ]---
      
      The driver shows this message only for the first spurious interrupt
      by using WARN_ONCE(). Changing this to WARN() shows, that this is
      happening quite frequently (up to once a second).
      
      Since the eMMC 5.1 specification, where CQE and CQHCI are specified,
      does not mention that spurious TCN interrupts for DCMDs can be simply
      ignored, we must assume that using this feature is not working reliably.
      
      The current implementation uses DCMD for REQ_OP_FLUSH only, and
      I could not see any performance/power impact when disabling
      this optional feature for RK3399.
      
      Therefore this patch disables DCMDs for RK3399.
      Signed-off-by: NChristoph Muellner <christoph.muellner@theobroma-systems.com>
      Signed-off-by: NPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
      Fixes: 84362d79 ("mmc: sdhci-of-arasan: Add CQHCI support for arasan,sdhci-5.1")
      Cc: stable@vger.kernel.org
      [the corresponding code changes are queued for 5.2 so doing that as well]
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8cf1bbca
  3. 25 7月, 2018 1 次提交
  4. 04 7月, 2018 1 次提交
  5. 20 6月, 2018 3 次提交
  6. 17 6月, 2018 1 次提交
  7. 16 4月, 2018 3 次提交
  8. 12 3月, 2018 1 次提交
  9. 02 3月, 2018 1 次提交
  10. 14 2月, 2018 1 次提交
  11. 12 2月, 2018 3 次提交
  12. 17 12月, 2017 4 次提交
  13. 04 12月, 2017 3 次提交
  14. 18 10月, 2017 1 次提交
  15. 15 10月, 2017 1 次提交
  16. 26 9月, 2017 1 次提交
  17. 20 9月, 2017 1 次提交
  18. 30 8月, 2017 1 次提交
  19. 22 8月, 2017 1 次提交
  20. 19 8月, 2017 1 次提交
  21. 18 8月, 2017 1 次提交
  22. 06 8月, 2017 5 次提交
  23. 01 8月, 2017 1 次提交
    • C
      arm64: dts: rockchip: update dynamic-power-coefficient for rk3399 · 45a995c0
      Caesar Wang 提交于
      This patch updates the dynamic-power-coefficient for big cluster on
      rk3399 SoCs.
      
      The dynamic power consumption of the CPU is proportional to the square of
      the Voltage (V) and the clock frequency (f). The coefficient is used to
      calculate the dynamic power as below -
      Pdyn = dynamic-power-coefficient * V^2 * f
      Where Voltage is in uV, frequency is in MHz.
      
      As the following is the tested data on rk3399's big cluster.
      frequency(MHz)  Voltage(V)  Current(mA) Dynamic-power-coefficient
      24              0.8         15
      48              0.8         23          ~417
      96              0.8         40          ~443
      216             0.8         82          ~438
      312             0.8         115         ~430
      408             0.8         150         ~455
      So the dynamic-power-coefficient average value is about 436.
      Signed-off-by: NCaesar Wang <wxt@rock-chips.com>
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      45a995c0
  24. 23 7月, 2017 2 次提交