1 /* pci_sun4v.h: SUN4V specific PCI controller support. 2 * 3 * Copyright (C) 2006 David S. Miller (davem@davemloft.net) 4 */ 5 6 #ifndef _PCI_SUN4V_H 7 #define _PCI_SUN4V_H 8 9 extern long pci_sun4v_iommu_map(unsigned long devhandle, 10 unsigned long tsbid, 11 unsigned long num_ttes, 12 unsigned long io_attributes, 13 unsigned long io_page_list_pa); 14 extern unsigned long pci_sun4v_iommu_demap(unsigned long devhandle, 15 unsigned long tsbid, 16 unsigned long num_ttes); 17 extern unsigned long pci_sun4v_iommu_getmap(unsigned long devhandle, 18 unsigned long tsbid, 19 unsigned long *io_attributes, 20 unsigned long *real_address); 21 extern unsigned long pci_sun4v_config_get(unsigned long devhandle, 22 unsigned long pci_device, 23 unsigned long config_offset, 24 unsigned long size); 25 extern int pci_sun4v_config_put(unsigned long devhandle, 26 unsigned long pci_device, 27 unsigned long config_offset, 28 unsigned long size, 29 unsigned long data); 30 31 extern unsigned long pci_sun4v_msiq_conf(unsigned long devhandle, 32 unsigned long msiqid, 33 unsigned long msiq_paddr, 34 unsigned long num_entries); 35 extern unsigned long pci_sun4v_msiq_info(unsigned long devhandle, 36 unsigned long msiqid, 37 unsigned long *msiq_paddr, 38 unsigned long *num_entries); 39 extern unsigned long pci_sun4v_msiq_getvalid(unsigned long devhandle, 40 unsigned long msiqid, 41 unsigned long *valid); 42 extern unsigned long pci_sun4v_msiq_setvalid(unsigned long devhandle, 43 unsigned long msiqid, 44 unsigned long valid); 45 extern unsigned long pci_sun4v_msiq_getstate(unsigned long devhandle, 46 unsigned long msiqid, 47 unsigned long *state); 48 extern unsigned long pci_sun4v_msiq_setstate(unsigned long devhandle, 49 unsigned long msiqid, 50 unsigned long state); 51 extern unsigned long pci_sun4v_msiq_gethead(unsigned long devhandle, 52 unsigned long msiqid, 53 unsigned long *head); 54 extern unsigned long pci_sun4v_msiq_sethead(unsigned long devhandle, 55 unsigned long msiqid, 56 unsigned long head); 57 extern unsigned long pci_sun4v_msiq_gettail(unsigned long devhandle, 58 unsigned long msiqid, 59 unsigned long *head); 60 extern unsigned long pci_sun4v_msi_getvalid(unsigned long devhandle, 61 unsigned long msinum, 62 unsigned long *valid); 63 extern unsigned long pci_sun4v_msi_setvalid(unsigned long devhandle, 64 unsigned long msinum, 65 unsigned long valid); 66 extern unsigned long pci_sun4v_msi_getmsiq(unsigned long devhandle, 67 unsigned long msinum, 68 unsigned long *msiq); 69 extern unsigned long pci_sun4v_msi_setmsiq(unsigned long devhandle, 70 unsigned long msinum, 71 unsigned long msiq, 72 unsigned long msitype); 73 extern unsigned long pci_sun4v_msi_getstate(unsigned long devhandle, 74 unsigned long msinum, 75 unsigned long *state); 76 extern unsigned long pci_sun4v_msi_setstate(unsigned long devhandle, 77 unsigned long msinum, 78 unsigned long state); 79 extern unsigned long pci_sun4v_msg_getmsiq(unsigned long devhandle, 80 unsigned long msinum, 81 unsigned long *msiq); 82 extern unsigned long pci_sun4v_msg_setmsiq(unsigned long devhandle, 83 unsigned long msinum, 84 unsigned long msiq); 85 extern unsigned long pci_sun4v_msg_getvalid(unsigned long devhandle, 86 unsigned long msinum, 87 unsigned long *valid); 88 extern unsigned long pci_sun4v_msg_setvalid(unsigned long devhandle, 89 unsigned long msinum, 90 unsigned long valid); 91 92 #endif /* !(_PCI_SUN4V_H) */ 93