Module Name: src
Committed By: knakahara
Date: Fri May 15 08:29:33 UTC 2015
Modified Files:
src/sys/arch/x86/pci: pci_intr_machdep.c pci_msi_machdep.c
Log Message:
refactor: change function names and move them.
To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/x86/pci/pci_intr_machdep.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/x86/pci/pci_msi_machdep.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/x86/pci/pci_intr_machdep.c
diff -u src/sys/arch/x86/pci/pci_intr_machdep.c:1.31 src/sys/arch/x86/pci/pci_intr_machdep.c:1.32
--- src/sys/arch/x86/pci/pci_intr_machdep.c:1.31 Fri May 15 08:26:44 2015
+++ src/sys/arch/x86/pci/pci_intr_machdep.c Fri May 15 08:29:33 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: pci_intr_machdep.c,v 1.31 2015/05/15 08:26:44 knakahara Exp $ */
+/* $NetBSD: pci_intr_machdep.c,v 1.32 2015/05/15 08:29:33 knakahara Exp $ */
/*-
* Copyright (c) 1997, 1998, 2009 The NetBSD Foundation, Inc.
@@ -73,7 +73,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pci_intr_machdep.c,v 1.31 2015/05/15 08:26:44 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_intr_machdep.c,v 1.32 2015/05/15 08:29:33 knakahara Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -350,6 +350,20 @@ pci_intr_distribute(void *cookie, const
}
#if NIOAPIC > 0
+static void
+x86_pci_intx_release(pci_chipset_tag_t pc, pci_intr_handle_t *pih)
+{
+ char intrstr_buf[INTRIDBUF];
+ const char *intrstr;
+
+ intrstr = pci_intr_string(NULL, *pih, intrstr_buf, sizeof(intrstr_buf));
+ mutex_enter(&cpu_lock);
+ intr_free_io_intrsource(intrstr);
+ mutex_exit(&cpu_lock);
+
+ kmem_free(pih, sizeof(*pih));
+}
+
int
pci_intx_alloc(const struct pci_attach_args *pa, pci_intr_handle_t **pih)
{
@@ -390,20 +404,6 @@ error:
return error;
}
-static void
-x86_pci_intx_release(pci_chipset_tag_t pc, pci_intr_handle_t *pih)
-{
- char intrstr_buf[INTRIDBUF];
- const char *intrstr;
-
- intrstr = pci_intr_string(NULL, *pih, intrstr_buf, sizeof(intrstr_buf));
- mutex_enter(&cpu_lock);
- intr_free_io_intrsource(intrstr);
- mutex_exit(&cpu_lock);
-
- kmem_free(pih, sizeof(*pih));
-}
-
void
pci_intr_release(pci_chipset_tag_t pc, pci_intr_handle_t *pih, int count)
{
Index: src/sys/arch/x86/pci/pci_msi_machdep.c
diff -u src/sys/arch/x86/pci/pci_msi_machdep.c:1.3 src/sys/arch/x86/pci/pci_msi_machdep.c:1.4
--- src/sys/arch/x86/pci/pci_msi_machdep.c:1.3 Fri May 15 08:26:44 2015
+++ src/sys/arch/x86/pci/pci_msi_machdep.c Fri May 15 08:29:33 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: pci_msi_machdep.c,v 1.3 2015/05/15 08:26:44 knakahara Exp $ */
+/* $NetBSD: pci_msi_machdep.c,v 1.4 2015/05/15 08:29:33 knakahara Exp $ */
/*
* Copyright (c) 2015 Internet Initiative Japan Inc.
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pci_msi_machdep.c,v 1.3 2015/05/15 08:26:44 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_msi_machdep.c,v 1.4 2015/05/15 08:29:33 knakahara Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -172,7 +172,7 @@ pci_msi_free_vectors(struct pic *msi_pic
}
static int
-pci_msi_alloc_md_common(pci_intr_handle_t **ihps, int *count,
+pci_msi_alloc_common(pci_intr_handle_t **ihps, int *count,
const struct pci_attach_args *pa, bool exact)
{
struct pic *msi_pic;
@@ -226,35 +226,6 @@ pci_msi_alloc_md_common(pci_intr_handle_
return 0;
}
-static int
-pci_msi_alloc_md(pci_intr_handle_t **ihps, int *count,
- const struct pci_attach_args *pa)
-{
-
- return pci_msi_alloc_md_common(ihps, count, pa, false);
-}
-
-static int
-pci_msi_alloc_exact_md(pci_intr_handle_t **ihps, int count,
- const struct pci_attach_args *pa)
-{
-
- return pci_msi_alloc_md_common(ihps, &count, pa, true);
-}
-
-static void
-pci_msi_release_md(pci_intr_handle_t *pihs, int count)
-{
- struct pic *pic;
-
- pic = msipic_find_msi_pic(MSI_INT_DEV(pihs[0]));
- if (pic == NULL)
- return;
-
- pci_msi_free_vectors(pic, pihs, count);
- msipic_destruct_msi_pic(pic);
-}
-
static void *
pci_msi_common_establish(pci_chipset_tag_t pc, pci_intr_handle_t ih,
int level, int (*func)(void *), void *arg, struct pic *pic)
@@ -280,7 +251,7 @@ pci_msi_common_disestablish(pci_chipset_
}
static int
-pci_msix_alloc_md_common(pci_intr_handle_t **ihps, u_int *table_indexes,
+pci_msix_alloc_common(pci_intr_handle_t **ihps, u_int *table_indexes,
int *count, const struct pci_attach_args *pa, bool exact)
{
struct pic *msix_pic;
@@ -334,31 +305,60 @@ pci_msix_alloc_md_common(pci_intr_handle
}
static int
-pci_msix_alloc_md(pci_intr_handle_t **ihps, int *count,
+x86_pci_msi_alloc(pci_intr_handle_t **ihps, int *count,
const struct pci_attach_args *pa)
{
- return pci_msix_alloc_md_common(ihps, NULL, count, pa, false);
+ return pci_msi_alloc_common(ihps, count, pa, false);
}
static int
-pci_msix_alloc_exact_md(pci_intr_handle_t **ihps, int count,
+x86_pci_msi_alloc_exact(pci_intr_handle_t **ihps, int count,
const struct pci_attach_args *pa)
{
- return pci_msix_alloc_md_common(ihps, NULL, &count, pa, true);
+ return pci_msi_alloc_common(ihps, &count, pa, true);
+}
+
+static void
+x86_pci_msi_release_internal(pci_intr_handle_t *pihs, int count)
+{
+ struct pic *pic;
+
+ pic = msipic_find_msi_pic(MSI_INT_DEV(pihs[0]));
+ if (pic == NULL)
+ return;
+
+ pci_msi_free_vectors(pic, pihs, count);
+ msipic_destruct_msi_pic(pic);
}
static int
-pci_msix_alloc_map_md(pci_intr_handle_t **ihps, u_int *table_indexes, int count,
+x86_pci_msix_alloc(pci_intr_handle_t **ihps, int *count,
const struct pci_attach_args *pa)
{
- return pci_msix_alloc_md_common(ihps, table_indexes, &count, pa, true);
+ return pci_msix_alloc_common(ihps, NULL, count, pa, false);
+}
+
+static int
+x86_pci_msix_alloc_exact(pci_intr_handle_t **ihps, int count,
+ const struct pci_attach_args *pa)
+{
+
+ return pci_msix_alloc_common(ihps, NULL, &count, pa, true);
+}
+
+static int
+x86_pci_msix_alloc_map(pci_intr_handle_t **ihps, u_int *table_indexes,
+ int count, const struct pci_attach_args *pa)
+{
+
+ return pci_msix_alloc_common(ihps, table_indexes, &count, pa, true);
}
static void
-pci_msix_release_md(pci_intr_handle_t *pihs, int count)
+x86_pci_msix_release_internal(pci_intr_handle_t *pihs, int count)
{
struct pic *pic;
@@ -372,6 +372,101 @@ pci_msix_release_md(pci_intr_handle_t *p
/*****************************************************************************/
/*
+ * extern for pci_intr_machdep.c
+ */
+
+/*
+ * Release MSI handles.
+ */
+void
+x86_pci_msi_release(pci_chipset_tag_t pc, pci_intr_handle_t *pihs, int count)
+{
+
+ if (count < 1)
+ return;
+
+ return x86_pci_msi_release_internal(pihs, count);
+}
+
+/*
+ * Establish a MSI handle.
+ * If multiple MSI handle is requied to establish, device driver must call
+ * this function for each handle.
+ */
+void *
+x86_pci_msi_establish(pci_chipset_tag_t pc, pci_intr_handle_t ih,
+ int level, int (*func)(void *), void *arg)
+{
+ struct pic *pic;
+
+ pic = msipic_find_msi_pic(MSI_INT_DEV(ih));
+ if (pic == NULL) {
+ DPRINTF(("pci_intr_handler has no msi_pic\n"));
+ return NULL;
+ }
+
+ return pci_msi_common_establish(pc, ih, level, func, arg, pic);
+}
+
+/*
+ * Disestablish a MSI handle.
+ * If multiple MSI handle is requied to disestablish, device driver must call
+ * this function for each handle.
+ */
+void
+x86_pci_msi_disestablish(pci_chipset_tag_t pc, void *cookie)
+{
+
+ pci_msi_common_disestablish(pc, cookie);
+}
+
+/*
+ * Release MSI-X handles.
+ */
+void
+x86_pci_msix_release(pci_chipset_tag_t pc, pci_intr_handle_t *pihs, int count)
+{
+
+ if (count < 1)
+ return;
+
+ return x86_pci_msix_release_internal(pihs, count);
+}
+
+/*
+ * Establish a MSI-X handle.
+ * If multiple MSI-X handle is requied to establish, device driver must call
+ * this function for each handle.
+ */
+void *
+x86_pci_msix_establish(pci_chipset_tag_t pc, pci_intr_handle_t ih,
+ int level, int (*func)(void *), void *arg)
+{
+ struct pic *pic;
+
+ pic = msipic_find_msi_pic(MSI_INT_DEV(ih));
+ if (pic == NULL) {
+ DPRINTF(("pci_intr_handler has no msi_pic\n"));
+ return NULL;
+ }
+
+ return pci_msi_common_establish(pc, ih, level, func, arg, pic);
+}
+
+/*
+ * Disestablish a MSI-X handle.
+ * If multiple MSI-X handle is requied to disestablish, device driver must call
+ * this function for each handle.
+ */
+void
+x86_pci_msix_disestablish(pci_chipset_tag_t pc, void *cookie)
+{
+
+ pci_msi_common_disestablish(pc, cookie);
+}
+
+/*****************************************************************************/
+/*
* these APIs may be MI code.
*/
@@ -431,7 +526,7 @@ pci_msi_alloc(const struct pci_attach_ar
*count = hw_max; /* cut off hw_max */
}
- return pci_msi_alloc_md(ihps, count, pa);
+ return x86_pci_msi_alloc(ihps, count, pa);
}
/*
@@ -461,52 +556,7 @@ pci_msi_alloc_exact(const struct pci_att
return EINVAL;
}
- return pci_msi_alloc_exact_md(ihps, count, pa);
-}
-
-/*
- * Release MSI handles.
- */
-void
-x86_pci_msi_release(pci_chipset_tag_t pc, pci_intr_handle_t *pihs, int count)
-{
-
- if (count < 1)
- return;
-
- return pci_msi_release_md(pihs, count);
-}
-
-/*
- * Establish a MSI handle.
- * If multiple MSI handle is requied to establish, device driver must call
- * this function for each handle.
- */
-void *
-x86_pci_msi_establish(pci_chipset_tag_t pc, pci_intr_handle_t ih,
- int level, int (*func)(void *), void *arg)
-{
- struct pic *pic;
-
- pic = msipic_find_msi_pic(MSI_INT_DEV(ih));
- if (pic == NULL) {
- DPRINTF(("pci_intr_handler has no msi_pic\n"));
- return NULL;
- }
-
- return pci_msi_common_establish(pc, ih, level, func, arg, pic);
-}
-
-/*
- * Disestablish a MSI handle.
- * If multiple MSI handle is requied to disestablish, device driver must call
- * this function for each handle.
- */
-void
-x86_pci_msi_disestablish(pci_chipset_tag_t pc, void *cookie)
-{
-
- pci_msi_common_disestablish(pc, cookie);
+ return x86_pci_msi_alloc_exact(ihps, count, pa);
}
/*
@@ -555,7 +605,7 @@ pci_msix_alloc(const struct pci_attach_a
*count = hw_max; /* cut off hw_max */
}
- return pci_msix_alloc_md(ihps, count, pa);
+ return x86_pci_msix_alloc(ihps, count, pa);
}
/*
@@ -582,10 +632,9 @@ pci_msix_alloc_exact(const struct pci_at
return EINVAL;
}
- return pci_msix_alloc_exact_md(ihps, count, pa);
+ return x86_pci_msix_alloc_exact(ihps, count, pa);
}
-
/*
* This function is used by device drivers like pci_intr_map().
* Futhermore, this function can map each handle to a MSI-X table index.
@@ -636,50 +685,5 @@ pci_msix_alloc_map(const struct pci_atta
}
}
- return pci_msix_alloc_map_md(ihps, table_indexes, count, pa);
-}
-
-/*
- * Release MSI-X handles.
- */
-void
-x86_pci_msix_release(pci_chipset_tag_t pc, pci_intr_handle_t *pihs, int count)
-{
-
- if (count < 1)
- return;
-
- return pci_msix_release_md(pihs, count);
-}
-
-/*
- * Establish a MSI-X handle.
- * If multiple MSI-X handle is requied to establish, device driver must call
- * this function for each handle.
- */
-void *
-x86_pci_msix_establish(pci_chipset_tag_t pc, pci_intr_handle_t ih,
- int level, int (*func)(void *), void *arg)
-{
- struct pic *pic;
-
- pic = msipic_find_msi_pic(MSI_INT_DEV(ih));
- if (pic == NULL) {
- DPRINTF(("pci_intr_handler has no msi_pic\n"));
- return NULL;
- }
-
- return pci_msi_common_establish(pc, ih, level, func, arg, pic);
-}
-
-/*
- * Disestablish a MSI-X handle.
- * If multiple MSI-X handle is requied to disestablish, device driver must call
- * this function for each handle.
- */
-void
-x86_pci_msix_disestablish(pci_chipset_tag_t pc, void *cookie)
-{
-
- pci_msi_common_disestablish(pc, cookie);
+ return x86_pci_msix_alloc_map(ihps, table_indexes, count, pa);
}