Lines Matching refs:src
88 apei_hest_ghes_handle(struct apei_softc *sc, struct apei_source *src) in apei_hest_ghes_handle() argument
90 ACPI_HEST_GENERIC *ghes = container_of(src->as_header, in apei_hest_ghes_handle()
92 ACPI_HEST_GENERIC_STATUS *gesb = src->as_ghes.gesb; in apei_hest_ghes_handle()
102 status = apei_gesb_report(sc, src->as_ghes.gesb, in apei_hest_ghes_handle()
148 apei_hest_ghes_v2_handle(struct apei_softc *sc, struct apei_source *src) in apei_hest_ghes_v2_handle() argument
150 ACPI_HEST_GENERIC_V2 *ghes_v2 = container_of(src->as_header, in apei_hest_ghes_v2_handle()
152 ACPI_HEST_GENERIC_STATUS *gesb = src->as_ghes.gesb; in apei_hest_ghes_v2_handle()
163 status = apei_gesb_report(sc, src->as_ghes.gesb, in apei_hest_ghes_v2_handle()
185 src->as_ghes_v2.read_ack); in apei_hest_ghes_v2_handle()
189 src->as_ghes_v2.read_ack, X); in apei_hest_ghes_v2_handle()
213 struct apei_source *src = cookie; in apei_hest_ghes_poll() local
214 struct apei_softc *sc = src->as_sc; in apei_hest_ghes_poll()
215 ACPI_HEST_GENERIC *ghes = container_of(src->as_header, in apei_hest_ghes_poll()
221 (void)apei_hest_ghes_handle(sc, src); in apei_hest_ghes_poll()
227 callout_schedule(&src->as_ch, in apei_hest_ghes_poll()
243 struct apei_source *src = cookie; in apei_hest_ghes_v2_poll() local
244 struct apei_softc *sc = src->as_sc; in apei_hest_ghes_v2_poll()
245 ACPI_HEST_GENERIC_V2 *ghes_v2 = container_of(src->as_header, in apei_hest_ghes_v2_poll()
251 (void)apei_hest_ghes_v2_handle(sc, src); in apei_hest_ghes_v2_poll()
257 callout_schedule(&src->as_ch, in apei_hest_ghes_v2_poll()
279 struct apei_source *src = cookie; in apei_hest_ghes_nmi() local
280 struct apei_softc *sc = src->as_sc; in apei_hest_ghes_nmi()
283 const bool mine = apei_hest_ghes_handle(sc, src); in apei_hest_ghes_nmi()
302 struct apei_source *src = cookie; in apei_hest_ghes_v2_nmi() local
303 struct apei_softc *sc = src->as_sc; in apei_hest_ghes_v2_nmi()
306 const bool mine = apei_hest_ghes_v2_handle(sc, src); in apei_hest_ghes_v2_nmi()
332 struct apei_source *src = &hsc->hsc_source[i]; in apei_hest_attach_ghes() local
394 src->as_sc = sc; in apei_hest_attach_ghes()
395 src->as_header = &ghes->Header; in apei_hest_attach_ghes()
396 src->as_ghes.gesb = AcpiOsMapMemory(addr, ghes->ErrorBlockLength); in apei_hest_attach_ghes()
405 callout_init(&src->as_ch, CALLOUT_MPSAFE); in apei_hest_attach_ghes()
406 callout_setfunc(&src->as_ch, &apei_hest_ghes_poll, src); in apei_hest_attach_ghes()
407 callout_schedule(&src->as_ch, 0); in apei_hest_attach_ghes()
419 SIMPLEQ_INSERT_TAIL(&hsc->hsc_hed_list, src, as_entry); in apei_hest_attach_ghes()
423 src->as_nmi = nmi_establish(&apei_hest_ghes_nmi, src); in apei_hest_attach_ghes()
432 apei_hest_ghes_handle(sc, src); in apei_hest_attach_ghes()
449 struct apei_source *src = &hsc->hsc_source[i]; in apei_hest_detach_ghes() local
458 callout_halt(&src->as_ch, NULL); in apei_hest_detach_ghes()
459 callout_destroy(&src->as_ch); in apei_hest_detach_ghes()
471 nmi_disestablish(src->as_nmi); in apei_hest_detach_ghes()
472 src->as_nmi = NULL; in apei_hest_detach_ghes()
482 AcpiOsUnmapMemory(src->as_ghes.gesb, ghes->ErrorBlockLength); in apei_hest_detach_ghes()
483 src->as_ghes.gesb = NULL; in apei_hest_detach_ghes()
484 src->as_header = NULL; in apei_hest_detach_ghes()
485 src->as_sc = NULL; in apei_hest_detach_ghes()
503 struct apei_source *src = &hsc->hsc_source[i]; in apei_hest_attach_ghes_v2() local
579 src->as_sc = sc; in apei_hest_attach_ghes_v2()
580 src->as_header = &ghes_v2->Header; in apei_hest_attach_ghes_v2()
581 src->as_ghes_v2.gesb = AcpiOsMapMemory(addr, in apei_hest_attach_ghes_v2()
583 src->as_ghes_v2.read_ack = read_ack; in apei_hest_attach_ghes_v2()
592 callout_init(&src->as_ch, CALLOUT_MPSAFE); in apei_hest_attach_ghes_v2()
593 callout_setfunc(&src->as_ch, &apei_hest_ghes_v2_poll, src); in apei_hest_attach_ghes_v2()
594 callout_schedule(&src->as_ch, 0); in apei_hest_attach_ghes_v2()
606 SIMPLEQ_INSERT_TAIL(&hsc->hsc_hed_list, src, as_entry); in apei_hest_attach_ghes_v2()
610 src->as_nmi = nmi_establish(&apei_hest_ghes_v2_nmi, src); in apei_hest_attach_ghes_v2()
619 apei_hest_ghes_handle(sc, src); in apei_hest_attach_ghes_v2()
636 struct apei_source *src = &hsc->hsc_source[i]; in apei_hest_detach_ghes_v2() local
645 callout_halt(&src->as_ch, NULL); in apei_hest_detach_ghes_v2()
646 callout_destroy(&src->as_ch); in apei_hest_detach_ghes_v2()
658 nmi_disestablish(src->as_nmi); in apei_hest_detach_ghes_v2()
659 src->as_nmi = NULL; in apei_hest_detach_ghes_v2()
668 AcpiOsUnmapMemory(src->as_ghes_v2.gesb, ghes_v2->ErrorBlockLength); in apei_hest_detach_ghes_v2()
669 src->as_ghes_v2.gesb = NULL; in apei_hest_detach_ghes_v2()
670 apei_mapreg_unmap(&ghes_v2->ReadAckRegister, src->as_ghes_v2.read_ack); in apei_hest_detach_ghes_v2()
671 src->as_ghes_v2.read_ack = NULL; in apei_hest_detach_ghes_v2()
672 src->as_header = NULL; in apei_hest_detach_ghes_v2()
673 src->as_sc = NULL; in apei_hest_detach_ghes_v2()
962 struct apei_source *src = &hsc->hsc_source[i]; in apei_hest_detach() local
963 ACPI_HEST_HEADER *header = src->as_header; in apei_hest_detach()
965 if (src->as_header == NULL) in apei_hest_detach()
980 struct apei_source *src; in apei_hed_notify() local
1001 SIMPLEQ_FOREACH(src, &hsc->hsc_hed_list, as_entry) { in apei_hed_notify()
1002 ACPI_HEST_HEADER *const header = src->as_header; in apei_hed_notify()
1006 apei_hest_ghes_handle(sc, src); in apei_hed_notify()
1009 apei_hest_ghes_v2_handle(sc, src); in apei_hed_notify()