Posted by
Richard Fitzgerald
2 years, 9 months ago
As determined by experimentation and asking a hardware person, the FIFO
in the Cadence IP is actually only 8 entries long, not 32. This is fixed
in patch #1.
As a bonus, patches #2 and #3 fix two other things I noticed while
debugging this.
Changes since v1:
- Rewrite commit message of patch #1
- Only reduce response_buf to 34 (32 + 2)
- Trim RX_FIFO_AVAIL to length of response_buf instead of expected
FIFO size
Richard Fitzgerald (3):
soundwire: cadence: Don't overflow the command FIFOs
soundwire: cadence: Remove wasted space in response_buf
soundwire: cadence: Drain the RX FIFO after an IO timeout
drivers/soundwire/cadence_master.c | 46 +++++++++++++++++++-----------
drivers/soundwire/cadence_master.h | 13 ++++++++-
2 files changed, 41 insertions(+), 18 deletions(-)
--
2.30.2
On 02-12-22, 16:18, Richard Fitzgerald wrote:
> As determined by experimentation and asking a hardware person, the FIFO
> in the Cadence IP is actually only 8 entries long, not 32. This is fixed
> in patch #1.
>
> As a bonus, patches #2 and #3 fix two other things I noticed while
> debugging this.
Applied, thanks
--
~Vinod
Posted by
Pierre-Louis Bossart
2 years, 9 months ago
On 12/2/22 10:18, Richard Fitzgerald wrote:
> As determined by experimentation and asking a hardware person, the FIFO
> in the Cadence IP is actually only 8 entries long, not 32. This is fixed
> in patch #1.
>
> As a bonus, patches #2 and #3 fix two other things I noticed while
> debugging this.
>
> Changes since v1:
> - Rewrite commit message of patch #1
> - Only reduce response_buf to 34 (32 + 2)
> - Trim RX_FIFO_AVAIL to length of response_buf instead of expected
> FIFO size
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
> Richard Fitzgerald (3):
> soundwire: cadence: Don't overflow the command FIFOs
> soundwire: cadence: Remove wasted space in response_buf
> soundwire: cadence: Drain the RX FIFO after an IO timeout
>
> drivers/soundwire/cadence_master.c | 46 +++++++++++++++++++-----------
> drivers/soundwire/cadence_master.h | 13 ++++++++-
> 2 files changed, 41 insertions(+), 18 deletions(-)
>