1d39a76e7Sxw /* 2d39a76e7Sxw * CDDL HEADER START 3d39a76e7Sxw * 4d39a76e7Sxw * The contents of this file are subject to the terms of the 5d39a76e7Sxw * Common Development and Distribution License (the "License"). 6d39a76e7Sxw * You may not use this file except in compliance with the License. 7d39a76e7Sxw * 8d39a76e7Sxw * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9d39a76e7Sxw * or http://www.opensolaris.org/os/licensing. 10d39a76e7Sxw * See the License for the specific language governing permissions 11d39a76e7Sxw * and limitations under the License. 12d39a76e7Sxw * 13d39a76e7Sxw * When distributing Covered Code, include this CDDL HEADER in each 14d39a76e7Sxw * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15d39a76e7Sxw * If applicable, add the following below this CDDL HEADER, with the 16d39a76e7Sxw * fields enclosed by brackets "[]" replaced with your own identifying 17d39a76e7Sxw * information: Portions Copyright [yyyy] [name of copyright owner] 18d39a76e7Sxw * 19d39a76e7Sxw * CDDL HEADER END 20d39a76e7Sxw */ 21d39a76e7Sxw 22d39a76e7Sxw /* 23d39a76e7Sxw * Copyright (C) 2003-2005 Chelsio Communications. All rights reserved. 24d39a76e7Sxw */ 25d39a76e7Sxw 26d39a76e7Sxw #ifndef CHELSIO_MC3_H 27d39a76e7Sxw #define CHELSIO_MC3_H 28d39a76e7Sxw 29d39a76e7Sxw #include "common.h" 30d39a76e7Sxw 31d39a76e7Sxw struct pemc3_intr_counts { 32d39a76e7Sxw unsigned int corr_err; 33d39a76e7Sxw unsigned int uncorr_err; 34d39a76e7Sxw unsigned int parity_err; 35d39a76e7Sxw unsigned int addr_err; 36d39a76e7Sxw }; 37*2d6eb4a5SToomas Soome 38d39a76e7Sxw struct pemc3; 39d39a76e7Sxw 40d39a76e7Sxw struct pemc3 *t1_mc3_create(adapter_t * adapter); 41d39a76e7Sxw void t1_mc3_destroy(struct pemc3 *mc3); 42d39a76e7Sxw int t1_mc3_init(struct pemc3 *mc3, unsigned int mc3_clock); 43d39a76e7Sxw 44d39a76e7Sxw int t1_mc3_intr_handler(struct pemc3 *mc3); 45d39a76e7Sxw void t1_mc3_intr_enable(struct pemc3 *mc3); 46d39a76e7Sxw void t1_mc3_intr_disable(struct pemc3 *mc3); 47d39a76e7Sxw void t1_mc3_intr_clear(struct pemc3 *mc3); 48d39a76e7Sxw 49d39a76e7Sxw unsigned int t1_mc3_get_size(struct pemc3 *mc3); 50d39a76e7Sxw const struct pemc3_intr_counts *t1_mc3_get_intr_counts(struct pemc3 *mc3); 51d39a76e7Sxw 52d39a76e7Sxw #endif 53