soundwire: cadence_master: add kernel parameter to override interrupt mask
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tue, 6 Aug 2019 00:55:21 +0000 (19:55 -0500)
committerVinod Koul <vkoul@kernel.org>
Wed, 21 Aug 2019 09:06:18 +0000 (14:36 +0530)
The code has a set of defaults which may not be relevant in all cases,
add kernel parameter as a helper - mostly for early board bring-up.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20190806005522.22642-17-pierre-louis.bossart@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/cadence_master.c

index 92d1387..65f27fc 100644 (file)
 #include "bus.h"
 #include "cadence_master.h"
 
+static int interrupt_mask;
+module_param_named(cnds_mcp_int_mask, interrupt_mask, int, 0444);
+MODULE_PARM_DESC(cdns_mcp_int_mask, "Cadence MCP IntMask");
+
 #define CDNS_MCP_CONFIG                                0x0
 
 #define CDNS_MCP_CONFIG_MCMD_RETRY             GENMASK(27, 24)
@@ -668,6 +672,9 @@ static int _cdns_enable_interrupt(struct sdw_cdns *cdns)
         */
        mask |= CDNS_MCP_INT_IRQ;
 
+       if (interrupt_mask) /* parameter override */
+               mask = interrupt_mask;
+
        cdns_writel(cdns, CDNS_MCP_INTMASK, mask);
 
        return 0;