lkml.org 
[lkml]   [2023]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH v2 13/21] irqchip: riscv-intc: Add ACPI support for AIA
    On Fri, Oct 27, 2023 at 04:59:31PM +0530, Sunil V L wrote:
    > Hi Bjorn,
    >
    > On Thu, Oct 26, 2023 at 11:51:50AM -0500, Bjorn Helgaas wrote:
    > > On Thu, Oct 26, 2023 at 01:53:36AM +0530, Sunil V L wrote:
    > > > The RINTC subtype structure in MADT also has information about other
    > > > interrupt controllers like MMIO. So, save those information and provide
    > > > interfaces to retrieve them when required by corresponding drivers.
    > >
    > > > @@ -218,7 +306,19 @@ static int __init riscv_intc_acpi_init(union acpi_subtable_headers *header,
    > >
    > > > + * MSI controller (IMSIC) in RISC-V is optional. So, unless
    > > > + * IMSIC is discovered, set system wide MSI support as
    > > > + * unsupported. Once IMSIC is probed, MSI support will be set.
    > > > + */
    > > > + pci_no_msi();
    > >
    > > It doesn't seem like we should have to tell the PCI core about
    > > functionality we *don't* have.
    > >
    > > I would think IMSIC would be detected before enumerating PCI devices
    > > that might use it, and if we *haven't* found an IMSIC by the time we
    > > get to pci_register_host_bridge(), would/should we set
    > > PCI_BUS_FLAGS_NO_MSI there?
    > >
    > The check in pci_register_host_bridge() is like below.
    >
    > if (bridge->msi_domain && !dev_get_msi_domain(&bus->dev) &&
    > !pci_host_of_has_msi_map(parent))
    > bus->bus_flags |= PCI_BUS_FLAGS_NO_MSI;
    >
    > When there is no IMSIC, bridge->msi_domain is 0 and hence
    > PCI_BUS_FLAGS_NO_MSI will never be set. Do you recommend to set
    > PCI_BUS_FLAGS_NO_MSI if bridge->msi_domain is 0? Let me know if I am
    > missing something.
    >
    What seems to work is, setting bridge->msi_domain = true in
    pci_create_root_bus() similar to how pci_host_common_probe() sets for OF
    framework. Would that be better solution?

    Thanks,
    Sunil

    \
     
     \ /
      Last update: 2023-10-27 13:56    [W:2.158 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site