From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:40549) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1REg5k-0005cs-A2 for qemu-devel@nongnu.org; Fri, 14 Oct 2011 07:38:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1REg5j-0005ki-7T for qemu-devel@nongnu.org; Fri, 14 Oct 2011 07:38:20 -0400 Received: from mx1.redhat.com ([209.132.183.28]:1025) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1REg5i-0005kc-TA for qemu-devel@nongnu.org; Fri, 14 Oct 2011 07:38:19 -0400 Message-ID: <4E981F37.8040805@redhat.com> Date: Fri, 14 Oct 2011 13:38:31 +0200 From: Gerd Hoffmann MIME-Version: 1.0 References: <1317744432-1874-1-git-send-email-marcandre.lureau@redhat.com> <1317744432-1874-3-git-send-email-marcandre.lureau@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/2] hda: do not mix output and input stream states, RHBZ #740493 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?ISO-8859-1?Q?Marc-Andr=E9_Lureau?= Cc: alevy@redhat.com, yhalperi@redhat.com, qemu-devel@nongnu.org, =?ISO-8859-1?Q?Marc-Andr=E9_Lureau?= , quintela@redhat.com Hi, >> a) My understanding of this patch is that we move from an array of 16 >> bools representing anything to one array where the 1st 16 represent if >> there are input and the 2nd 16's reprosenting if there are output for >> that channel. Correct. >> So, what we should do if we migrate from one old version that only has >> 16 bools? My understanding is that copying directly is not gonna work? Yes. Putting output first increases the chance that it works as sound playback is used much more than sound recording. I think hda-audio doesn't need so safe any running state. intel-hda knows which streams are running and it can call intel_hda_notify_codecs() for each stream in intel_hda_post_load(). The only problem is that intel_hda_post_load() might get called before hda-audio state is loaded. Now how to handle compatibility? We can have a running_compat[] array with the current (broken) semantics, so we can write out the state which older qemu versions expect to see. Also on load running_compat[] will be filled, and any state already set by intel_hda_post_load in running_real[] (or however we'll name this) will be kept intact. cheers, Gerd