Linux Sound subsystem development
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
To: Richard Fitzgerald <rf@opensource.cirrus.com>,
	Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: broonie@kernel.org, yung-chuan.liao@linux.intel.com,
	vkoul@kernel.org, lgirdwood@gmail.com,
	peter.ujfalusi@linux.intel.com, shumingf@realtek.com,
	linux-sound@vger.kernel.org, patches@opensource.cirrus.com
Subject: Re: [PATCH 7/7] ASoC: SDCA: Add lock to serialise the Function initialisation
Date: Sat, 20 Dec 2025 12:21:16 +0100	[thread overview]
Message-ID: <0acbd48b-77b1-4857-a50e-02a7dd46c3ac@linux.dev> (raw)
In-Reply-To: <b884881f-7329-4d9c-9886-821468ea1be0@opensource.cirrus.com>

On 12/11/25 11:26, Richard Fitzgerald wrote:
> On 10/12/2025 3:27 pm, Charles Keepax wrote:
>> On Tue, Dec 09, 2025 at 12:20:41PM +0000, Pierre-Louis Bossart wrote:
>>> On 11/25/25 15:21, Charles Keepax wrote:
>>>> To avoid issues on some devices serialise the boot of each SDCA Function
>>>> from the others.
>>>
>>> In theory all SDCA functions are independent, can you elaborate
>>> on what the problems might be?
>>
>> How do I put this... hardware and firmware teams are really good
>> at always considering all the implications of the spec.
>>
>>> I can certainly see that it's not efficient to try and
>>> download multiple firmware blobs over the same limited command
>>> or BPT/BRA channels, but I am not sure I see the dependencies
>>> between functions?
>>
>> Generally the dependencies tend to come in from the implementation
>> not the specification. Whilst logically the functions are all
>> entirely independent, that is not necessarily how the hardware
>> will be implemented. I would guess it will be quite common for
>> the functions to be implemented on a shared back end.
>>
> 
> IOW: SDCA assumes all functions are independent, but it is not
> always feasible to implement real devices that way. And SDCA does
> not tell you whether functions might have dependencies. So the only
> safe option is to be pessimistic and assume there might be dependencies.

Fair enough, but then how would we model these dependencies if there are independent child drivers, one per function? How would we know FunctionA needs to be probed first and do things so that FunctionB becomes operational. Or that FunctionA needs to remain powered so that FunctionB is usable.
I am not pushing back on the existence of such dependencies, just stating the obvious that the current model with child devices/drivers does not provide any hooks to model such real-world dependencies. And it's not even clear if any ACPI information provides such information...

      reply	other threads:[~2025-12-20 11:48 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-25 15:21 [PATCH 0/7] SDCA jack and system suspend fixups Charles Keepax
2025-11-25 15:21 ` [PATCH 1/7] ASoC: SDCA: Factor out jack handling into new c file Charles Keepax
2025-12-09 12:00   ` Pierre-Louis Bossart
2025-12-10 16:31     ` Charles Keepax
2025-12-20 11:22       ` Pierre-Louis Bossart
2025-11-25 15:21 ` [PATCH 2/7] ASoC: SDCA: Add ability to connect SDCA jacks to ASoC jacks Charles Keepax
2025-11-25 15:21 ` [PATCH 3/7] ASoC: SDCA: Add ASoC jack hookup in class driver Charles Keepax
2025-11-25 15:21 ` [PATCH 4/7] ASoC: SDCA: Add SDCA IRQ enable/disable helpers Charles Keepax
2025-12-09 12:03   ` Pierre-Louis Bossart
2025-11-25 15:21 ` [PATCH 5/7] ASoC: SDCA: Add basic system suspend support Charles Keepax
2025-12-09 12:11   ` Pierre-Louis Bossart
2025-12-10 14:43     ` Charles Keepax
2025-12-10 16:48       ` Charles Keepax
2025-12-11 10:33       ` Vinod Koul
2025-12-11 11:28         ` Charles Keepax
2025-12-20 11:31       ` Pierre-Louis Bossart
2025-11-25 15:21 ` [PATCH 6/7] ASoC: SDCA: Device boot into the system suspend process Charles Keepax
2025-12-09 12:18   ` Pierre-Louis Bossart
2025-12-11 11:59     ` Charles Keepax
2025-12-20 11:36       ` Pierre-Louis Bossart
2025-11-25 15:21 ` [PATCH 7/7] ASoC: SDCA: Add lock to serialise the Function initialisation Charles Keepax
2025-12-09 12:20   ` Pierre-Louis Bossart
2025-12-10 15:27     ` Charles Keepax
2025-12-11 10:26       ` Richard Fitzgerald
2025-12-20 11:21         ` Pierre-Louis Bossart [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0acbd48b-77b1-4857-a50e-02a7dd46c3ac@linux.dev \
    --to=pierre-louis.bossart@linux.dev \
    --cc=broonie@kernel.org \
    --cc=ckeepax@opensource.cirrus.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-sound@vger.kernel.org \
    --cc=patches@opensource.cirrus.com \
    --cc=peter.ujfalusi@linux.intel.com \
    --cc=rf@opensource.cirrus.com \
    --cc=shumingf@realtek.com \
    --cc=vkoul@kernel.org \
    --cc=yung-chuan.liao@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox