1 1.13 thorpej /* $NetBSD: lcavar.h,v 1.13 2023/12/04 00:32:10 thorpej Exp $ */ 2 1.1 cgd 3 1.1 cgd /* 4 1.3 cgd * Copyright (c) 1995, 1996 Carnegie-Mellon University. 5 1.1 cgd * All rights reserved. 6 1.1 cgd * 7 1.1 cgd * Author: Jeffrey Hsu 8 1.11 matt * 9 1.1 cgd * Permission to use, copy, modify and distribute this software and 10 1.1 cgd * its documentation is hereby granted, provided that both the copyright 11 1.1 cgd * notice and this permission notice appear in all copies of the 12 1.1 cgd * software, derivative works or modified versions, and any portions 13 1.1 cgd * thereof, and that both notices appear in supporting documentation. 14 1.11 matt * 15 1.11 matt * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 16 1.11 matt * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND 17 1.1 cgd * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 18 1.11 matt * 19 1.1 cgd * Carnegie Mellon requests users of this software to return to 20 1.1 cgd * 21 1.1 cgd * Software Distribution Coordinator or Software.Distribution (at) CS.CMU.EDU 22 1.1 cgd * School of Computer Science 23 1.1 cgd * Carnegie Mellon University 24 1.1 cgd * Pittsburgh PA 15213-3890 25 1.1 cgd * 26 1.1 cgd * any improvements or extensions that they make and grant Carnegie the 27 1.1 cgd * rights to redistribute these changes. 28 1.1 cgd */ 29 1.1 cgd 30 1.13 thorpej #include <sys/vmem.h> 31 1.13 thorpej 32 1.1 cgd #include <dev/isa/isavar.h> 33 1.1 cgd #include <dev/pci/pcivar.h> 34 1.7 thorpej #include <alpha/pci/pci_sgmap_pte64.h> 35 1.1 cgd 36 1.1 cgd /* 37 1.1 cgd * LCA chipset's configuration. 38 1.1 cgd * 39 1.1 cgd * All of the information that the chipset-specific functions need to 40 1.1 cgd * do their dirty work (and more!). 41 1.1 cgd */ 42 1.1 cgd struct lca_config { 43 1.5 cgd int lc_initted; 44 1.5 cgd 45 1.8 thorpej struct alpha_bus_space lc_iot, lc_memt; 46 1.2 cgd struct alpha_pci_chipset lc_pc; 47 1.5 cgd 48 1.7 thorpej struct alpha_bus_dma_tag lc_dmat_direct; 49 1.7 thorpej struct alpha_bus_dma_tag lc_dmat_sgmap; 50 1.7 thorpej 51 1.7 thorpej struct alpha_sgmap lc_sgmap; 52 1.7 thorpej 53 1.5 cgd bus_addr_t lc_s_mem_w2_masked_base; 54 1.5 cgd 55 1.13 thorpej vmem_t *lc_io_arena; 56 1.13 thorpej vmem_t *lc_d_mem_arena; 57 1.13 thorpej vmem_t *lc_s_mem_arena; 58 1.13 thorpej 59 1.12 thorpej u_int lc_bcache_size; 60 1.1 cgd }; 61 1.1 cgd 62 1.1 cgd struct lca_softc { 63 1.10 matt device_t sc_dev; 64 1.1 cgd 65 1.1 cgd struct lca_config *sc_lcp; 66 1.1 cgd }; 67 1.1 cgd 68 1.12 thorpej void lca_probe_bcache(void); 69 1.13 thorpej void lca_init(struct lca_config *); 70 1.9 dsl void lca_pci_init(pci_chipset_tag_t, void *); 71 1.9 dsl void lca_dma_init(struct lca_config *); 72 1.4 cgd 73 1.9 dsl void lca_bus_io_init(bus_space_tag_t, void *); 74 1.9 dsl void lca_bus_mem_init(bus_space_tag_t, void *); 75