/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* This file is part of the Chelsio T1 Ethernet driver.
*
* Copyright (C) 2003-2005 Chelsio Communications. All rights reserved.
*/
#ifndef _CHELSIO_CH_H
#define _CHELSIO_CH_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
/*
* Definitions for module_info
*/
/*
* PCI registers
*/
#ifdef CONFIG_CHELSIO_T1_OFFLOAD
/*
* TOE pre-mapped buffer structure
*/
typedef struct tbuf {
} tbuf_t;
#endif /* CONFIG_CHELSIO_T1_OFFLOAD */
/*
* header structures to hold pre-mapped (DMA) kernel memory buffers.
*/
typedef struct ch_esb {
#ifdef FRAGMENT /* we assume no fragments */
#endif
} ch_esb_t;
/*
* structure for linked list of multicast addresses that have been
* assigned to the card.
*/
typedef struct ch_mc {
} ch_mc_t;
/*
* structure for linked list of pre-allocated dma handles for command Q
*/
typedef struct free_dh {
} free_dh_t;
/*
* instance configuration
*/
typedef struct ch_cfg {
} ch_cfg_t;
/*
* Per-card state information
*/
typedef struct ch {
/* XXX see how we can use cmdQ_ce list and get rid of lock */
#if defined(__sparc)
/* XXX see how we can use cmdQ_ce list and get rid of lock */
#endif
/* XXX config_data needs cleanup */
#ifdef CONFIG_CHELSIO_T1_OFFLOAD
#endif
char *ch_name;
/* statistics per card */
#ifdef CONFIG_CHELSIO_T1_OFFLOAD
int ch_refcnt;
void *ch_toeinst;
#endif
#ifdef HOST_PAUSE
int pause_on;
#endif
} ch_t;
/* ch_flags */
#ifdef CONFIG_CHELSIO_T1_OFFLOAD
/* open_device_map flag */
#endif
/*
* DMA mapping defines
*/
/*
* Number of multicast addresses per stream
*/
/* ----- Solaris memory - PCI - DMA mapping functions ------ */
void pe_init(void *);
#ifdef CONFIG_CHELSIO_T1_OFFLOAD
#endif
extern int enable_checksum_offload;
void pe_dma_handle_init(ch_t *, int);
void pe_free_fake_arp(void *);
#if defined(__sparc)
#endif
#ifdef __cplusplus
}
#endif
#endif /* _CHELSIO_CH_H */