Linux Audio

Check our new training course

Loading...
v5.9
  1/* SPDX-License-Identifier: GPL-2.0 */
  2/* pci_sun4v.h: SUN4V specific PCI controller support.
  3 *
  4 * Copyright (C) 2006 David S. Miller (davem@davemloft.net)
  5 */
  6
  7#ifndef _PCI_SUN4V_H
  8#define _PCI_SUN4V_H
  9
 10long pci_sun4v_iommu_map(unsigned long devhandle,
 11			 unsigned long tsbid,
 12			 unsigned long num_ttes,
 13			 unsigned long io_attributes,
 14			 unsigned long io_page_list_pa);
 15unsigned long pci_sun4v_iommu_demap(unsigned long devhandle,
 16				    unsigned long tsbid,
 17				    unsigned long num_ttes);
 18unsigned long pci_sun4v_iommu_getmap(unsigned long devhandle,
 19				     unsigned long tsbid,
 20				     unsigned long *io_attributes,
 21				     unsigned long *real_address);
 22unsigned long pci_sun4v_config_get(unsigned long devhandle,
 23				   unsigned long pci_device,
 24				   unsigned long config_offset,
 25				   unsigned long size);
 26int pci_sun4v_config_put(unsigned long devhandle,
 27			 unsigned long pci_device,
 28			 unsigned long config_offset,
 29			 unsigned long size,
 30			 unsigned long data);
 31
 32unsigned long pci_sun4v_msiq_conf(unsigned long devhandle,
 33					 unsigned long msiqid,
 34					 unsigned long msiq_paddr,
 35					 unsigned long num_entries);
 36unsigned long pci_sun4v_msiq_info(unsigned long devhandle,
 37				  unsigned long msiqid,
 38				  unsigned long *msiq_paddr,
 39				  unsigned long *num_entries);
 40unsigned long pci_sun4v_msiq_getvalid(unsigned long devhandle,
 41				      unsigned long msiqid,
 42				      unsigned long *valid);
 43unsigned long pci_sun4v_msiq_setvalid(unsigned long devhandle,
 44				      unsigned long msiqid,
 45				      unsigned long valid);
 46unsigned long pci_sun4v_msiq_getstate(unsigned long devhandle,
 47				      unsigned long msiqid,
 48				      unsigned long *state);
 49unsigned long pci_sun4v_msiq_setstate(unsigned long devhandle,
 50				      unsigned long msiqid,
 51				      unsigned long state);
 52unsigned long pci_sun4v_msiq_gethead(unsigned long devhandle,
 53				     unsigned long msiqid,
 54				     unsigned long *head);
 55unsigned long pci_sun4v_msiq_sethead(unsigned long devhandle,
 56				     unsigned long msiqid,
 57				     unsigned long head);
 58unsigned long pci_sun4v_msiq_gettail(unsigned long devhandle,
 59				      unsigned long msiqid,
 60				      unsigned long *head);
 61unsigned long pci_sun4v_msi_getvalid(unsigned long devhandle,
 62				     unsigned long msinum,
 63				     unsigned long *valid);
 64unsigned long pci_sun4v_msi_setvalid(unsigned long devhandle,
 65				     unsigned long msinum,
 66				     unsigned long valid);
 67unsigned long pci_sun4v_msi_getmsiq(unsigned long devhandle,
 68				    unsigned long msinum,
 69				    unsigned long *msiq);
 70unsigned long pci_sun4v_msi_setmsiq(unsigned long devhandle,
 71				    unsigned long msinum,
 72				    unsigned long msiq,
 73				    unsigned long msitype);
 74unsigned long pci_sun4v_msi_getstate(unsigned long devhandle,
 75				     unsigned long msinum,
 76				     unsigned long *state);
 77unsigned long pci_sun4v_msi_setstate(unsigned long devhandle,
 78				     unsigned long msinum,
 79				     unsigned long state);
 80unsigned long pci_sun4v_msg_getmsiq(unsigned long devhandle,
 81				    unsigned long msinum,
 82				    unsigned long *msiq);
 83unsigned long pci_sun4v_msg_setmsiq(unsigned long devhandle,
 84				    unsigned long msinum,
 85				    unsigned long msiq);
 86unsigned long pci_sun4v_msg_getvalid(unsigned long devhandle,
 87				     unsigned long msinum,
 88				     unsigned long *valid);
 89unsigned long pci_sun4v_msg_setvalid(unsigned long devhandle,
 90				     unsigned long msinum,
 91				     unsigned long valid);
 92
 93/* Sun4v HV IOMMU v2 APIs */
 94unsigned long pci_sun4v_iotsb_conf(unsigned long devhandle,
 95				   unsigned long ra,
 96				   unsigned long table_size,
 97				   unsigned long page_size,
 98				   unsigned long dvma_base,
 99				   u64 *iotsb_num);
100unsigned long pci_sun4v_iotsb_bind(unsigned long devhandle,
101				   unsigned long iotsb_num,
102				   unsigned int pci_device);
103unsigned long pci_sun4v_iotsb_map(unsigned long devhandle,
104				  unsigned long iotsb_num,
105				  unsigned long iotsb_index_iottes,
106				  unsigned long io_attributes,
107				  unsigned long io_page_list_pa,
108				  long *mapped);
109unsigned long pci_sun4v_iotsb_demap(unsigned long devhandle,
110				    unsigned long iotsb_num,
111				    unsigned long iotsb_index,
112				    unsigned long iottes,
113				    unsigned long *demapped);
114#endif /* !(_PCI_SUN4V_H) */
v3.15
 
 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) */