All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Stuebner <heiko@sntech.de>
To: Ulf Hansson <ulf.hansson@linaro.org>,
	Klaus Goger <klaus.goger@theobroma-systems.com>
Cc: Christoph Muellner <christoph.muellner@theobroma-systems.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Shawn Lin <shawn.lin@rock-chips.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Philipp Tomsich <philipp.tomsich@theobroma-systems.com>,
	Michal Simek <michal.simek@xilinx.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Douglas Anderson <dianders@chromium.org>,
	Jeffy Chen <jeffy.chen@rock-chips.com>,
	Lin Huang <hl@rock-chips.com>, Randy Li <ayaka@soulik.info>,
	Tony Xie <tony.xie@rock-chips.com>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	DTML <devicetree@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.or>
Subject: Re: [PATCH v3 3/3] arm64: dts: rockchip: Disable DCMDs on RK3399's eMMC controller.
Date: Wed, 27 Mar 2019 13:21:31 +0100	[thread overview]
Message-ID: <1591627.dSi6EvuFCI@phil> (raw)
In-Reply-To: <CAPDyKFpPh7TZqRfUX7x52aUeY69-i3NSo5XtuwTjN8yHqdAVDw@mail.gmail.com>

Am Montag, 25. März 2019, 14:27:26 CET schrieb Ulf Hansson:
> On Fri, 22 Mar 2019 at 12:39, Christoph Muellner
> <christoph.muellner@theobroma-systems.com> wrote:
> >
> > 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: Christoph Muellner <christoph.muellner@theobroma-systems.com>
> > Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> 
> FYI, I leave this for arm-soc to pick up.

I've duplicated your fixes+stable tags and applied for 5.2

Thanks
Heiko

WARNING: multiple messages have this Message-ID (diff)
From: Heiko Stuebner <heiko@sntech.de>
To: Ulf Hansson <ulf.hansson@linaro.org>,
	Klaus Goger <klaus.goger@theobroma-systems.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	DTML <devicetree@vger.kernel.org>,
	Douglas Anderson <dianders@chromium.org>,
	Lin Huang <hl@rock-chips.com>, Tony Xie <tony.xie@rock-chips.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Shawn Lin <shawn.lin@rock-chips.com>,
	Jeffy Chen <jeffy.chen@rock-chips.com>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Michal Simek <michal.simek@xilinx.com>,
	"open list:ARM/Rockchip SoC..."
	<linux-rockchip@lists.infradead.org>,
	Rob Herring <robh+dt@kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Randy Li <ayaka@soulik.info>,
	Philipp Tomsich <philipp.tomsich@theobroma-systems.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Christoph Muellner <christoph.muellner@theobroma-systems.com>
Subject: Re: [PATCH v3 3/3] arm64: dts: rockchip: Disable DCMDs on RK3399's eMMC controller.
Date: Wed, 27 Mar 2019 13:21:31 +0100	[thread overview]
Message-ID: <1591627.dSi6EvuFCI@phil> (raw)
In-Reply-To: <CAPDyKFpPh7TZqRfUX7x52aUeY69-i3NSo5XtuwTjN8yHqdAVDw@mail.gmail.com>

Am Montag, 25. März 2019, 14:27:26 CET schrieb Ulf Hansson:
> On Fri, 22 Mar 2019 at 12:39, Christoph Muellner
> <christoph.muellner@theobroma-systems.com> wrote:
> >
> > 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: Christoph Muellner <christoph.muellner@theobroma-systems.com>
> > Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> 
> FYI, I leave this for arm-soc to pick up.

I've duplicated your fixes+stable tags and applied for 5.2

Thanks
Heiko



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Heiko Stuebner <heiko@sntech.de>
To: Ulf Hansson <ulf.hansson@linaro.org>,
	Klaus Goger <klaus.goger@theobroma-systems.com>
Cc: Christoph Muellner <christoph.muellner@theobroma-systems.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Shawn Lin <shawn.lin@rock-chips.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Philipp Tomsich <philipp.tomsich@theobroma-systems.com>,
	Michal Simek <michal.simek@xilinx.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Douglas Anderson <dianders@chromium.org>,
	Jeffy Chen <jeffy.chen@rock-chips.com>,
	Lin Huang <hl@rock-chips.com>, Randy Li <ayaka@soulik.info>,
	Tony Xie <tony.xie@rock-chips.com>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	DTML <devicetree@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	"open list:ARM/Rockchip SoC..."
	<linux-rockchip@lists.infradead.org>
Subject: Re: [PATCH v3 3/3] arm64: dts: rockchip: Disable DCMDs on RK3399's eMMC controller.
Date: Wed, 27 Mar 2019 13:21:31 +0100	[thread overview]
Message-ID: <1591627.dSi6EvuFCI@phil> (raw)
In-Reply-To: <CAPDyKFpPh7TZqRfUX7x52aUeY69-i3NSo5XtuwTjN8yHqdAVDw@mail.gmail.com>

Am Montag, 25. März 2019, 14:27:26 CET schrieb Ulf Hansson:
> On Fri, 22 Mar 2019 at 12:39, Christoph Muellner
> <christoph.muellner@theobroma-systems.com> wrote:
> >
> > 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: Christoph Muellner <christoph.muellner@theobroma-systems.com>
> > Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> 
> FYI, I leave this for arm-soc to pick up.

I've duplicated your fixes+stable tags and applied for 5.2

Thanks
Heiko



  reply	other threads:[~2019-03-27 12:21 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-22 11:38 [PATCH v3 1/3] dt-bindings: mmc: Add disable-cqe-dcmd property Christoph Muellner
2019-03-22 11:38 ` Christoph Muellner
2019-03-22 11:38 ` Christoph Muellner
2019-03-22 11:38 ` [PATCH v3 2/3] mmc: sdhci-of-arasan: Add DTS property to disable DCMDs Christoph Muellner
2019-03-22 11:38   ` Christoph Muellner
2019-03-22 11:38   ` Christoph Muellner
2019-03-25 13:27   ` Ulf Hansson
2019-03-25 13:27     ` Ulf Hansson
2019-03-25 13:27     ` Ulf Hansson
2019-03-25 13:39     ` Christoph Müllner
2019-03-25 13:39       ` Christoph Müllner
2019-03-25 13:39       ` Christoph Müllner
2019-03-25 13:54       ` Ulf Hansson
2019-03-25 13:54         ` Ulf Hansson
2019-03-25 13:54         ` Ulf Hansson
     [not found] ` <20190322113808.16858-1-christoph.muellner-SN7IsUiht6C/RdPyistoZJqQE7yCjDx5@public.gmane.org>
2019-03-22 11:38   ` [PATCH v3 3/3] arm64: dts: rockchip: Disable DCMDs on RK3399's eMMC controller Christoph Muellner
2019-03-22 11:38     ` Christoph Muellner
2019-03-22 11:38     ` Christoph Muellner
2019-03-25 13:27     ` Ulf Hansson
2019-03-25 13:27       ` Ulf Hansson
2019-03-25 13:27       ` Ulf Hansson
2019-03-27 12:21       ` Heiko Stuebner [this message]
2019-03-27 12:21         ` Heiko Stuebner
2019-03-27 12:21         ` Heiko Stuebner
2019-03-25 13:27 ` [PATCH v3 1/3] dt-bindings: mmc: Add disable-cqe-dcmd property Ulf Hansson
2019-03-25 13:27   ` Ulf Hansson
2019-03-25 13:27   ` Ulf Hansson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1591627.dSi6EvuFCI@phil \
    --to=heiko@sntech.de \
    --cc=adrian.hunter@intel.com \
    --cc=ayaka@soulik.info \
    --cc=christoph.muellner@theobroma-systems.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=hl@rock-chips.com \
    --cc=jeffy.chen@rock-chips.com \
    --cc=klaus.goger@theobroma-systems.com \
    --cc=linux-arm-kernel@lists.infradead.or \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=matthias.bgg@gmail.com \
    --cc=michal.simek@xilinx.com \
    --cc=philipp.tomsich@theobroma-systems.com \
    --cc=robh+dt@kernel.org \
    --cc=shawn.lin@rock-chips.com \
    --cc=tony.xie@rock-chips.com \
    --cc=ulf.hansson@linaro.org \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.