RT-Thread RTOS 1.2.0
An open source embedded real-time operating system
载入中...
搜索中...
未找到
pci_endpoint.h 文件参考
#include <drivers/pci.h>
+ pci_endpoint.h 的引用(Include)关系图:

浏览该文件的源代码.

结构体

struct  rt_pci_ep_header
 
struct  rt_pci_ep_bar
 
struct  rt_pci_ep_msix_tbl
 
struct  rt_pci_ep
 
struct  rt_pci_ep_mem
 
struct  rt_pci_epf
 
struct  rt_pci_ep_ops
 

枚举

enum  rt_pci_ep_pin {
  RT_PCI_EP_PIN_UNKNOWN , RT_PCI_EP_PIN_INTA , RT_PCI_EP_PIN_INTB , RT_PCI_EP_PIN_INTC ,
  RT_PCI_EP_PIN_INTD
}
 
enum  rt_pci_ep_irq { RT_PCI_EP_IRQ_UNKNOWN , RT_PCI_EP_IRQ_LEGACY , RT_PCI_EP_IRQ_MSI , RT_PCI_EP_IRQ_MSIX }
 

函数

rt_err_t rt_pci_ep_write_header (struct rt_pci_ep *ep, rt_uint8_t func_no, struct rt_pci_ep_header *hdr)
 
rt_err_t rt_pci_ep_set_bar (struct rt_pci_ep *ep, rt_uint8_t func_no, struct rt_pci_ep_bar *bar, int bar_idx)
 
rt_err_t rt_pci_ep_clear_bar (struct rt_pci_ep *ep, rt_uint8_t func_no, struct rt_pci_ep_bar *bar, int bar_idx)
 
rt_err_t rt_pci_ep_map_addr (struct rt_pci_ep *ep, rt_uint8_t func_no, rt_ubase_t addr, rt_uint64_t pci_addr, rt_size_t size)
 
rt_err_t rt_pci_ep_unmap_addr (struct rt_pci_ep *ep, rt_uint8_t func_no, rt_ubase_t addr)
 
rt_err_t rt_pci_ep_set_msi (struct rt_pci_ep *ep, rt_uint8_t func_no, unsigned irq_nr)
 
rt_err_t rt_pci_ep_get_msi (struct rt_pci_ep *ep, rt_uint8_t func_no, unsigned *out_irq_nr)
 
rt_err_t rt_pci_ep_set_msix (struct rt_pci_ep *ep, rt_uint8_t func_no, unsigned irq_nr, int bar_idx, rt_off_t offset)
 
rt_err_t rt_pci_ep_get_msix (struct rt_pci_ep *ep, rt_uint8_t func_no, unsigned *out_irq_nr)
 
rt_err_t rt_pci_ep_raise_irq (struct rt_pci_ep *ep, rt_uint8_t func_no, enum rt_pci_ep_irq type, unsigned irq)
 
rt_err_t rt_pci_ep_start (struct rt_pci_ep *ep)
 
rt_err_t rt_pci_ep_stop (struct rt_pci_ep *ep)
 
rt_err_t rt_pci_ep_register (struct rt_pci_ep *ep)
 
rt_err_t rt_pci_ep_unregister (struct rt_pci_ep *ep)
 
rt_err_t rt_pci_ep_mem_array_init (struct rt_pci_ep *ep, struct rt_pci_ep_mem *mems, rt_size_t mems_nr)
 
rt_err_t rt_pci_ep_mem_init (struct rt_pci_ep *ep, rt_ubase_t cpu_addr, rt_size_t size, rt_size_t page_size)
 
void * rt_pci_ep_mem_alloc (struct rt_pci_ep *ep, rt_ubase_t *out_cpu_addr, rt_size_t size)
 
void rt_pci_ep_mem_free (struct rt_pci_ep *ep, void *vaddr, rt_ubase_t cpu_addr, rt_size_t size)
 
rt_err_t rt_pci_ep_add_epf (struct rt_pci_ep *ep, struct rt_pci_epf *epf)
 
rt_err_t rt_pci_ep_remove_epf (struct rt_pci_ep *ep, struct rt_pci_epf *epf)
 
struct rt_pci_eprt_pci_ep_get (const char *name)
 
void rt_pci_ep_put (struct rt_pci_ep *ep)
 

枚举类型说明

◆ rt_pci_ep_pin

枚举值
RT_PCI_EP_PIN_UNKNOWN 
RT_PCI_EP_PIN_INTA 
RT_PCI_EP_PIN_INTB 
RT_PCI_EP_PIN_INTC 
RT_PCI_EP_PIN_INTD 

在文件 pci_endpoint.h16 行定义.

◆ rt_pci_ep_irq

枚举值
RT_PCI_EP_IRQ_UNKNOWN 
RT_PCI_EP_IRQ_LEGACY 
RT_PCI_EP_IRQ_MSI 
RT_PCI_EP_IRQ_MSIX 

在文件 pci_endpoint.h25 行定义.

函数说明

◆ rt_pci_ep_write_header()

rt_err_t rt_pci_ep_write_header ( struct rt_pci_ep * ep,
rt_uint8_t func_no,
struct rt_pci_ep_header * hdr )

◆ rt_pci_ep_set_bar()

rt_err_t rt_pci_ep_set_bar ( struct rt_pci_ep * ep,
rt_uint8_t func_no,
struct rt_pci_ep_bar * bar,
int bar_idx )

◆ rt_pci_ep_clear_bar()

rt_err_t rt_pci_ep_clear_bar ( struct rt_pci_ep * ep,
rt_uint8_t func_no,
struct rt_pci_ep_bar * bar,
int bar_idx )

◆ rt_pci_ep_map_addr()

rt_err_t rt_pci_ep_map_addr ( struct rt_pci_ep * ep,
rt_uint8_t func_no,
rt_ubase_t addr,
rt_uint64_t pci_addr,
rt_size_t size )

◆ rt_pci_ep_unmap_addr()

rt_err_t rt_pci_ep_unmap_addr ( struct rt_pci_ep * ep,
rt_uint8_t func_no,
rt_ubase_t addr )

◆ rt_pci_ep_set_msi()

rt_err_t rt_pci_ep_set_msi ( struct rt_pci_ep * ep,
rt_uint8_t func_no,
unsigned irq_nr )

◆ rt_pci_ep_get_msi()

rt_err_t rt_pci_ep_get_msi ( struct rt_pci_ep * ep,
rt_uint8_t func_no,
unsigned * out_irq_nr )

◆ rt_pci_ep_set_msix()

rt_err_t rt_pci_ep_set_msix ( struct rt_pci_ep * ep,
rt_uint8_t func_no,
unsigned irq_nr,
int bar_idx,
rt_off_t offset )

◆ rt_pci_ep_get_msix()

rt_err_t rt_pci_ep_get_msix ( struct rt_pci_ep * ep,
rt_uint8_t func_no,
unsigned * out_irq_nr )

◆ rt_pci_ep_raise_irq()

rt_err_t rt_pci_ep_raise_irq ( struct rt_pci_ep * ep,
rt_uint8_t func_no,
enum rt_pci_ep_irq type,
unsigned irq )

◆ rt_pci_ep_start()

rt_err_t rt_pci_ep_start ( struct rt_pci_ep * ep)

◆ rt_pci_ep_stop()

rt_err_t rt_pci_ep_stop ( struct rt_pci_ep * ep)

◆ rt_pci_ep_register()

rt_err_t rt_pci_ep_register ( struct rt_pci_ep * ep)

◆ rt_pci_ep_unregister()

rt_err_t rt_pci_ep_unregister ( struct rt_pci_ep * ep)

◆ rt_pci_ep_mem_array_init()

rt_err_t rt_pci_ep_mem_array_init ( struct rt_pci_ep * ep,
struct rt_pci_ep_mem * mems,
rt_size_t mems_nr )

◆ rt_pci_ep_mem_init()

rt_err_t rt_pci_ep_mem_init ( struct rt_pci_ep * ep,
rt_ubase_t cpu_addr,
rt_size_t size,
rt_size_t page_size )

◆ rt_pci_ep_mem_alloc()

void * rt_pci_ep_mem_alloc ( struct rt_pci_ep * ep,
rt_ubase_t * out_cpu_addr,
rt_size_t size )

◆ rt_pci_ep_mem_free()

void rt_pci_ep_mem_free ( struct rt_pci_ep * ep,
void * vaddr,
rt_ubase_t cpu_addr,
rt_size_t size )

◆ rt_pci_ep_add_epf()

rt_err_t rt_pci_ep_add_epf ( struct rt_pci_ep * ep,
struct rt_pci_epf * epf )

◆ rt_pci_ep_remove_epf()

rt_err_t rt_pci_ep_remove_epf ( struct rt_pci_ep * ep,
struct rt_pci_epf * epf )

◆ rt_pci_ep_get()

struct rt_pci_ep * rt_pci_ep_get ( const char * name)

◆ rt_pci_ep_put()

void rt_pci_ep_put ( struct rt_pci_ep * ep)