[prev in list] [next in list] [prev in thread] [next in thread]
List: freebsd-hackers
Subject: RE: [EXTERNAL] Re: pcib msix allocation in arm64
From: Souradeep Chakrabarti <schakrabarti () microsoft ! com>
Date: 2022-11-02 22:27:53
Message-ID: PSAP153MB05367C2284B34BD1A3456F61CC399 () PSAP153MB0536 ! APCP153 ! PROD ! OUTLOOK ! COM
[Download RAW message or body]
Hi Andrew,
Thanks for the reply. Regarding generic_pcie_acpi_alloc_msix( ), it can be called if the
PCI device is child of the generic pcib ( DRIVER_MODULE(pcib, acpi, generic_pcie_acpi_driver, 0, 0) .
But if the PCI device is communicating with a different pcib driver (like vmbus_pcib),
in that case do we need to implement all these functions of pci_host_generic_acpi.c ?
Or there are some ways to reuse them?
> -----Original Message-----
> From: Andrew Turner <andrew@fubar.geek.nz>
> Sent: Wednesday, November 2, 2022 6:54 PM
> To: Souradeep Chakrabarti <schakrabarti@microsoft.com>
> Cc: Warner Losh <imp@bsdimp.com>; Wei Hu <weh@microsoft.com>; freebsd-
> hackers@FreeBSD.org
> Subject: [EXTERNAL] Re: pcib msix allocation in arm64
>
>
> > On 2 Nov 2022, at 12:56, Souradeep Chakrabarti <schakrabarti@microsoft.com>
> wrote:
> >
> > Hi,
> > I can see in x86 nexus.c has implemented pcib_alloc_msix using
> nexus_alloc_msix().
> > Which calls msix_alloc() for msix allocation.
> >
> > But in case of arm64 I don't find similar pcib_alloc_msix implementation in
> nexus.c .
> > So, on arm64 what is correct way to get allocate msix ?
>
> For an arm64 system with ACPI it is most likely handled in
> generic_pcie_acpi_release_msix. For FDT it can depend on which PCI driver is
> used.
>
> In either case it will call into intr_release_msix that then calls into the MSI
> controller to allocate the vectors. For a GICv3 driver it will either be
> gicv3_its_alloc_msix if you have an ITS device, or gic_v3_alloc_msix if using MBI
> ranges.
>
> On ACPI we don't currently support MBI ranges, although it looks like this could
> be handled by the existing gicv2m driver. This driver should already work as a
> child of the GICv3, however it appears to be FDT only, so will need some work to
> add ACPI support.
>
> Andrew
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic