[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e79dae39-faec-b2a4-82e6-e11325904f3e@linux.intel.com>
Date: Tue, 14 Feb 2023 07:21:33 -0600
From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To: "Mukunda,Vijendar" <vijendar.mukunda@....com>, vkoul@...nel.org
Cc: amadeuszx.slawinski@...ux.intel.com, Mario.Limonciello@....com,
Sunil-kumar.Dommati@....com, Basavaraj.Hiregoudar@....com,
Mastan.Katragadda@....com, Arungopal.kondaveeti@....com,
Bard Liao <yung-chuan.liao@...ux.intel.com>,
Sanyog Kale <sanyog.r.kale@...el.com>,
open list <linux-kernel@...r.kernel.org>,
"moderated list:SOUNDWIRE SUBSYSTEM" <alsa-devel@...a-project.org>
Subject: Re: [PATCH V2 2/8] soundwire: amd: Add support for AMD Manager driver
>>> +static void amd_sdw_probe_work(struct work_struct *work)
>>> +{
>>> + struct amd_sdw_manager *amd_manager = container_of(work, struct amd_sdw_manager,
>>> + probe_work);
>>> + struct sdw_master_prop *prop;
>>> + int ret;
>>> +
>>> + prop = &amd_manager->bus.prop;
>>> + if (!prop->hw_disabled) {
>>> + amd_enable_sdw_pads(amd_manager);
>>> + ret = amd_init_sdw_manager(amd_manager);
>>> + if (ret)
>>> + return;
>>> + amd_enable_sdw_interrupts(amd_manager);
>>> + ret = amd_enable_sdw_manager(amd_manager);
>>> + if (ret)
>>> + return;
>>> + amd_sdw_set_frameshape(amd_manager);
>>> + }
>>> +}
>> There should be an explanation as to why you need a workqueue to
>> complete the probe.
> We want to separate the manager probe sequence and start up sequence.
> we will add the comment.
Do you need to split in two? For Intel, on some platforms we had a clear
power dependency, we had to wait until parts of the DSP were powered
before accessing SHIM registers, so we called the startup() when those
dependencies were resolved.
I am not sure you can count on the probe_work to enforce any kind of
delay, worst case the work function could be scheduled immediately.
Powered by blists - more mailing lists