H A D | gasket_page_table.c | 232 struct gasket_page_table *pg_tbl; in gasket_page_table_init() local 260 pg_tbl = *ppg_tbl; in gasket_page_table_init() 263 pg_tbl->entries = vzalloc(bytes); in gasket_page_table_init() 264 if (!pg_tbl->entries) { in gasket_page_table_init() 267 kfree(pg_tbl); in gasket_page_table_init() 273 mutex_init(&pg_tbl->mutex); in gasket_page_table_init() 274 memcpy(&pg_tbl->config, page_table_config, sizeof(*page_table_config)); in gasket_page_table_init() 275 if (pg_tbl->config.mode == GASKET_PAGE_TABLE_MODE_NORMAL || in gasket_page_table_init() 276 pg_tbl->config.mode == GASKET_PAGE_TABLE_MODE_SIMPLE) { in gasket_page_table_init() 277 pg_tbl in gasket_page_table_init() 319 gasket_free_extended_subtable(struct gasket_page_table *pg_tbl, struct gasket_page_table_entry *pte, u64 __iomem *slot) gasket_free_extended_subtable() argument 346 gasket_page_table_garbage_collect_nolock(struct gasket_page_table *pg_tbl) gasket_page_table_garbage_collect_nolock() argument 368 gasket_page_table_garbage_collect(struct gasket_page_table *pg_tbl) gasket_page_table_garbage_collect() argument 376 gasket_page_table_cleanup(struct gasket_page_table *pg_tbl) gasket_page_table_cleanup() argument 391 gasket_page_table_partition(struct gasket_page_table *pg_tbl, uint num_simple_entries) gasket_page_table_partition() argument 430 is_coherent(struct gasket_page_table *pg_tbl, ulong host_addr) is_coherent() argument 465 gasket_perform_mapping(struct gasket_page_table *pg_tbl, struct gasket_page_table_entry *ptes, u64 __iomem *slots, ulong host_addr, uint num_pages, int is_simple_mapping) gasket_perform_mapping() argument 542 gasket_simple_page_idx(struct gasket_page_table *pg_tbl, ulong dev_addr) gasket_simple_page_idx() argument 553 gasket_extended_lvl0_page_idx(struct gasket_page_table *pg_tbl, ulong dev_addr) gasket_extended_lvl0_page_idx() argument 564 gasket_extended_lvl1_page_idx(struct gasket_page_table *pg_tbl, ulong dev_addr) gasket_extended_lvl1_page_idx() argument 575 gasket_alloc_simple_entries(struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages) gasket_alloc_simple_entries() argument 590 gasket_perform_unmapping(struct gasket_page_table *pg_tbl, struct gasket_page_table_entry *ptes, u64 __iomem *slots, uint num_pages, int is_simple_mapping) gasket_perform_unmapping() argument 629 gasket_unmap_simple_pages(struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages) gasket_unmap_simple_pages() argument 642 gasket_unmap_extended_pages(struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages) gasket_unmap_extended_pages() argument 673 gasket_addr_is_simple(struct gasket_page_table *pg_tbl, ulong addr) gasket_addr_is_simple() argument 691 gasket_components_to_dev_address(struct gasket_page_table *pg_tbl, int is_simple, uint page_index, uint offset) gasket_components_to_dev_address() argument 707 gasket_is_simple_dev_addr_bad(struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages) gasket_is_simple_dev_addr_bad() argument 745 gasket_is_extended_dev_addr_bad(struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages) gasket_is_extended_dev_addr_bad() argument 801 gasket_page_table_unmap_nolock(struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages) gasket_page_table_unmap_nolock() argument 817 gasket_map_simple_pages(struct gasket_page_table *pg_tbl, ulong host_addr, ulong dev_addr, uint num_pages) gasket_map_simple_pages() argument 847 gasket_alloc_extended_subtable(struct gasket_page_table *pg_tbl, struct gasket_page_table_entry *pte, u64 __iomem *slot) gasket_alloc_extended_subtable() argument 908 gasket_alloc_extended_entries(struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_entries) gasket_alloc_extended_entries() argument 953 gasket_map_extended_pages(struct gasket_page_table *pg_tbl, ulong host_addr, ulong dev_addr, uint num_pages) gasket_map_extended_pages() argument 1012 gasket_page_table_map(struct gasket_page_table *pg_tbl, ulong host_addr, ulong dev_addr, uint num_pages) gasket_page_table_map() argument 1044 gasket_page_table_unmap(struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages) gasket_page_table_unmap() argument 1056 gasket_page_table_unmap_all_nolock(struct gasket_page_table *pg_tbl) gasket_page_table_unmap_all_nolock() argument 1070 gasket_page_table_unmap_all(struct gasket_page_table *pg_tbl) gasket_page_table_unmap_all() argument 1079 gasket_page_table_reset(struct gasket_page_table *pg_tbl) gasket_page_table_reset() argument 1088 gasket_page_table_lookup_page(struct gasket_page_table *pg_tbl, ulong dev_addr, struct page **ppage, ulong *poffset) gasket_page_table_lookup_page() argument 1134 gasket_page_table_are_addrs_bad(struct gasket_page_table *pg_tbl, ulong host_addr, ulong dev_addr, ulong bytes) gasket_page_table_are_addrs_bad() argument 1150 gasket_page_table_is_dev_addr_bad(struct gasket_page_table *pg_tbl, ulong dev_addr, ulong bytes) gasket_page_table_is_dev_addr_bad() argument 1185 gasket_page_table_num_entries(struct gasket_page_table *pg_tbl) gasket_page_table_num_entries() argument 1194 gasket_page_table_num_simple_entries(struct gasket_page_table *pg_tbl) gasket_page_table_num_simple_entries() argument 1203 gasket_page_table_num_active_pages(struct gasket_page_table *pg_tbl) gasket_page_table_num_active_pages() argument 1230 struct gasket_page_table *pg_tbl; gasket_set_user_virt() local [all...] |