lkml.org 
[lkml]   [2019]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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@linux.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

    \
     
     \ /
      Last update: 2019-08-02 19:33    [W:4.424 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site