1201052Smarius/*- 2201052Smarius * Copyright (c) 2009 by Marius Strobl <marius@FreeBSD.org>. 3201052Smarius * All rights reserved. 4201052Smarius * 5201052Smarius * Redistribution and use in source and binary forms, with or without 6201052Smarius * modification, are permitted provided that the following conditions 7201052Smarius * are met: 8201052Smarius * 1. Redistributions of source code must retain the above copyright 9201052Smarius * notice, this list of conditions, and the following disclaimer, 10201052Smarius * without modification, immediately at the beginning of the file. 11201052Smarius * 2. Redistributions in binary form must reproduce the above copyright 12201052Smarius * notice, this list of conditions and the following disclaimer in 13201052Smarius * the documentation and/or other materials provided with the 14201052Smarius * distribution. 15201052Smarius * 16201052Smarius * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17201052Smarius * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18201052Smarius * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19201052Smarius * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR 20201052Smarius * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21201052Smarius * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22201052Smarius * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23201052Smarius * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24201052Smarius * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25201052Smarius * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26201052Smarius * SUCH DAMAGE. 27201052Smarius * 28201052Smarius * $FreeBSD: releng/10.2/sys/sparc64/pci/firevar.h 225931 2011-10-02 23:22:38Z marius $ 29201052Smarius */ 30201052Smarius 31201052Smarius#ifndef _SPARC64_PCI_FIREVAR_H_ 32201052Smarius#define _SPARC64_PCI_FIREVAR_H_ 33201052Smarius 34201052Smariusstruct fire_softc { 35201052Smarius struct iommu_state sc_is; 36201052Smarius struct bus_dma_methods sc_dma_methods; 37201052Smarius 38201052Smarius struct mtx sc_msi_mtx; 39201052Smarius struct mtx sc_pcib_mtx; 40201052Smarius 41201052Smarius struct resource *sc_mem_res[FIRE_NREG]; 42201052Smarius struct resource *sc_irq_res[FIRE_NINTR]; 43201052Smarius void *sc_ihand[FIRE_NINTR]; 44201052Smarius 45201052Smarius struct rman sc_pci_mem_rman; 46201052Smarius struct rman sc_pci_io_rman; 47201052Smarius bus_space_handle_t sc_pci_bh[FIRE_NRANGE]; 48201052Smarius bus_space_tag_t sc_pci_cfgt; 49201052Smarius bus_space_tag_t sc_pci_iot; 50201052Smarius bus_dma_tag_t sc_pci_dmat; 51201052Smarius 52201052Smarius device_t sc_dev; 53201052Smarius 54201052Smarius uint64_t *sc_msiq; 55201052Smarius u_char *sc_msi_bitmap; 56201052Smarius uint32_t *sc_msi_msiq_table; 57201052Smarius u_char *sc_msiq_bitmap; 58201052Smarius uint64_t sc_msi_addr32; 59201052Smarius uint64_t sc_msi_addr64; 60201052Smarius uint32_t sc_msi_count; 61201052Smarius uint32_t sc_msi_first; 62201052Smarius uint32_t sc_msi_data_mask; 63201052Smarius uint32_t sc_msix_data_width; 64201052Smarius uint32_t sc_msiq_count; 65201052Smarius uint32_t sc_msiq_size; 66201052Smarius uint32_t sc_msiq_first; 67201052Smarius uint32_t sc_msiq_ino_first; 68201052Smarius 69201052Smarius phandle_t sc_node; 70201052Smarius 71201052Smarius u_int sc_mode; 72201052Smarius#define FIRE_MODE_FIRE 0 73201052Smarius#define FIRE_MODE_OBERON 1 74201052Smarius 75201052Smarius u_int sc_flags; 76201052Smarius#define FIRE_MSIX (1 << 0) 77201052Smarius 78201052Smarius uint32_t sc_ign; 79201052Smarius 80201052Smarius uint32_t sc_stats_ilu_err; 81201052Smarius uint32_t sc_stats_jbc_ce_async; 82201052Smarius uint32_t sc_stats_jbc_unsol_int; 83201052Smarius uint32_t sc_stats_jbc_unsol_rd; 84201052Smarius uint32_t sc_stats_mmu_err; 85201052Smarius uint32_t sc_stats_tlu_ce; 86201052Smarius uint32_t sc_stats_tlu_oe_non_fatal; 87201052Smarius uint32_t sc_stats_tlu_oe_rx_err; 88201052Smarius uint32_t sc_stats_tlu_oe_tx_err; 89201052Smarius uint32_t sc_stats_ubc_dmardue; 90201052Smarius 91201052Smarius uint8_t sc_pci_secbus; 92201052Smarius uint8_t sc_pci_subbus; 93201052Smarius 94201052Smarius struct ofw_bus_iinfo sc_pci_iinfo; 95201052Smarius}; 96201052Smarius 97201052Smarius#endif /* !_SPARC64_PCI_FIREVAR_H_ */ 98