From: Guenter Roeck <linux@roeck-us.net>
To: linux-aspeed@lists.ozlabs.org
Subject: [PATCH i2c-next v6] i2c: aspeed: Handle master/slave combined irq events properly
Date: Tue, 11 Sep 2018 11:37:34 -0700 [thread overview]
Message-ID: <20180911183734.GA21976@roeck-us.net> (raw)
In-Reply-To: <20180823225731.19063-1-jae.hyun.yoo@linux.intel.com>
Hi,
On Thu, Aug 23, 2018 at 03:57:31PM -0700, Jae Hyun Yoo wrote:
> In most of cases, interrupt bits are set one by one but there are
> also a lot of other cases that Aspeed I2C IP sends multiple
> interrupt bits with combining master and slave events using a
> single interrupt call. It happens much more in multi-master
> environment than single-master. For an example, when master is
> waiting for a NORMAL_STOP interrupt in its MASTER_STOP state,
> SLAVE_MATCH and RX_DONE interrupts could come along with the
> NORMAL_STOP in case of an another master immediately sends data
> just after acquiring the bus. In this case, the NORMAL_STOP
> interrupt should be handled by master_irq and the SLAVE_MATCH and
> RX_DONE interrupts should be handled by slave_irq. This commit
> modifies irq hadling logic to handle the master/slave combined
> events properly.
>
> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
This patch causes a boot stall when booting witherspoon-bmc with
qemu v3.0, and all i2c device probes fail with error -110 (timeout).
Bisect log is attached for reference.
With the same kernel configuration (aspeed_g5_defconfig),
ast2500-evb and romulus-bmc are still able to boot.
palmetto-bmc with aspeed_g4_defconfig also appears to work.
Is this a problem with qemu ? Should I drop the qemu test
for witherspoon-bmc starting with the next kernel release ?
Thanks,
Guenter
---
# bad: [09c0888767529cdb382f34452819e42d1a66a114] Add linux-next specific files for 20180911
# good: [11da3a7f84f19c26da6f86af878298694ede0804] Linux 4.19-rc3
git bisect start 'HEAD' 'v4.19-rc3'
# bad: [a2ebc71cf97bed9b453318418e4a281434565e8b] Merge remote-tracking branch 'nfc-next/master'
git bisect bad a2ebc71cf97bed9b453318418e4a281434565e8b
# good: [6fde463b32bf4105c28c0a297a5b66aca5d6ecd4] Merge remote-tracking branch 's390/features'
git bisect good 6fde463b32bf4105c28c0a297a5b66aca5d6ecd4
# bad: [136fd6d530a3ae0dd003984f683345cfe88c01f3] Merge remote-tracking branch 'v4l-dvb/master'
git bisect bad 136fd6d530a3ae0dd003984f683345cfe88c01f3
# good: [c7ae95368af43c08f5f615b00f2f7bf2e9c45788] Merge remote-tracking branch 'v9fs/9p-next'
git bisect good c7ae95368af43c08f5f615b00f2f7bf2e9c45788
# good: [4c640c41381e47b328c6507bcf534812761256cd] Merge branch 'for-4.19/fixes' into for-next
git bisect good 4c640c41381e47b328c6507bcf534812761256cd
# good: [5bc91f70c5ecc2bc5967b98ce7fa4e55ad230d99] Merge remote-tracking branch 'hid/for-next'
git bisect good 5bc91f70c5ecc2bc5967b98ce7fa4e55ad230d99
# bad: [657b9d37406ed1625d469db0fd356e364dc75dd8] Merge remote-tracking branch 'hwmon-staging/hwmon-next'
git bisect bad 657b9d37406ed1625d469db0fd356e364dc75dd8
# bad: [fc9f90ddace238716cfcbd00d51428ee8baa12c7] Merge branch 'i2c/for-current' into i2c/for-next
git bisect bad fc9f90ddace238716cfcbd00d51428ee8baa12c7
# good: [34b7be301d4c5d85d1d093d2faf856f3d727416f] Merge branch 'i2c/for-current' into i2c/for-next
git bisect good 34b7be301d4c5d85d1d093d2faf856f3d727416f
# bad: [3e9efc3299dd78a0fa96515f0a453fab1ed4a1bd] i2c: aspeed: Handle master/slave combined irq events properly
git bisect bad 3e9efc3299dd78a0fa96515f0a453fab1ed4a1bd
# good: [fc66b39fe36acfd06f716e338de7cd8f9550fad2] i2c: mediatek: Use DMA safe buffers for i2c transactions
git bisect good fc66b39fe36acfd06f716e338de7cd8f9550fad2
# first bad commit: [3e9efc3299dd78a0fa96515f0a453fab1ed4a1bd] i2c: aspeed: Handle master/slave combined irq events properly
WARNING: multiple messages have this Message-ID (diff)
From: Guenter Roeck <linux@roeck-us.net>
To: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Cc: Brendan Higgins <brendanhiggins@google.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Joel Stanley <joel@jms.id.au>, Andrew Jeffery <andrew@aj.id.au>,
linux-i2c@vger.kernel.org, openbmc@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org,
linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org,
Jarkko Nikula <jarkko.nikula@linux.intel.com>,
James Feist <james.feist@linux.intel.com>,
Vernon Mauery <vernon.mauery@linux.intel.com>
Subject: Re: [PATCH i2c-next v6] i2c: aspeed: Handle master/slave combined irq events properly
Date: Tue, 11 Sep 2018 11:37:34 -0700 [thread overview]
Message-ID: <20180911183734.GA21976@roeck-us.net> (raw)
In-Reply-To: <20180823225731.19063-1-jae.hyun.yoo@linux.intel.com>
Hi,
On Thu, Aug 23, 2018 at 03:57:31PM -0700, Jae Hyun Yoo wrote:
> In most of cases, interrupt bits are set one by one but there are
> also a lot of other cases that Aspeed I2C IP sends multiple
> interrupt bits with combining master and slave events using a
> single interrupt call. It happens much more in multi-master
> environment than single-master. For an example, when master is
> waiting for a NORMAL_STOP interrupt in its MASTER_STOP state,
> SLAVE_MATCH and RX_DONE interrupts could come along with the
> NORMAL_STOP in case of an another master immediately sends data
> just after acquiring the bus. In this case, the NORMAL_STOP
> interrupt should be handled by master_irq and the SLAVE_MATCH and
> RX_DONE interrupts should be handled by slave_irq. This commit
> modifies irq hadling logic to handle the master/slave combined
> events properly.
>
> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
This patch causes a boot stall when booting witherspoon-bmc with
qemu v3.0, and all i2c device probes fail with error -110 (timeout).
Bisect log is attached for reference.
With the same kernel configuration (aspeed_g5_defconfig),
ast2500-evb and romulus-bmc are still able to boot.
palmetto-bmc with aspeed_g4_defconfig also appears to work.
Is this a problem with qemu ? Should I drop the qemu test
for witherspoon-bmc starting with the next kernel release ?
Thanks,
Guenter
---
# bad: [09c0888767529cdb382f34452819e42d1a66a114] Add linux-next specific files for 20180911
# good: [11da3a7f84f19c26da6f86af878298694ede0804] Linux 4.19-rc3
git bisect start 'HEAD' 'v4.19-rc3'
# bad: [a2ebc71cf97bed9b453318418e4a281434565e8b] Merge remote-tracking branch 'nfc-next/master'
git bisect bad a2ebc71cf97bed9b453318418e4a281434565e8b
# good: [6fde463b32bf4105c28c0a297a5b66aca5d6ecd4] Merge remote-tracking branch 's390/features'
git bisect good 6fde463b32bf4105c28c0a297a5b66aca5d6ecd4
# bad: [136fd6d530a3ae0dd003984f683345cfe88c01f3] Merge remote-tracking branch 'v4l-dvb/master'
git bisect bad 136fd6d530a3ae0dd003984f683345cfe88c01f3
# good: [c7ae95368af43c08f5f615b00f2f7bf2e9c45788] Merge remote-tracking branch 'v9fs/9p-next'
git bisect good c7ae95368af43c08f5f615b00f2f7bf2e9c45788
# good: [4c640c41381e47b328c6507bcf534812761256cd] Merge branch 'for-4.19/fixes' into for-next
git bisect good 4c640c41381e47b328c6507bcf534812761256cd
# good: [5bc91f70c5ecc2bc5967b98ce7fa4e55ad230d99] Merge remote-tracking branch 'hid/for-next'
git bisect good 5bc91f70c5ecc2bc5967b98ce7fa4e55ad230d99
# bad: [657b9d37406ed1625d469db0fd356e364dc75dd8] Merge remote-tracking branch 'hwmon-staging/hwmon-next'
git bisect bad 657b9d37406ed1625d469db0fd356e364dc75dd8
# bad: [fc9f90ddace238716cfcbd00d51428ee8baa12c7] Merge branch 'i2c/for-current' into i2c/for-next
git bisect bad fc9f90ddace238716cfcbd00d51428ee8baa12c7
# good: [34b7be301d4c5d85d1d093d2faf856f3d727416f] Merge branch 'i2c/for-current' into i2c/for-next
git bisect good 34b7be301d4c5d85d1d093d2faf856f3d727416f
# bad: [3e9efc3299dd78a0fa96515f0a453fab1ed4a1bd] i2c: aspeed: Handle master/slave combined irq events properly
git bisect bad 3e9efc3299dd78a0fa96515f0a453fab1ed4a1bd
# good: [fc66b39fe36acfd06f716e338de7cd8f9550fad2] i2c: mediatek: Use DMA safe buffers for i2c transactions
git bisect good fc66b39fe36acfd06f716e338de7cd8f9550fad2
# first bad commit: [3e9efc3299dd78a0fa96515f0a453fab1ed4a1bd] i2c: aspeed: Handle master/slave combined irq events properly
WARNING: multiple messages have this Message-ID (diff)
From: linux@roeck-us.net (Guenter Roeck)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH i2c-next v6] i2c: aspeed: Handle master/slave combined irq events properly
Date: Tue, 11 Sep 2018 11:37:34 -0700 [thread overview]
Message-ID: <20180911183734.GA21976@roeck-us.net> (raw)
In-Reply-To: <20180823225731.19063-1-jae.hyun.yoo@linux.intel.com>
Hi,
On Thu, Aug 23, 2018 at 03:57:31PM -0700, Jae Hyun Yoo wrote:
> In most of cases, interrupt bits are set one by one but there are
> also a lot of other cases that Aspeed I2C IP sends multiple
> interrupt bits with combining master and slave events using a
> single interrupt call. It happens much more in multi-master
> environment than single-master. For an example, when master is
> waiting for a NORMAL_STOP interrupt in its MASTER_STOP state,
> SLAVE_MATCH and RX_DONE interrupts could come along with the
> NORMAL_STOP in case of an another master immediately sends data
> just after acquiring the bus. In this case, the NORMAL_STOP
> interrupt should be handled by master_irq and the SLAVE_MATCH and
> RX_DONE interrupts should be handled by slave_irq. This commit
> modifies irq hadling logic to handle the master/slave combined
> events properly.
>
> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
> Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
This patch causes a boot stall when booting witherspoon-bmc with
qemu v3.0, and all i2c device probes fail with error -110 (timeout).
Bisect log is attached for reference.
With the same kernel configuration (aspeed_g5_defconfig),
ast2500-evb and romulus-bmc are still able to boot.
palmetto-bmc with aspeed_g4_defconfig also appears to work.
Is this a problem with qemu ? Should I drop the qemu test
for witherspoon-bmc starting with the next kernel release ?
Thanks,
Guenter
---
# bad: [09c0888767529cdb382f34452819e42d1a66a114] Add linux-next specific files for 20180911
# good: [11da3a7f84f19c26da6f86af878298694ede0804] Linux 4.19-rc3
git bisect start 'HEAD' 'v4.19-rc3'
# bad: [a2ebc71cf97bed9b453318418e4a281434565e8b] Merge remote-tracking branch 'nfc-next/master'
git bisect bad a2ebc71cf97bed9b453318418e4a281434565e8b
# good: [6fde463b32bf4105c28c0a297a5b66aca5d6ecd4] Merge remote-tracking branch 's390/features'
git bisect good 6fde463b32bf4105c28c0a297a5b66aca5d6ecd4
# bad: [136fd6d530a3ae0dd003984f683345cfe88c01f3] Merge remote-tracking branch 'v4l-dvb/master'
git bisect bad 136fd6d530a3ae0dd003984f683345cfe88c01f3
# good: [c7ae95368af43c08f5f615b00f2f7bf2e9c45788] Merge remote-tracking branch 'v9fs/9p-next'
git bisect good c7ae95368af43c08f5f615b00f2f7bf2e9c45788
# good: [4c640c41381e47b328c6507bcf534812761256cd] Merge branch 'for-4.19/fixes' into for-next
git bisect good 4c640c41381e47b328c6507bcf534812761256cd
# good: [5bc91f70c5ecc2bc5967b98ce7fa4e55ad230d99] Merge remote-tracking branch 'hid/for-next'
git bisect good 5bc91f70c5ecc2bc5967b98ce7fa4e55ad230d99
# bad: [657b9d37406ed1625d469db0fd356e364dc75dd8] Merge remote-tracking branch 'hwmon-staging/hwmon-next'
git bisect bad 657b9d37406ed1625d469db0fd356e364dc75dd8
# bad: [fc9f90ddace238716cfcbd00d51428ee8baa12c7] Merge branch 'i2c/for-current' into i2c/for-next
git bisect bad fc9f90ddace238716cfcbd00d51428ee8baa12c7
# good: [34b7be301d4c5d85d1d093d2faf856f3d727416f] Merge branch 'i2c/for-current' into i2c/for-next
git bisect good 34b7be301d4c5d85d1d093d2faf856f3d727416f
# bad: [3e9efc3299dd78a0fa96515f0a453fab1ed4a1bd] i2c: aspeed: Handle master/slave combined irq events properly
git bisect bad 3e9efc3299dd78a0fa96515f0a453fab1ed4a1bd
# good: [fc66b39fe36acfd06f716e338de7cd8f9550fad2] i2c: mediatek: Use DMA safe buffers for i2c transactions
git bisect good fc66b39fe36acfd06f716e338de7cd8f9550fad2
# first bad commit: [3e9efc3299dd78a0fa96515f0a453fab1ed4a1bd] i2c: aspeed: Handle master/slave combined irq events properly
next prev parent reply other threads:[~2018-09-11 18:37 UTC|newest]
Thread overview: 119+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-23 22:57 [PATCH i2c-next v6] i2c: aspeed: Handle master/slave combined irq events properly Jae Hyun Yoo
2018-08-23 22:57 ` Jae Hyun Yoo
2018-08-23 22:57 ` Jae Hyun Yoo
2018-08-23 22:57 ` Jae Hyun Yoo
2018-09-06 17:26 ` Brendan Higgins
2018-09-06 17:26 ` Brendan Higgins
2018-09-06 17:26 ` Brendan Higgins
2018-09-06 17:32 ` Jae Hyun Yoo
2018-09-06 17:32 ` Jae Hyun Yoo
2018-09-06 17:32 ` Jae Hyun Yoo
2018-09-06 18:08 ` Wolfram Sang
2018-09-06 18:08 ` Wolfram Sang
2018-09-06 18:08 ` Wolfram Sang
2018-09-06 18:33 ` Jae Hyun Yoo
2018-09-06 18:33 ` Jae Hyun Yoo
2018-09-06 18:33 ` Jae Hyun Yoo
2018-09-06 18:40 ` Wolfram Sang
2018-09-06 18:40 ` Wolfram Sang
2018-09-06 18:40 ` Wolfram Sang
2018-09-11 18:37 ` Guenter Roeck [this message]
2018-09-11 18:37 ` Guenter Roeck
2018-09-11 18:37 ` Guenter Roeck
2018-09-11 18:45 ` Cédric Le Goater
2018-09-11 18:45 ` Cédric Le Goater
2018-09-11 18:45 ` Cédric Le Goater
2018-09-11 18:45 ` Cédric Le Goater
2018-09-11 20:30 ` Jae Hyun Yoo
2018-09-11 20:30 ` Jae Hyun Yoo
2018-09-11 20:30 ` Jae Hyun Yoo
2018-09-11 20:41 ` Guenter Roeck
2018-09-11 20:41 ` Guenter Roeck
2018-09-11 20:41 ` Guenter Roeck
2018-09-11 22:18 ` Jae Hyun Yoo
2018-09-11 22:18 ` Jae Hyun Yoo
2018-09-11 22:18 ` Jae Hyun Yoo
2018-09-11 22:24 ` [PATCH] Revert "i2c: aspeed: Handle master/slave combined irq events properly" Jae Hyun Yoo
2018-09-11 22:24 ` Jae Hyun Yoo
2018-09-11 22:24 ` Jae Hyun Yoo
2018-09-11 22:24 ` Jae Hyun Yoo
2018-09-11 22:53 ` [PATCH i2c-next v6] i2c: aspeed: Handle master/slave combined irq events properly Joel Stanley
2018-09-11 22:53 ` Joel Stanley
2018-09-11 22:53 ` Joel Stanley
2018-09-11 23:33 ` Guenter Roeck
2018-09-11 23:33 ` Guenter Roeck
2018-09-11 23:33 ` Guenter Roeck
2018-09-11 23:58 ` Jae Hyun Yoo
2018-09-11 23:58 ` Jae Hyun Yoo
2018-09-11 23:58 ` Jae Hyun Yoo
2018-09-12 1:34 ` Guenter Roeck
2018-09-12 1:34 ` Guenter Roeck
2018-09-12 1:34 ` Guenter Roeck
2018-09-12 16:54 ` Jae Hyun Yoo
2018-09-12 16:54 ` Jae Hyun Yoo
2018-09-12 16:54 ` Jae Hyun Yoo
2018-09-12 19:58 ` Guenter Roeck
2018-09-12 19:58 ` Guenter Roeck
2018-09-12 19:58 ` Guenter Roeck
2018-09-12 20:10 ` Jae Hyun Yoo
2018-09-12 20:10 ` Jae Hyun Yoo
2018-09-12 20:10 ` Jae Hyun Yoo
2018-09-12 20:30 ` Guenter Roeck
2018-09-12 20:30 ` Guenter Roeck
2018-09-12 20:30 ` Guenter Roeck
2018-09-12 22:31 ` Jae Hyun Yoo
2018-09-12 22:31 ` Jae Hyun Yoo
2018-09-12 22:31 ` Jae Hyun Yoo
2018-09-12 23:30 ` Guenter Roeck
2018-09-12 23:30 ` Guenter Roeck
2018-09-12 23:30 ` Guenter Roeck
2018-09-13 5:45 ` Cédric Le Goater
2018-09-13 5:45 ` Cédric Le Goater
2018-09-13 5:45 ` Cédric Le Goater
2018-09-13 5:45 ` Cédric Le Goater
2018-09-13 13:33 ` Guenter Roeck
2018-09-13 13:33 ` Guenter Roeck
2018-09-13 13:33 ` Guenter Roeck
2018-09-13 15:48 ` Cédric Le Goater
2018-09-13 15:48 ` Cédric Le Goater
2018-09-13 15:48 ` Cédric Le Goater
2018-09-13 15:48 ` Cédric Le Goater
2018-09-13 15:57 ` Guenter Roeck
2018-09-13 15:57 ` Guenter Roeck
2018-09-13 15:57 ` Guenter Roeck
2018-09-13 16:35 ` Cédric Le Goater
2018-09-13 16:35 ` Cédric Le Goater
2018-09-13 16:35 ` Cédric Le Goater
2018-09-13 16:35 ` Cédric Le Goater
2018-09-14 3:48 ` Guenter Roeck
2018-09-14 3:48 ` Guenter Roeck
2018-09-14 3:48 ` Guenter Roeck
2018-09-14 3:48 ` Guenter Roeck
2018-09-14 5:38 ` Cédric Le Goater
2018-09-14 5:38 ` Cédric Le Goater
2018-09-14 5:38 ` Cédric Le Goater
2018-09-14 5:38 ` Cédric Le Goater
2018-09-14 13:23 ` Guenter Roeck
2018-09-14 13:23 ` Guenter Roeck
2018-09-14 13:23 ` Guenter Roeck
2018-09-14 16:52 ` Jae Hyun Yoo
2018-09-14 16:52 ` Jae Hyun Yoo
2018-09-14 16:52 ` Jae Hyun Yoo
2018-09-13 5:47 ` Cédric Le Goater
2018-09-13 5:47 ` Cédric Le Goater
2018-09-13 5:47 ` Cédric Le Goater
2018-09-13 5:47 ` Cédric Le Goater
2018-09-13 16:31 ` Jae Hyun Yoo
2018-09-13 16:31 ` Jae Hyun Yoo
2018-09-13 16:31 ` Jae Hyun Yoo
2018-09-13 16:51 ` Cédric Le Goater
2018-09-13 16:51 ` Cédric Le Goater
2018-09-13 16:51 ` Cédric Le Goater
2018-09-13 16:51 ` Cédric Le Goater
2018-09-13 17:01 ` Jae Hyun Yoo
2018-09-13 17:01 ` Jae Hyun Yoo
2018-09-13 17:01 ` Jae Hyun Yoo
2018-09-12 5:57 ` Cédric Le Goater
2018-09-12 5:57 ` Cédric Le Goater
2018-09-12 5:57 ` Cédric Le Goater
2018-09-12 5:57 ` Cédric Le Goater
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=20180911183734.GA21976@roeck-us.net \
--to=linux@roeck-us.net \
--cc=linux-aspeed@lists.ozlabs.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.