ehci_intr.h revision 7492:2387323b838f
133965Sjdp/* 278828Sobrien * CDDL HEADER START 389857Sobrien * 459343Sobrien * The contents of this file are subject to the terms of the 533965Sjdp * Common Development and Distribution License (the "License"). 633965Sjdp * You may not use this file except in compliance with the License. 733965Sjdp * 833965Sjdp * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 933965Sjdp * or http://www.opensolaris.org/os/licensing. 1033965Sjdp * See the License for the specific language governing permissions 1133965Sjdp * and limitations under the License. 1233965Sjdp * 1333965Sjdp * When distributing Covered Code, include this CDDL HEADER in each 1433965Sjdp * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1533965Sjdp * If applicable, add the following below this CDDL HEADER, with the 1633965Sjdp * fields enclosed by brackets "[]" replaced with your own identifying 1733965Sjdp * information: Portions Copyright [yyyy] [name of copyright owner] 1833965Sjdp * 1933965Sjdp * CDDL HEADER END 2033965Sjdp */ 2133965Sjdp/* 2233965Sjdp * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 2333965Sjdp * Use is subject to license terms. 2433965Sjdp */ 2533965Sjdp 2633965Sjdp#ifndef _SYS_USB_EHCI_INTR_H 2733965Sjdp#define _SYS_USB_EHCI_INTR_H 2833965Sjdp 2933965Sjdp 3033965Sjdp#ifdef __cplusplus 3133965Sjdpextern "C" { 3233965Sjdp#endif 3359343Sobrien 3433965Sjdp/* 3533965Sjdp * Enchanced Host Controller Driver (EHCI) 3633965Sjdp * 3759343Sobrien * The EHCI driver is a software driver which interfaces to the Universal 3859343Sobrien * Serial Bus layer (USBA) and the Host Controller (HC). The interface to 3933965Sjdp * the Host Controller is defined by the EHCI Host Controller Interface. 4059343Sobrien * 4159343Sobrien * This header file describes the data structures and function prototypes 4233965Sjdp * related EHCI driver interrupt handling. 4359343Sobrien */ 4459343Sobrien 4533965Sjdp/* 4659343Sobrien * EHCI driver external interrupt function prototypes. 4759343Sobrien */ 4833965Sjdpextern void ehci_handle_ue(ehci_state_t *ehcip); 4959343Sobrienextern void ehci_handle_frame_list_rollover( 5059343Sobrien ehci_state_t *ehcip); 5159343Sobrienextern void ehci_handle_endpoint_reclaimation( 5259343Sobrien ehci_state_t *ehcip); 5333965Sjdpextern void ehci_traverse_active_qtd_list( 5459343Sobrien ehci_state_t *ehcip); 5559343Sobrienextern usb_cr_t ehci_check_for_error( 5659343Sobrien ehci_state_t *ehcip, 5759343Sobrien ehci_pipe_private_t *pp, 5833965Sjdp ehci_trans_wrapper_t *tw, 5959343Sobrien ehci_qtd_t *qtd, 6033965Sjdp uint_t ctrl); 6159343Sobrienextern void ehci_handle_error( 6261843Sobrien ehci_state_t *ehcip, 6359343Sobrien ehci_qtd_t *qtd, 6460529Sobrien usb_cr_t error); 6559343Sobrienextern void ehci_handle_ctrl_qtd( 6660529Sobrien ehci_state_t *ehcip, 6760529Sobrien ehci_pipe_private_t *pp, 6877298Sobrien ehci_trans_wrapper_t *tw, 6960529Sobrien ehci_qtd_t *qtd, 7060529Sobrien void *); 7160529Sobrienextern void ehci_handle_bulk_qtd( 7260529Sobrien ehci_state_t *ehcip, 7360529Sobrien ehci_pipe_private_t *pp, 7459343Sobrien ehci_trans_wrapper_t *tw, 7577298Sobrien ehci_qtd_t *qtd, 7633965Sjdp void *); 7759343Sobrienextern void ehci_handle_intr_qtd( 7833965Sjdp ehci_state_t *ehcip, 7959343Sobrien ehci_pipe_private_t *pp, 8059343Sobrien ehci_trans_wrapper_t *tw, 8159343Sobrien ehci_qtd_t *qtd, 8277298Sobrien void *); 8333965Sjdp 8459343Sobrien#ifdef __cplusplus 8559343Sobrien} 8659343Sobrien#endif 8759343Sobrien 8859343Sobrien#endif /* _SYS_USB_EHCI_INTR_H */ 8959343Sobrien