[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190802173115.GE12733@vkoul-mobl.Dlink>
Date: Fri, 2 Aug 2019 23:01:15 +0530
From: Vinod Koul <vkoul@...nel.org>
To: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
Cc: alsa-devel@...a-project.org, linux-kernel@...r.kernel.org,
tiwai@...e.de, broonie@...nel.org, gregkh@...uxfoundation.org,
jank@...ence.com, srinivas.kandagatla@...aro.org,
slawomir.blauciak@...el.com, Sanyog Kale <sanyog.r.kale@...el.com>
Subject: Re: [RFC PATCH 35/40] soundwire: intel: export helper to exit reset
On 25-07-19, 18:40, Pierre-Louis Bossart wrote:
Here as well
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
> ---
> drivers/soundwire/cadence_master.c | 9 +++++++--
> drivers/soundwire/cadence_master.h | 1 +
> drivers/soundwire/intel.c | 4 ++++
> 3 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c
> index 4a189e487830..f486fe15fb46 100644
> --- a/drivers/soundwire/cadence_master.c
> +++ b/drivers/soundwire/cadence_master.c
> @@ -780,7 +780,11 @@ EXPORT_SYMBOL(sdw_cdns_thread);
> * init routines
> */
>
> -static int do_reset(struct sdw_cdns *cdns)
> +/**
> + * sdw_cdns_exit_reset() - Program reset parameters and start bus operations
> + * @cdns: Cadence instance
> + */
> +int sdw_cdns_exit_reset(struct sdw_cdns *cdns)
> {
> int ret;
>
> @@ -804,6 +808,7 @@ static int do_reset(struct sdw_cdns *cdns)
>
> return ret;
> }
> +EXPORT_SYMBOL(sdw_cdns_exit_reset);
>
> /**
> * sdw_cdns_enable_interrupt() - Enable SDW interrupts and update config
> @@ -839,7 +844,7 @@ int sdw_cdns_enable_interrupt(struct sdw_cdns *cdns)
>
> cdns_writel(cdns, CDNS_MCP_INTMASK, mask);
>
> - return do_reset(cdns);
> + return 0;
> }
> EXPORT_SYMBOL(sdw_cdns_enable_interrupt);
>
> diff --git a/drivers/soundwire/cadence_master.h b/drivers/soundwire/cadence_master.h
> index de97bc22acb7..2b551f9226f3 100644
> --- a/drivers/soundwire/cadence_master.h
> +++ b/drivers/soundwire/cadence_master.h
> @@ -161,6 +161,7 @@ irqreturn_t sdw_cdns_thread(int irq, void *dev_id);
> int sdw_cdns_init(struct sdw_cdns *cdns);
> int sdw_cdns_pdi_init(struct sdw_cdns *cdns,
> struct sdw_cdns_stream_config config);
> +int sdw_cdns_exit_reset(struct sdw_cdns *cdns);
> int sdw_cdns_enable_interrupt(struct sdw_cdns *cdns);
>
> void sdw_cdns_debugfs_init(struct sdw_cdns *cdns, struct dentry *root);
> diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c
> index a976480d6f36..9ebe38e4d979 100644
> --- a/drivers/soundwire/intel.c
> +++ b/drivers/soundwire/intel.c
> @@ -1112,6 +1112,8 @@ static int intel_probe(struct platform_device *pdev)
>
> ret = sdw_cdns_enable_interrupt(&sdw->cdns);
>
> + ret = sdw_cdns_exit_reset(&sdw->cdns);
> +
> /* Register DAIs */
> ret = intel_register_dai(sdw);
> if (ret) {
> @@ -1199,6 +1201,8 @@ static int intel_resume(struct device *dev)
>
> sdw_cdns_enable_interrupt(&sdw->cdns);
>
> + ret = sdw_cdns_exit_reset(&sdw->cdns);
> +
> return ret;
> }
>
> --
> 2.20.1
--
~Vinod
Powered by blists - more mailing lists