Patch "soundwire: cadence: Don't overflow the command FIFOs" has been added to the 5.15-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    soundwire: cadence: Don't overflow the command FIFOs

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     soundwire-cadence-don-t-overflow-the-command-fifos.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit fe6ab53302270fbba9a3fc27d8d8362d3a92c146
Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>
Date:   Fri Dec 2 16:18:10 2022 +0000

    soundwire: cadence: Don't overflow the command FIFOs
    
    [ Upstream commit 7cbfee2e2e40d2be54196362a845a3ea0a3f877d ]
    
    The command FIFOs in the Cadence IP can be configured during design
    up to 32 entries, and the code in cadence_master.c was assuming the
    full 32-entry FIFO. But all current Intel implementations use an 8-entry
    FIFO.
    
    Up to now the longest message used was 6 entries so this wasn't
    causing any problem. But future Cirrus Logic codecs have downloadable
    firmware or tuning blobs. It is more efficient for the codec driver to
    issue long transfers that can take advantage of any queuing in the
    Soundwire controller and avoid the overhead of repeatedly writing the
    page registers.
    
    Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
    Fixes: 2f52a5177caa ("soundwire: cdns: Add cadence library")
    Link: https://lore.kernel.org/r/20221202161812.4186897-2-rf@xxxxxxxxxxxxxxxxxxxxx
    Signed-off-by: Vinod Koul <vkoul@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c
index 18d2f9b3e2010..0339e6df6eb78 100644
--- a/drivers/soundwire/cadence_master.c
+++ b/drivers/soundwire/cadence_master.c
@@ -127,7 +127,8 @@ MODULE_PARM_DESC(cdns_mcp_int_mask, "Cadence MCP IntMask");
 
 #define CDNS_MCP_CMD_BASE			0x80
 #define CDNS_MCP_RESP_BASE			0x80
-#define CDNS_MCP_CMD_LEN			0x20
+/* FIFO can hold 8 commands */
+#define CDNS_MCP_CMD_LEN			8
 #define CDNS_MCP_CMD_WORD_LEN			0x4
 
 #define CDNS_MCP_CMD_SSP_TAG			BIT(31)



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux