1114902Sscottl/*-
2114902Sscottl * Copyright (c) 2002 Adaptec Inc.
3114902Sscottl * All rights reserved.
4114902Sscottl *
5114902Sscottl * Written by: David Jeffery
6114902Sscottl *
7114902Sscottl * Redistribution and use in source and binary forms, with or without
8114902Sscottl * modification, are permitted provided that the following conditions
9114902Sscottl * are met:
10114902Sscottl * 1. Redistributions of source code must retain the above copyright
11114902Sscottl *    notice, this list of conditions and the following disclaimer.
12114902Sscottl * 2. Redistributions in binary form must reproduce the above copyright
13114902Sscottl *    notice, this list of conditions and the following disclaimer in the
14114902Sscottl *    documentation and/or other materials provided with the distribution.
15114902Sscottl *
16114902Sscottl * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17114902Sscottl * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18114902Sscottl * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19114902Sscottl * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20114902Sscottl * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21114902Sscottl * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22114902Sscottl * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23114902Sscottl * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24114902Sscottl * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25114902Sscottl * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26114902Sscottl * SUCH DAMAGE.
27114902Sscottl *
28114902Sscottl * $FreeBSD: releng/10.2/sys/dev/ips/ips_disk.h 146734 2005-05-29 04:42:30Z nyan $
29114902Sscottl */
30114902Sscottl
31114902Sscottl
32114902Sscottl#include <sys/param.h>
33114902Sscottl#include <sys/systm.h>
34114902Sscottl#include <sys/kernel.h>
35114902Sscottl#include <sys/bus.h>
36114902Sscottl#include <sys/conf.h>
37114902Sscottl#include <sys/types.h>
38114902Sscottl#include <sys/queue.h>
39114902Sscottl#include <sys/disk.h>
40114902Sscottl#include <sys/bio.h>
41114902Sscottl#include <sys/disk.h>
42114902Sscottl#include <geom/geom_disk.h>
43114902Sscottl
44114902Sscottl#include <machine/bus.h>
45114902Sscottl#include <sys/rman.h>
46114902Sscottl#include <machine/resource.h>
47114902Sscottl
48119280Simp#include <dev/pci/pcireg.h>
49119280Simp#include <dev/pci/pcivar.h>
50114902Sscottl
51114902Sscottl#define IPS_MAX_IO_SIZE		0x10000
52114902Sscottl
53114902Sscottl#define IPS_COMP_HEADS       	128
54114902Sscottl#define IPS_COMP_SECTORS     	32
55114902Sscottl#define IPS_NORM_HEADS       	254
56114902Sscottl#define IPS_NORM_SECTORS     	63
57114902Sscottl
58114902Sscottltypedef struct ipsdisk_softc {
59114902Sscottl	device_t 	dev;
60114902Sscottl	int		unit;
61114902Sscottl	int		disk_number;
62114902Sscottl	u_int32_t 	state;
63125975Sphk	struct disk 	*ipsd_disk;
64114902Sscottl	ips_softc_t	*sc;
65114902Sscottl}ipsdisk_softc_t;
66