On 11-03-20, 13:41, Pierre-Louis Bossart wrote:
@@ -225,12 +225,30 @@ static int cdns_clear_bit(struct sdw_cdns *cdns, int offset, u32 value)
return 0;
timeout--;
- udelay(50);
+ usleep_range(50, 100);
this seems okay change, but unrelated to this patch
+int sdw_cdns_clock_stop(struct sdw_cdns *cdns, bool block_wake)
+{
+ bool slave_present = false;
+ struct sdw_slave *slave;
+ u32 status;
+ int ret;
+
+ /* Check suspend status */
+ status = cdns_readl(cdns, CDNS_MCP_STAT);
+ if (status & CDNS_MCP_STAT_CLK_STOP) {
+ dev_dbg(cdns->dev, "Clock is already stopped\n");
+ return 1;
return of 1..? Does that indicate success/fail..?