Re: [PATCH V4 00/11] mmc: Add Command Queue support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Adrian,

On 2017/7/21 17:49, Adrian Hunter wrote:
Hi

Here is V4 of the hardware command queue patches without the software
command queue patches.


I see this log for the reboot test last weekend. One of my boards
seems to easily trigger this WARN_ONCE.

[   10.012778] mmc1: cqhci: spurious TCN for tag 31
[   10.013332] ------------[ cut here ]------------
[ 10.013779] WARNING: CPU: 0 PID: 2596 at drivers/mmc/host/cqhci.c:721 cqhci_irq+0x2cc/0x42c
[   10.014520] Modules linked in:
[ 10.014837] CPU: 0 PID: 2596 Comm: sed Not tainted 4.13.0-rc1-next-20170720-00012-g9d9bf45 #33
[   10.015595] Hardware name: Firefly-RK3399 Board (DT)
[   10.016043] task: ffff80007b510000 task.stack: ffff80007a160000
[   10.016575] PC is at cqhci_irq+0x2cc/0x42c
[   10.016946] LR is at cqhci_irq+0x2cc/0x42c
[ 10.017321] pc : [<ffff0000087f7c3c>] lr : [<ffff0000087f7c3c>] pstate: 600001c5
[   10.017974] sp : ffff80007ef11db0
[   10.018275] x29: ffff80007ef11db0 x28: 0000000000000001
[   10.018759] x27: ffff80007ba7d600 x26: 0000000000000001
[   10.019242] x25: ffff000008d279a8 x24: ffff80007b8f4130
[   10.019725] x23: ffff000008fb0d00 x22: 0000000000000002
[   10.020208] x21: ffff80007ba7d000 x20: ffff80007b8f4118
[   10.020690] x19: 000000000000001f x18: 0000000000000000
[   10.021172] x17: 0000000000000000 x16: 0000000000000000
[   10.021654] x15: 0000000000000000 x14: 00000000f7b60065
[   10.022138] x13: 00000000ffc54040 x12: 0000000000000000
[   10.022624] x11: 000000000000081b x10: 0000000000000006
[   10.023105] x9 : 000000000000081c x8 : ffff00000853de20
[   10.023587] x7 : ffff000008ec9df8 x6 : ffff00000900651b
[   10.024070] x5 : 0000000000000000 x4 : 0000000000000000
[   10.024553] x3 : 0000000000000000 x2 : ffff80007ef19970
[   10.025035] x1 : ffff80007b510000 x0 : 0000000000000024
[   10.025519] Call trace:
[   10.025761] Exception stack(0xffff80007ef11be0 to 0xffff80007ef11d10)
[ 10.026342] 1be0: 000000000000001f 0001000000000000 ffff80007ef11db0 ffff0000087f7c3c [ 10.027040] 1c00: ffff000008d279a8 0000000000000001 ffff80007ba7d600 0000000000000001 [ 10.027738] 1c20: 0000000000000002 0000000000000000 ffff80007ef11db0 ffff80007ef11db0 [ 10.028437] 1c40: ffff80007ef11d70 00000000ffffffc8 ffff80007ef11c80 ffff00000810f980 [ 10.029135] 1c60: ffff80007ef11db0 ffff80007ef11db0 ffff80007ef11d70 00000000ffffffc8 [ 10.029833] 1c80: 0000000000000024 ffff80007b510000 ffff80007ef19970 0000000000000000 [ 10.030533] 1ca0: 0000000000000000 0000000000000000 ffff00000900651b ffff000008ec9df8 [ 10.031230] 1cc0: ffff00000853de20 000000000000081c 0000000000000006 000000000000081b [ 10.031928] 1ce0: 0000000000000000 00000000ffc54040 00000000f7b60065 0000000000000000
[   10.032624] 1d00: 0000000000000000 0000000000000000
[   10.033068] [<ffff0000087f7c3c>] cqhci_irq+0x2cc/0x42c
[   10.033541] [<ffff0000087f2c90>] sdhci_arasan_cqhci_irq+0x44/0x58
[   10.034092] [<ffff0000087dec28>] sdhci_irq+0xb0/0xb74
[   10.034554] [<ffff00000811096c>] __handle_irq_event_percpu+0xa0/0x128
[   10.035133] [<ffff000008110a10>] handle_irq_event_percpu+0x1c/0x54
[   10.035687] [<ffff000008110a8c>] handle_irq_event+0x44/0x74
[   10.036192] [<ffff000008114040>] handle_fasteoi_irq+0x9c/0x154
[   10.036717] [<ffff00000810fa7c>] generic_handle_irq+0x24/0x38
[   10.037234] [<ffff0000081100fc>] __handle_domain_irq+0x60/0xac
[   10.037759] [<ffff00000808173c>] gic_handle_irq+0xd4/0x17c


Changes since V3:
	Adjusted ...blk_end_request...() for new block status codes
	Fixed CQHCI transaction descriptor for "no DCMD" case

Changes since V2:
	Dropped patches that have been applied.
	Re-based
	Added "mmc: sdhci-pci: Add CQHCI support for Intel GLK"

Changes since V1:

	"Share mmc request array between partitions" is dependent
	on changes in "Introduce queue semantics", so added that
	and block fixes:

	Added "Fix is_waiting_last_req set incorrectly"
	Added "Fix cmd error reset failure path"
	Added "Use local var for mqrq_cur"
	Added "Introduce queue semantics"

Changes since RFC:

	Re-based on next.
	Added comment about command queue priority.
	Added some acks and reviews.


Adrian Hunter (10):
       mmc: core: Add mmc_retune_hold_now()
       mmc: core: Add members to mmc_request and mmc_data for CQE's
       mmc: host: Add CQE interface
       mmc: core: Turn off CQE before sending commands
       mmc: core: Add support for handling CQE requests
       mmc: mmc: Enable Command Queuing
       mmc: mmc: Enable CQE's
       mmc: block: Prepare CQE data
       mmc: block: Add CQE support
       mmc: sdhci-pci: Add CQHCI support for Intel GLK

Venkat Gopalakrishnan (1):
       mmc: cqhci: support for command queue enabled host

  drivers/mmc/core/block.c          |  240 +++++++-
  drivers/mmc/core/block.h          |    7 +
  drivers/mmc/core/bus.c            |    7 +
  drivers/mmc/core/core.c           |  156 ++++-
  drivers/mmc/core/host.c           |    6 +
  drivers/mmc/core/host.h           |    1 +
  drivers/mmc/core/mmc.c            |   30 +-
  drivers/mmc/core/queue.c          |  273 ++++++++-
  drivers/mmc/core/queue.h          |   42 +-
  drivers/mmc/host/Kconfig          |   14 +
  drivers/mmc/host/Makefile         |    1 +
  drivers/mmc/host/cqhci.c          | 1146 +++++++++++++++++++++++++++++++++++++
  drivers/mmc/host/cqhci.h          |  240 ++++++++
  drivers/mmc/host/sdhci-pci-core.c |  153 ++++-
  include/linux/mmc/core.h          |   18 +-
  include/linux/mmc/host.h          |   24 +
  include/trace/events/mmc.h        |   36 +-
  17 files changed, 2354 insertions(+), 40 deletions(-)
  create mode 100644 drivers/mmc/host/cqhci.c
  create mode 100644 drivers/mmc/host/cqhci.h


Regards
Adrian




--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux