qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 4/6] msi: Invoke msi/msix_reset from PCI core


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH 4/6] msi: Invoke msi/msix_reset from PCI core
Date: Sun, 4 Dec 2011 16:48:45 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

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 <address@hidden>
> >>
> >> 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 <address@hidden>
> >> CC: Gerd Hoffmann <address@hidden>
> >> CC: Isaku Yamahata <address@hidden>
> >> Signed-off-by: Jan Kiszka <address@hidden>
> > 
> > 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]