Linux Audio

Check our new training course

Loading...
v3.5.6
 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
 9extern 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);
14extern unsigned long pci_sun4v_iommu_demap(unsigned long devhandle,
15					   unsigned long tsbid,
16					   unsigned long num_ttes);
17extern unsigned long pci_sun4v_iommu_getmap(unsigned long devhandle,
18					    unsigned long tsbid,
19					    unsigned long *io_attributes,
20					    unsigned long *real_address);
21extern unsigned long pci_sun4v_config_get(unsigned long devhandle,
22					  unsigned long pci_device,
23					  unsigned long config_offset,
24					  unsigned long size);
25extern 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
31extern unsigned long pci_sun4v_msiq_conf(unsigned long devhandle,
32					 unsigned long msiqid,
33					 unsigned long msiq_paddr,
34					 unsigned long num_entries);
35extern unsigned long pci_sun4v_msiq_info(unsigned long devhandle,
36					 unsigned long msiqid,
37					 unsigned long *msiq_paddr,
38					 unsigned long *num_entries);
39extern unsigned long pci_sun4v_msiq_getvalid(unsigned long devhandle,
40					     unsigned long msiqid,
41					     unsigned long *valid);
42extern unsigned long pci_sun4v_msiq_setvalid(unsigned long devhandle,
43					     unsigned long msiqid,
44					     unsigned long valid);
45extern unsigned long pci_sun4v_msiq_getstate(unsigned long devhandle,
46					     unsigned long msiqid,
47					     unsigned long *state);
48extern unsigned long pci_sun4v_msiq_setstate(unsigned long devhandle,
49					     unsigned long msiqid,
50					     unsigned long state);
51extern unsigned long pci_sun4v_msiq_gethead(unsigned long devhandle,
52					     unsigned long msiqid,
53					     unsigned long *head);
54extern unsigned long pci_sun4v_msiq_sethead(unsigned long devhandle,
55					     unsigned long msiqid,
56					     unsigned long head);
57extern unsigned long pci_sun4v_msiq_gettail(unsigned long devhandle,
58					     unsigned long msiqid,
59					     unsigned long *head);
60extern unsigned long pci_sun4v_msi_getvalid(unsigned long devhandle,
61					    unsigned long msinum,
62					    unsigned long *valid);
63extern unsigned long pci_sun4v_msi_setvalid(unsigned long devhandle,
64					    unsigned long msinum,
65					    unsigned long valid);
66extern unsigned long pci_sun4v_msi_getmsiq(unsigned long devhandle,
67					   unsigned long msinum,
68					   unsigned long *msiq);
69extern unsigned long pci_sun4v_msi_setmsiq(unsigned long devhandle,
70					   unsigned long msinum,
71					   unsigned long msiq,
72					   unsigned long msitype);
73extern unsigned long pci_sun4v_msi_getstate(unsigned long devhandle,
74					    unsigned long msinum,
75					    unsigned long *state);
76extern unsigned long pci_sun4v_msi_setstate(unsigned long devhandle,
77					    unsigned long msinum,
78					    unsigned long state);
79extern unsigned long pci_sun4v_msg_getmsiq(unsigned long devhandle,
80					   unsigned long msinum,
81					   unsigned long *msiq);
82extern unsigned long pci_sun4v_msg_setmsiq(unsigned long devhandle,
83					   unsigned long msinum,
84					   unsigned long msiq);
85extern unsigned long pci_sun4v_msg_getvalid(unsigned long devhandle,
86					    unsigned long msinum,
87					    unsigned long *valid);
88extern unsigned long pci_sun4v_msg_setvalid(unsigned long devhandle,
89					    unsigned long msinum,
90					    unsigned long valid);
91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92#endif /* !(_PCI_SUN4V_H) */
v4.10.11
  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
  9long 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);
 14unsigned long pci_sun4v_iommu_demap(unsigned long devhandle,
 15				    unsigned long tsbid,
 16				    unsigned long num_ttes);
 17unsigned long pci_sun4v_iommu_getmap(unsigned long devhandle,
 18				     unsigned long tsbid,
 19				     unsigned long *io_attributes,
 20				     unsigned long *real_address);
 21unsigned long pci_sun4v_config_get(unsigned long devhandle,
 22				   unsigned long pci_device,
 23				   unsigned long config_offset,
 24				   unsigned long size);
 25int 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
 31unsigned long pci_sun4v_msiq_conf(unsigned long devhandle,
 32					 unsigned long msiqid,
 33					 unsigned long msiq_paddr,
 34					 unsigned long num_entries);
 35unsigned long pci_sun4v_msiq_info(unsigned long devhandle,
 36				  unsigned long msiqid,
 37				  unsigned long *msiq_paddr,
 38				  unsigned long *num_entries);
 39unsigned long pci_sun4v_msiq_getvalid(unsigned long devhandle,
 40				      unsigned long msiqid,
 41				      unsigned long *valid);
 42unsigned long pci_sun4v_msiq_setvalid(unsigned long devhandle,
 43				      unsigned long msiqid,
 44				      unsigned long valid);
 45unsigned long pci_sun4v_msiq_getstate(unsigned long devhandle,
 46				      unsigned long msiqid,
 47				      unsigned long *state);
 48unsigned long pci_sun4v_msiq_setstate(unsigned long devhandle,
 49				      unsigned long msiqid,
 50				      unsigned long state);
 51unsigned long pci_sun4v_msiq_gethead(unsigned long devhandle,
 52				     unsigned long msiqid,
 53				     unsigned long *head);
 54unsigned long pci_sun4v_msiq_sethead(unsigned long devhandle,
 55				     unsigned long msiqid,
 56				     unsigned long head);
 57unsigned long pci_sun4v_msiq_gettail(unsigned long devhandle,
 58				      unsigned long msiqid,
 59				      unsigned long *head);
 60unsigned long pci_sun4v_msi_getvalid(unsigned long devhandle,
 61				     unsigned long msinum,
 62				     unsigned long *valid);
 63unsigned long pci_sun4v_msi_setvalid(unsigned long devhandle,
 64				     unsigned long msinum,
 65				     unsigned long valid);
 66unsigned long pci_sun4v_msi_getmsiq(unsigned long devhandle,
 67				    unsigned long msinum,
 68				    unsigned long *msiq);
 69unsigned long pci_sun4v_msi_setmsiq(unsigned long devhandle,
 70				    unsigned long msinum,
 71				    unsigned long msiq,
 72				    unsigned long msitype);
 73unsigned long pci_sun4v_msi_getstate(unsigned long devhandle,
 74				     unsigned long msinum,
 75				     unsigned long *state);
 76unsigned long pci_sun4v_msi_setstate(unsigned long devhandle,
 77				     unsigned long msinum,
 78				     unsigned long state);
 79unsigned long pci_sun4v_msg_getmsiq(unsigned long devhandle,
 80				    unsigned long msinum,
 81				    unsigned long *msiq);
 82unsigned long pci_sun4v_msg_setmsiq(unsigned long devhandle,
 83				    unsigned long msinum,
 84				    unsigned long msiq);
 85unsigned long pci_sun4v_msg_getvalid(unsigned long devhandle,
 86				     unsigned long msinum,
 87				     unsigned long *valid);
 88unsigned long pci_sun4v_msg_setvalid(unsigned long devhandle,
 89				     unsigned long msinum,
 90				     unsigned long valid);
 91
 92/* Sun4v HV IOMMU v2 APIs */
 93unsigned long pci_sun4v_iotsb_conf(unsigned long devhandle,
 94				   unsigned long ra,
 95				   unsigned long table_size,
 96				   unsigned long page_size,
 97				   unsigned long dvma_base,
 98				   u64 *iotsb_num);
 99unsigned long pci_sun4v_iotsb_bind(unsigned long devhandle,
100				   unsigned long iotsb_num,
101				   unsigned int pci_device);
102unsigned long pci_sun4v_iotsb_map(unsigned long devhandle,
103				  unsigned long iotsb_num,
104				  unsigned long iotsb_index_iottes,
105				  unsigned long io_attributes,
106				  unsigned long io_page_list_pa,
107				  long *mapped);
108unsigned long pci_sun4v_iotsb_demap(unsigned long devhandle,
109				    unsigned long iotsb_num,
110				    unsigned long iotsb_index,
111				    unsigned long iottes,
112				    unsigned long *demapped);
113#endif /* !(_PCI_SUN4V_H) */