alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org, Keyon Jie <yang.jie@linux.intel.com>
Subject: Re: Why open-coding in sof_hda_bus_init()?
Date: Fri, 31 May 2019 15:59:17 -0500	[thread overview]
Message-ID: <13dce83f-a092-6d9f-4676-8e3fc46bdc23@linux.intel.com> (raw)
In-Reply-To: <s5hmuj2jr9a.wl-tiwai@suse.de>


>> we need everything that was removed in your proposal :-)
>>
>> -	memset(bus, 0, sizeof(*bus));
>> -	bus->dev = dev;
>> -
>> -	bus->io_ops = &io_ops;
>> -	INIT_LIST_HEAD(&bus->stream_list);
>> -
>> -	bus->irq = -1;
>> -	bus->ext_ops = ext_ops;
>> -
>> -	/*
>> -	 * There is only one HDA bus atm. keep the index as 0.
>> -	 * Need to fix when there are more than one HDA bus.
>> -	 */
>> -	bus->idx = 0;
>> -
>> -	spin_lock_init(&bus->reg_lock);
>>
>> This is the smallest set of initialization needed when you don't need
>> hdmi/hdaudio codec support.
> 
> I don't understand it...  Why SOF core needs to initialize the content
> of HD-audio bus object even if you won't use it?

we do use it left and right, but we only use the 'controller/DMA' parts 
of that structure. we have zero use for CORB/RIRB and codec-specific 
stuff when I2S and DMIC are the only connections to 3rd party chips

> 
> IOW, what's the merit of having hda-bus.c with the copy of
> snd-hda-core code?  As far as I see, both hda.c and hda-bus.c are
> linked into the same snd-sof-intel-hda-common module.  And, the former
> has the direct calls of HD-audio core API (with
> CONFIG_SND_SOC_SOF_HDA); i.e. snd-sof-intel-hda-common already depends
> on snd-hda-core if CONFIG_SND_SOC_SOF_HDA is on, no matter how you
> code hda-bus.c.

I agree we could implement hda-bus in a cleaner way - but it's a very 
small file. A larger core repartitioning would take quite a bit of time, 
and in the mean time we already have to sort out all the deltas between 
legacy driver and hdac library.

Anyways, that's it for me this week, enjoy your vacation!

  reply	other threads:[~2019-05-31 20:59 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-31 17:11 Why open-coding in sof_hda_bus_init()? Takashi Iwai
2019-05-31 17:43 ` Pierre-Louis Bossart
2019-05-31 18:22   ` Takashi Iwai
2019-05-31 18:31     ` Pierre-Louis Bossart
2019-05-31 19:06       ` Takashi Iwai
2019-05-31 19:44         ` Takashi Iwai
2019-05-31 20:23           ` Pierre-Louis Bossart
2019-05-31 20:36             ` Takashi Iwai
2019-05-31 20:59               ` Pierre-Louis Bossart [this message]
2019-05-31 21:20                 ` Takashi Iwai
2019-06-03  5:58                   ` Keyon Jie

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=13dce83f-a092-6d9f-4676-8e3fc46bdc23@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    --cc=yang.jie@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;
as well as URLs for NNTP newsgroup(s).