From: kernel@martin.sperl.org To: Mark Brown <broonie@kernel.org>, Eric Anholt <eric@anholt.net>, Stefan Wahren <stefan.wahren@i2se.com>, Hubert Denkmair <h.denkmair@intence.de>, linux-spi@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org Cc: Martin Sperl <kernel@martin.sperl.org> Subject: [PATCH V2 0/9] spi: bcm2835aux: bug fixes and improvements Date: Sun, 24 Mar 2019 17:49:53 +0000 [thread overview] Message-ID: <20190324175002.28969-1-kernel@martin.sperl.org> (raw) From: Martin Sperl <kernel@martin.sperl.org> Set of patches improving the spi-bcm2835aux driver and fixing a data read corruption bug. The main motivation is a rare data corruption fix that is mostly observed in polling mode first reported by Hubert Denkmair. So this patchset first implements a means to control the parameters of when polling mode is used via module parameters and exports the corresponding statistics. As stated in original patch the driver does not support native CS. But when cs-gpios is not configured in the dt (so a buggy dt) it is still working with a lot of limitations, but the driver does not report this fact. So this patchset adds reporting and allows for a single native CS (with limited functionality) to continue working with a buggy DT. One question here remains: do we need to legacy support DTs that are not following specs in the first place? Then there is the real fix for the data-corruption which is split into 3 parts: some code cleanup with code reuse, removing "dangerous" fifo read (possibly introducing fifo data corruption) and safe fifo read. Also we remove some dead code. --- Changelog: V1 -> V2: reordering commits as per request of Stefan Wahren to help backporting the "essential" bugfixes go in first remove the dependency on a different patchset focused on making cs_change delay configurable Martin Sperl (9): spi: bcm2835aux: unifying code between polling and interrupt driven code spi: bcm2835aux: remove dangerous uncontrolled read of fifo spi: bcm2835aux: use BCM2835_AUX_SPI_STAT_RX_LVL spi: bcm2835aux: remove dead code spi: bcm2835aux: fix driver to not allow 65535 (=-1) cs-gpios spi: bcm2835aux: warn in dmesg that native cs is not really supported spi: bcm2835aux: setup gpio-cs to output and correct level during setup spi: bcm2835aux: add driver stats to debugfs spi: bcm2835aux: make the polling duration limits configurable drivers/spi/spi-bcm2835aux.c | 207 +++++++++++++++++++++++++++++++------------ 1 file changed, 150 insertions(+), 57 deletions(-) -- 2.11.0
WARNING: multiple messages have this Message-ID (diff)
From: kernel@martin.sperl.org To: Mark Brown <broonie@kernel.org>, Eric Anholt <eric@anholt.net>, Stefan Wahren <stefan.wahren@i2se.com>, Hubert Denkmair <h.denkmair@intence.de>, linux-spi@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org Cc: Martin Sperl <kernel@martin.sperl.org> Subject: [PATCH V2 0/9] spi: bcm2835aux: bug fixes and improvements Date: Sun, 24 Mar 2019 17:49:53 +0000 [thread overview] Message-ID: <20190324175002.28969-1-kernel@martin.sperl.org> (raw) From: Martin Sperl <kernel@martin.sperl.org> Set of patches improving the spi-bcm2835aux driver and fixing a data read corruption bug. The main motivation is a rare data corruption fix that is mostly observed in polling mode first reported by Hubert Denkmair. So this patchset first implements a means to control the parameters of when polling mode is used via module parameters and exports the corresponding statistics. As stated in original patch the driver does not support native CS. But when cs-gpios is not configured in the dt (so a buggy dt) it is still working with a lot of limitations, but the driver does not report this fact. So this patchset adds reporting and allows for a single native CS (with limited functionality) to continue working with a buggy DT. One question here remains: do we need to legacy support DTs that are not following specs in the first place? Then there is the real fix for the data-corruption which is split into 3 parts: some code cleanup with code reuse, removing "dangerous" fifo read (possibly introducing fifo data corruption) and safe fifo read. Also we remove some dead code. --- Changelog: V1 -> V2: reordering commits as per request of Stefan Wahren to help backporting the "essential" bugfixes go in first remove the dependency on a different patchset focused on making cs_change delay configurable Martin Sperl (9): spi: bcm2835aux: unifying code between polling and interrupt driven code spi: bcm2835aux: remove dangerous uncontrolled read of fifo spi: bcm2835aux: use BCM2835_AUX_SPI_STAT_RX_LVL spi: bcm2835aux: remove dead code spi: bcm2835aux: fix driver to not allow 65535 (=-1) cs-gpios spi: bcm2835aux: warn in dmesg that native cs is not really supported spi: bcm2835aux: setup gpio-cs to output and correct level during setup spi: bcm2835aux: add driver stats to debugfs spi: bcm2835aux: make the polling duration limits configurable drivers/spi/spi-bcm2835aux.c | 207 +++++++++++++++++++++++++++++++------------ 1 file changed, 150 insertions(+), 57 deletions(-) -- 2.11.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2019-03-24 17:49 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-03-24 17:49 kernel [this message] 2019-03-24 17:49 ` [PATCH V2 0/9] spi: bcm2835aux: bug fixes and improvements kernel 2019-03-24 17:49 ` [PATCH V2 3/9] spi: bcm2835aux: use BCM2835_AUX_SPI_STAT_RX_LVL kernel 2019-03-24 17:49 ` kernel 2019-03-25 9:52 ` Stefan Wahren 2019-03-25 9:52 ` Stefan Wahren 2019-03-24 17:49 ` [PATCH V2 6/9] spi: bcm2835aux: warn in dmesg that native cs is not really supported kernel 2019-03-24 17:49 ` kernel 2019-03-25 10:28 ` Stefan Wahren 2019-03-25 10:28 ` Stefan Wahren [not found] ` <20190324175002.28969-1-kernel-TqfNSX0MhmxHKSADF0wUEw@public.gmane.org> 2019-03-24 17:49 ` [PATCH V2 1/9] spi: bcm2835aux: unifying code between polling and interrupt driven code kernel-TqfNSX0MhmxHKSADF0wUEw 2019-03-24 17:49 ` kernel 2019-03-24 17:49 ` [PATCH V2 2/9] spi: bcm2835aux: remove dangerous uncontrolled read of fifo kernel-TqfNSX0MhmxHKSADF0wUEw 2019-03-24 17:49 ` kernel 2019-03-24 17:49 ` [PATCH V2 4/9] spi: bcm2835aux: remove dead code kernel-TqfNSX0MhmxHKSADF0wUEw 2019-03-24 17:49 ` kernel 2019-03-24 17:49 ` [PATCH V2 5/9] spi: bcm2835aux: fix driver to not allow 65535 (=-1) cs-gpios kernel-TqfNSX0MhmxHKSADF0wUEw 2019-03-24 17:49 ` kernel 2019-03-24 17:50 ` [PATCH V2 7/9] spi: bcm2835aux: setup gpio-cs to output and correct level during setup kernel-TqfNSX0MhmxHKSADF0wUEw 2019-03-24 17:50 ` kernel 2019-03-24 17:50 ` [PATCH V2 8/9] spi: bcm2835aux: add driver stats to debugfs kernel-TqfNSX0MhmxHKSADF0wUEw 2019-03-24 17:50 ` kernel 2019-03-25 9:28 ` Stefan Wahren 2019-03-25 9:28 ` Stefan Wahren 2019-03-25 9:52 ` kernel 2019-03-25 10:06 ` Stefan Wahren 2019-03-25 10:11 ` kernel 2019-03-25 10:45 ` Stefan Wahren 2019-03-24 17:50 ` [PATCH V2 9/9] spi: bcm2835aux: make the polling duration limits configurable kernel-TqfNSX0MhmxHKSADF0wUEw 2019-03-24 17:50 ` kernel 2019-03-25 9:44 ` Stefan Wahren 2019-03-25 9:44 ` Stefan Wahren 2019-03-25 9:49 ` kernel 2019-03-25 9:49 ` kernel 2019-03-25 9:59 ` Stefan Wahren 2019-03-25 9:59 ` Stefan Wahren
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=20190324175002.28969-1-kernel@martin.sperl.org \ --to=kernel@martin.sperl.org \ --cc=broonie@kernel.org \ --cc=eric@anholt.net \ --cc=h.denkmair@intence.de \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-rpi-kernel@lists.infradead.org \ --cc=linux-spi@vger.kernel.org \ --cc=stefan.wahren@i2se.com \ /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: linkBe 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.