From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:55339) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RXDLO-00043b-RA for qemu-devel@nongnu.org; Sun, 04 Dec 2011 09:47:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RXDLN-0004IV-8P for qemu-devel@nongnu.org; Sun, 04 Dec 2011 09:47:06 -0500 Received: from mx1.redhat.com ([209.132.183.28]:39600) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RXDLM-0004IQ-RO for qemu-devel@nongnu.org; Sun, 04 Dec 2011 09:47:05 -0500 Date: Sun, 4 Dec 2011 16:48:45 +0200 From: "Michael S. Tsirkin" Message-ID: <20111204144844.GA21645@redhat.com> References: <20111204142413.GA21238@redhat.com> <4EDB853A.6050901@web.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4EDB853A.6050901@web.de> Subject: Re: [Qemu-devel] [PATCH 4/6] msi: Invoke msi/msix_reset from PCI core List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Isaku Yamahata , Gerd Hoffmann , qemu-devel , Alexander Graf On Sun, Dec 04, 2011 at 03:35:38PM +0100, Jan Kiszka wrote: > On 2011-12-04 15:24, Michael S. Tsirkin wrote: > > On Sun, Dec 04, 2011 at 02:22:12PM +0100, Jan Kiszka wrote: > >> From: Jan Kiszka > >> > >> There is no point in pushing this burden to the devices, they may rather > >> forget to call them (like intel-hda and ahci ATM). Instead, reset > >> functions are now called from pci_device_reset and pci_bridge_reset. > >> They do nothing if the MSI/MSI-X is not in use. > >> > >> CC: Alexander Graf > >> CC: Gerd Hoffmann > >> CC: Isaku Yamahata > >> Signed-off-by: Jan Kiszka > > > > What makes me unhappy with this proposal is that msix_write_config, for > > example, becomes in fact an internal interface. So devices should be > > calling some functions like msix_init from msix.h, but not others like > > msix_write_config. > > > > It used to be simple: devices should call msix_. > > Now, how are devices to figure it out? > > > > E.g. the comment near msix_write_config says: > > /* Handle MSI-X capability config write. */ > > That should be aligned to msi_write_config's comment. > > My goal is to reduce the number of calls devices have to do in order to > use MSI. We have quite a few correct examples by now, so it should not > be too hard to figure out what to do to use standard MSI[X] services. > > Maybe a PCI skeleton device model would help further. Or up-to-date > documentation, thought that may be even harder. ;) Maybe it's time to move code into hw/pci/ ? Then we could have private interfaces without kludges like pci_internals.h ... -- MST