0001
0002
0003
0004
0005
0006
0007 #ifndef _PCI_SUN4V_H
0008 #define _PCI_SUN4V_H
0009
0010 long pci_sun4v_iommu_map(unsigned long devhandle,
0011 unsigned long tsbid,
0012 unsigned long num_ttes,
0013 unsigned long io_attributes,
0014 unsigned long io_page_list_pa);
0015 unsigned long pci_sun4v_iommu_demap(unsigned long devhandle,
0016 unsigned long tsbid,
0017 unsigned long num_ttes);
0018 unsigned long pci_sun4v_iommu_getmap(unsigned long devhandle,
0019 unsigned long tsbid,
0020 unsigned long *io_attributes,
0021 unsigned long *real_address);
0022 unsigned long pci_sun4v_config_get(unsigned long devhandle,
0023 unsigned long pci_device,
0024 unsigned long config_offset,
0025 unsigned long size);
0026 int pci_sun4v_config_put(unsigned long devhandle,
0027 unsigned long pci_device,
0028 unsigned long config_offset,
0029 unsigned long size,
0030 unsigned long data);
0031
0032 unsigned long pci_sun4v_msiq_conf(unsigned long devhandle,
0033 unsigned long msiqid,
0034 unsigned long msiq_paddr,
0035 unsigned long num_entries);
0036 unsigned long pci_sun4v_msiq_info(unsigned long devhandle,
0037 unsigned long msiqid,
0038 unsigned long *msiq_paddr,
0039 unsigned long *num_entries);
0040 unsigned long pci_sun4v_msiq_getvalid(unsigned long devhandle,
0041 unsigned long msiqid,
0042 unsigned long *valid);
0043 unsigned long pci_sun4v_msiq_setvalid(unsigned long devhandle,
0044 unsigned long msiqid,
0045 unsigned long valid);
0046 unsigned long pci_sun4v_msiq_getstate(unsigned long devhandle,
0047 unsigned long msiqid,
0048 unsigned long *state);
0049 unsigned long pci_sun4v_msiq_setstate(unsigned long devhandle,
0050 unsigned long msiqid,
0051 unsigned long state);
0052 unsigned long pci_sun4v_msiq_gethead(unsigned long devhandle,
0053 unsigned long msiqid,
0054 unsigned long *head);
0055 unsigned long pci_sun4v_msiq_sethead(unsigned long devhandle,
0056 unsigned long msiqid,
0057 unsigned long head);
0058 unsigned long pci_sun4v_msiq_gettail(unsigned long devhandle,
0059 unsigned long msiqid,
0060 unsigned long *head);
0061 unsigned long pci_sun4v_msi_getvalid(unsigned long devhandle,
0062 unsigned long msinum,
0063 unsigned long *valid);
0064 unsigned long pci_sun4v_msi_setvalid(unsigned long devhandle,
0065 unsigned long msinum,
0066 unsigned long valid);
0067 unsigned long pci_sun4v_msi_getmsiq(unsigned long devhandle,
0068 unsigned long msinum,
0069 unsigned long *msiq);
0070 unsigned long pci_sun4v_msi_setmsiq(unsigned long devhandle,
0071 unsigned long msinum,
0072 unsigned long msiq,
0073 unsigned long msitype);
0074 unsigned long pci_sun4v_msi_getstate(unsigned long devhandle,
0075 unsigned long msinum,
0076 unsigned long *state);
0077 unsigned long pci_sun4v_msi_setstate(unsigned long devhandle,
0078 unsigned long msinum,
0079 unsigned long state);
0080 unsigned long pci_sun4v_msg_getmsiq(unsigned long devhandle,
0081 unsigned long msinum,
0082 unsigned long *msiq);
0083 unsigned long pci_sun4v_msg_setmsiq(unsigned long devhandle,
0084 unsigned long msinum,
0085 unsigned long msiq);
0086 unsigned long pci_sun4v_msg_getvalid(unsigned long devhandle,
0087 unsigned long msinum,
0088 unsigned long *valid);
0089 unsigned long pci_sun4v_msg_setvalid(unsigned long devhandle,
0090 unsigned long msinum,
0091 unsigned long valid);
0092
0093
0094 unsigned long pci_sun4v_iotsb_conf(unsigned long devhandle,
0095 unsigned long ra,
0096 unsigned long table_size,
0097 unsigned long page_size,
0098 unsigned long dvma_base,
0099 u64 *iotsb_num);
0100 unsigned long pci_sun4v_iotsb_bind(unsigned long devhandle,
0101 unsigned long iotsb_num,
0102 unsigned int pci_device);
0103 unsigned long pci_sun4v_iotsb_map(unsigned long devhandle,
0104 unsigned long iotsb_num,
0105 unsigned long iotsb_index_iottes,
0106 unsigned long io_attributes,
0107 unsigned long io_page_list_pa,
0108 long *mapped);
0109 unsigned long pci_sun4v_iotsb_demap(unsigned long devhandle,
0110 unsigned long iotsb_num,
0111 unsigned long iotsb_index,
0112 unsigned long iottes,
0113 unsigned long *demapped);
0114 #endif