summaryrefslogtreecommitdiffstats
path: root/sys/arm/nvidia
diff options
context:
space:
mode:
authormmel <mmel@FreeBSD.org>2016-11-05 10:23:02 +0000
committermmel <mmel@FreeBSD.org>2016-11-05 10:23:02 +0000
commitd1f0ae412e88d33d772dc85e773b70abc6655138 (patch)
treeb7719411d4e219e9a77ced65f4142e548c1d7dfa /sys/arm/nvidia
parent8ea6fbf0386cb1189783921c01ace283164b1b93 (diff)
downloadFreeBSD-src-d1f0ae412e88d33d772dc85e773b70abc6655138.zip
FreeBSD-src-d1f0ae412e88d33d772dc85e773b70abc6655138.tar.gz
MFC r304459,r305527:
r304459: INTRNG: Rework handling with resources. Partially revert r301453. - Read interrupt properties at bus enumeration time and store it into global mapping table. - At bus_activate_resource() time, given mapping entry is resolved and connected to real interrupt source. A copy of mapping entry is attached to given resource. - At bus_setup_intr() time, mapping entry stored in resource is used for delivery of requested interrupt configuration. - For MSI/MSIX interrupts, mapping entry is created within pci_alloc_msi()/pci_alloc_msix() call. - For legacy PCI interrupts, mapping entry must be created within pcib_route_interrupt() by pcib driver itself. r305527: Fix MIPS INTRNG (both FDT and non-FDT) behaviour broken by r304459
Diffstat (limited to 'sys/arm/nvidia')
-rw-r--r--sys/arm/nvidia/tegra_lic.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/arm/nvidia/tegra_lic.c b/sys/arm/nvidia/tegra_lic.c
index 5a27a65..bda096c 100644
--- a/sys/arm/nvidia/tegra_lic.c
+++ b/sys/arm/nvidia/tegra_lic.c
@@ -88,12 +88,12 @@ struct tegra_lic_sc {
};
static int
-tegra_lic_alloc_intr(device_t dev, struct intr_irqsrc *isrc,
+tegra_lic_activate_intr(device_t dev, struct intr_irqsrc *isrc,
struct resource *res, struct intr_map_data *data)
{
struct tegra_lic_sc *sc = device_get_softc(dev);
- return (PIC_ALLOC_INTR(sc->parent, isrc, res, data));
+ return (PIC_ACTIVATE_INTR(sc->parent, isrc, res, data));
}
static void
@@ -122,12 +122,12 @@ tegra_lic_map_intr(device_t dev, struct intr_map_data *data,
}
static int
-tegra_lic_release_intr(device_t dev, struct intr_irqsrc *isrc,
+tegra_lic_deactivate_intr(device_t dev, struct intr_irqsrc *isrc,
struct resource *res, struct intr_map_data *data)
{
struct tegra_lic_sc *sc = device_get_softc(dev);
- return (PIC_RELEASE_INTR(sc->parent, isrc, res, data));
+ return (PIC_DEACTIVATE_INTR(sc->parent, isrc, res, data));
}
static int
@@ -266,11 +266,11 @@ static device_method_t tegra_lic_methods[] = {
DEVMETHOD(device_detach, tegra_lic_detach),
/* Interrupt controller interface */
- DEVMETHOD(pic_alloc_intr, tegra_lic_alloc_intr),
+ DEVMETHOD(pic_activate_intr, tegra_lic_activate_intr),
DEVMETHOD(pic_disable_intr, tegra_lic_disable_intr),
DEVMETHOD(pic_enable_intr, tegra_lic_enable_intr),
DEVMETHOD(pic_map_intr, tegra_lic_map_intr),
- DEVMETHOD(pic_release_intr, tegra_lic_release_intr),
+ DEVMETHOD(pic_deactivate_intr, tegra_lic_deactivate_intr),
DEVMETHOD(pic_setup_intr, tegra_lic_setup_intr),
DEVMETHOD(pic_teardown_intr, tegra_lic_teardown_intr),
DEVMETHOD(pic_pre_ithread, tegra_lic_pre_ithread),
OpenPOWER on IntegriCloud