Home
last modified time | relevance | path

Searched full:window (Results 1 – 25 of 2641) sorted by relevance

12345678910>>...106

/kernel/linux/linux-4.19/drivers/misc/mic/scif/
Dscif_rma.c84 * @nr_pages: number of pages in window
144 * @temp: true if a temporary window is being created
146 * Allocate and prepare a self registration window.
151 struct scif_window *window; in scif_create_window() local
154 window = scif_zalloc(sizeof(*window)); in scif_create_window()
155 if (!window) in scif_create_window()
158 window->dma_addr = scif_zalloc(nr_pages * sizeof(*window->dma_addr)); in scif_create_window()
159 if (!window->dma_addr) in scif_create_window()
162 window->num_pages = scif_zalloc(nr_pages * sizeof(*window->num_pages)); in scif_create_window()
163 if (!window->num_pages) in scif_create_window()
[all …]
Dscif_rma_list.c25 * Insert a temp window to the temp registration list sorted by va_for_temp.
28 void scif_insert_tcw(struct scif_window *window, struct list_head *head) in scif_insert_tcw() argument
34 INIT_LIST_HEAD(&window->list); in scif_insert_tcw()
38 if (curr->va_for_temp < window->va_for_temp) { in scif_insert_tcw()
39 list_add_tail(&window->list, head); in scif_insert_tcw()
45 if (curr->va_for_temp > window->va_for_temp) in scif_insert_tcw()
49 list_add(&window->list, &prev->list); in scif_insert_tcw()
55 * Insert a window to the self registration list sorted by offset.
58 void scif_insert_window(struct scif_window *window, struct list_head *head) in scif_insert_window() argument
63 INIT_LIST_HEAD(&window->list); in scif_insert_window()
[all …]
Dscif_debugfs.c65 static void scif_display_window(struct scif_window *window, struct seq_file *s) in scif_display_window() argument
69 scif_pinned_pages_t pin = window->pinned_pages; in scif_display_window()
71 seq_printf(s, "window %p type %d temp %d offset 0x%llx ", in scif_display_window()
72 window, window->type, window->temp, window->offset); in scif_display_window()
74 window->nr_pages, window->nr_contig_chunks, window->prot); in scif_display_window()
76 window->ref_count, window->magic, window->peer_window); in scif_display_window()
78 window->unreg_state, window->va_for_temp); in scif_display_window()
80 for (j = 0; j < window->nr_contig_chunks; j++) in scif_display_window()
82 window->dma_addr[j], window->num_pages[j]); in scif_display_window()
84 if (window->type == SCIF_WINDOW_SELF && pin) in scif_display_window()
[all …]
Dscif_mmap.c34 struct scif_window *window = NULL; in scif_recv_munmap() local
40 req.out_window = &window; in scif_recv_munmap()
49 /* Does a valid window exist? */ in scif_recv_munmap()
57 scif_put_window(window, window->nr_pages); in scif_recv_munmap()
59 if (!window->ref_count) { in scif_recv_munmap()
62 list_del_init(&window->list); in scif_recv_munmap()
63 scif_free_window_offset(ep, window, window->offset); in scif_recv_munmap()
67 if (window && !window->ref_count) in scif_recv_munmap()
68 scif_queue_for_cleanup(window, &scif_info.rma); in scif_recv_munmap()
128 * the window has not yet been unregistered we can drop the ref count
[all …]
Dscif_rma.h82 * window from being destroyed while RMAs are in progress.
143 * window or multiple contiguous windows. Mmaps can span across partial windows.
145 * single window. A window can also be of type self or peer.
209 * struct scif_window - Registration Window for Self and Remote
218 * @va_for_temp: va address that this window represents
219 * @dma_mark: Used to determine if all DMAs against the window are done
223 * @type: self or peer window
224 * @peer_window: Pointer to peer window. Useful for sending messages to peer
231 * @pinned_pages: The set of pinned_pages backing this window
238 * @mapped_offset: Offset used to map the window by the peer
[all …]
/kernel/linux/linux-5.10/arch/powerpc/platforms/powernv/
Dvas-debug.c31 struct vas_window *window = s->private; in info_show() local
35 /* ensure window is not unmapped */ in info_show()
36 if (!window->hvwc_map) in info_show()
39 seq_printf(s, "Type: %s, %s\n", cop_to_str(window->cop), in info_show()
40 window->tx_win ? "Send" : "Receive"); in info_show()
41 seq_printf(s, "Pid : %d\n", vas_window_pid(window)); in info_show()
58 struct vas_window *window = s->private; in hvwc_show() local
62 /* ensure window is not unmapped */ in hvwc_show()
63 if (!window->hvwc_map) in hvwc_show()
66 print_reg(s, window, VREG(LPID)); in hvwc_show()
[all …]
Dvas-window.c26 * Compute the paste address region for the window @window using the
29 void vas_win_paste_addr(struct vas_window *window, u64 *addr, int *len) in vas_win_paste_addr() argument
34 base = window->vinst->paste_base_addr; in vas_win_paste_addr()
35 shift = window->vinst->paste_win_id_shift; in vas_win_paste_addr()
36 winid = window->winid; in vas_win_paste_addr()
45 static inline void get_hvwc_mmio_bar(struct vas_window *window, in get_hvwc_mmio_bar() argument
50 pbaddr = window->vinst->hvwc_bar_start; in get_hvwc_mmio_bar()
51 *start = pbaddr + window->winid * VAS_HVWC_SIZE; in get_hvwc_mmio_bar()
55 static inline void get_uwc_mmio_bar(struct vas_window *window, in get_uwc_mmio_bar() argument
60 pbaddr = window->vinst->uwc_bar_start; in get_uwc_mmio_bar()
[all …]
Dvas.h31 * Senders and receivers must each connect to a separate window before they
34 * Each window is described by two types of window contexts:
36 * Hypervisor Window Context (HVWC) of size VAS_HVWC_SIZE bytes
38 * OS/User Window Context (UWC) of size VAS_UWC_SIZE bytes.
40 * A window context can be viewed as a set of 64-bit registers. The settings
42 * hardware when messages are sent/received through the window. The registers
45 * the window.
61 * space (hvwc_map and uwc_map). The kernel can then access the window
62 * contexts of a specific window using:
67 * where winid is the window index (0..64K).
[all …]
Dvas-fault.c21 * The maximum FIFO size for fault window can be 8MB
23 * instance will be having fault window.
62 static void update_csb(struct vas_window *window, in update_csb() argument
76 if (WARN_ON_ONCE(!window->mm || !window->user_win)) in update_csb()
95 pid = window->pid; in update_csb()
98 * Process closes send window after all pending NX requests are in update_csb()
100 * open a window and can exit without closing it. May be some in update_csb()
101 * requests are pending or this window can be used by other in update_csb()
105 * invalid, send SEGV signal to pid saved in window. If the in update_csb()
107 * Parent thread (tgid) will close this window upon its exit. in update_csb()
[all …]
/kernel/linux/linux-4.19/arch/powerpc/platforms/powernv/
Dvas-debug.c35 struct vas_window *window = s->private; in info_dbg_show() local
39 /* ensure window is not unmapped */ in info_dbg_show()
40 if (!window->hvwc_map) in info_dbg_show()
43 seq_printf(s, "Type: %s, %s\n", cop_to_str(window->cop), in info_dbg_show()
44 window->tx_win ? "Send" : "Receive"); in info_dbg_show()
45 seq_printf(s, "Pid : %d\n", window->pid); in info_dbg_show()
72 struct vas_window *window = s->private; in hvwc_dbg_show() local
76 /* ensure window is not unmapped */ in hvwc_dbg_show()
77 if (!window->hvwc_map) in hvwc_dbg_show()
80 print_reg(s, window, VREG(LPID)); in hvwc_dbg_show()
[all …]
Dvas-window.c28 * Compute the paste address region for the window @window using the
31 static void compute_paste_address(struct vas_window *window, u64 *addr, int *len) in compute_paste_address() argument
36 base = window->vinst->paste_base_addr; in compute_paste_address()
37 shift = window->vinst->paste_win_id_shift; in compute_paste_address()
38 winid = window->winid; in compute_paste_address()
57 static inline void get_hvwc_mmio_bar(struct vas_window *window, in get_hvwc_mmio_bar() argument
62 pbaddr = window->vinst->hvwc_bar_start; in get_hvwc_mmio_bar()
63 *start = pbaddr + window->winid * VAS_HVWC_SIZE; in get_hvwc_mmio_bar()
67 static inline void get_uwc_mmio_bar(struct vas_window *window, in get_uwc_mmio_bar() argument
72 pbaddr = window->vinst->uwc_bar_start; in get_uwc_mmio_bar()
[all …]
/kernel/linux/linux-5.10/drivers/mtd/maps/
Dichxrom.c57 static void ichxrom_cleanup(struct ichxrom_window *window) in ichxrom_cleanup() argument
63 /* Disable writes through the rom window */ in ichxrom_cleanup()
64 ret = pci_read_config_word(window->pdev, BIOS_CNTL, &word); in ichxrom_cleanup()
66 pci_write_config_word(window->pdev, BIOS_CNTL, word & ~1); in ichxrom_cleanup()
67 pci_dev_put(window->pdev); in ichxrom_cleanup()
70 list_for_each_entry_safe(map, scratch, &window->maps, list) { in ichxrom_cleanup()
78 if (window->rsrc.parent) in ichxrom_cleanup()
79 release_resource(&window->rsrc); in ichxrom_cleanup()
80 if (window->virt) { in ichxrom_cleanup()
81 iounmap(window->virt); in ichxrom_cleanup()
[all …]
Damd76xrom.c48 /* The 2 bits controlling the window size are often set to allow reading
56 * The bits are 6 and 7. If both bits are set, it is a 5MiB window.
57 * If only the 7 Bit is set, it is a 4MiB window. Otherwise, a
58 * 64KiB window.
63 MODULE_PARM_DESC(win_size_bits, "ROM window size bits override for 0x43 byte, normally set by BIOS.…
69 static void amd76xrom_cleanup(struct amd76xrom_window *window) in amd76xrom_cleanup() argument
74 if (window->pdev) { in amd76xrom_cleanup()
75 /* Disable writes through the rom window */ in amd76xrom_cleanup()
76 pci_read_config_byte(window->pdev, 0x40, &byte); in amd76xrom_cleanup()
77 pci_write_config_byte(window->pdev, 0x40, byte & ~1); in amd76xrom_cleanup()
[all …]
Dck804xrom.c54 * The 2 bits controlling the window size are often set to allow reading
62 * The bits are 6 and 7. If both bits are set, it is a 5MiB window.
63 * If only the 7 Bit is set, it is a 4MiB window. Otherwise, a
64 * 64KiB window.
67 * The 15 bits controlling the window size are distributed as follows:
71 * If all bits are enabled, we have a 16? MiB window
76 MODULE_PARM_DESC(win_size_bits, "ROM window size bits override, normally set by BIOS.");
82 static void ck804xrom_cleanup(struct ck804xrom_window *window) in ck804xrom_cleanup() argument
87 if (window->pdev) { in ck804xrom_cleanup()
88 /* Disable writes through the rom window */ in ck804xrom_cleanup()
[all …]
Desb2rom.c118 static void esb2rom_cleanup(struct esb2rom_window *window) in esb2rom_cleanup() argument
123 /* Disable writes through the rom window */ in esb2rom_cleanup()
124 pci_read_config_byte(window->pdev, BIOS_CNTL, &byte); in esb2rom_cleanup()
125 pci_write_config_byte(window->pdev, BIOS_CNTL, in esb2rom_cleanup()
129 list_for_each_entry_safe(map, scratch, &window->maps, list) { in esb2rom_cleanup()
137 if (window->rsrc.parent) in esb2rom_cleanup()
138 release_resource(&window->rsrc); in esb2rom_cleanup()
139 if (window->virt) { in esb2rom_cleanup()
140 iounmap(window->virt); in esb2rom_cleanup()
141 window->virt = NULL; in esb2rom_cleanup()
[all …]
/kernel/linux/linux-4.19/drivers/mtd/maps/
Dichxrom.c56 static void ichxrom_cleanup(struct ichxrom_window *window) in ichxrom_cleanup() argument
62 /* Disable writes through the rom window */ in ichxrom_cleanup()
63 ret = pci_read_config_word(window->pdev, BIOS_CNTL, &word); in ichxrom_cleanup()
65 pci_write_config_word(window->pdev, BIOS_CNTL, word & ~1); in ichxrom_cleanup()
66 pci_dev_put(window->pdev); in ichxrom_cleanup()
69 list_for_each_entry_safe(map, scratch, &window->maps, list) { in ichxrom_cleanup()
77 if (window->rsrc.parent) in ichxrom_cleanup()
78 release_resource(&window->rsrc); in ichxrom_cleanup()
79 if (window->virt) { in ichxrom_cleanup()
80 iounmap(window->virt); in ichxrom_cleanup()
[all …]
Damd76xrom.c47 /* The 2 bits controlling the window size are often set to allow reading
55 * The bits are 6 and 7. If both bits are set, it is a 5MiB window.
56 * If only the 7 Bit is set, it is a 4MiB window. Otherwise, a
57 * 64KiB window.
62 MODULE_PARM_DESC(win_size_bits, "ROM window size bits override for 0x43 byte, normally set by BIOS.…
68 static void amd76xrom_cleanup(struct amd76xrom_window *window) in amd76xrom_cleanup() argument
73 if (window->pdev) { in amd76xrom_cleanup()
74 /* Disable writes through the rom window */ in amd76xrom_cleanup()
75 pci_read_config_byte(window->pdev, 0x40, &byte); in amd76xrom_cleanup()
76 pci_write_config_byte(window->pdev, 0x40, byte & ~1); in amd76xrom_cleanup()
[all …]
Dck804xrom.c53 * The 2 bits controlling the window size are often set to allow reading
61 * The bits are 6 and 7. If both bits are set, it is a 5MiB window.
62 * If only the 7 Bit is set, it is a 4MiB window. Otherwise, a
63 * 64KiB window.
66 * The 15 bits controlling the window size are distributed as follows:
70 * If all bits are enabled, we have a 16? MiB window
75 MODULE_PARM_DESC(win_size_bits, "ROM window size bits override, normally set by BIOS.");
81 static void ck804xrom_cleanup(struct ck804xrom_window *window) in ck804xrom_cleanup() argument
86 if (window->pdev) { in ck804xrom_cleanup()
87 /* Disable writes through the rom window */ in ck804xrom_cleanup()
[all …]
Desb2rom.c117 static void esb2rom_cleanup(struct esb2rom_window *window) in esb2rom_cleanup() argument
122 /* Disable writes through the rom window */ in esb2rom_cleanup()
123 pci_read_config_byte(window->pdev, BIOS_CNTL, &byte); in esb2rom_cleanup()
124 pci_write_config_byte(window->pdev, BIOS_CNTL, in esb2rom_cleanup()
128 list_for_each_entry_safe(map, scratch, &window->maps, list) { in esb2rom_cleanup()
136 if (window->rsrc.parent) in esb2rom_cleanup()
137 release_resource(&window->rsrc); in esb2rom_cleanup()
138 if (window->virt) { in esb2rom_cleanup()
139 iounmap(window->virt); in esb2rom_cleanup()
140 window->virt = NULL; in esb2rom_cleanup()
[all …]
/kernel/linux/linux-4.19/arch/sparc/kernel/
Dwuf.S3 * wuf.S: Window underflow trap handler for the Sparc.
53 * 1 2 3 4 <-- Window number
57 * O == the window that execution was in when
61 * window
63 * W == this window is the one which is now invalid
67 * I == this window will be the invalid one when we
73 /* On 7-window Sparc the boot code patches fnwin_patch1
83 /* LOCATION: Window 'T' */
86 * the proper window off of the stack.
93 wr %twin_tmp1, 0x0, %wim /* Make window 'I' invalid */
[all …]
Dwof.S3 * wof.S: Sparc window overflow handler.
29 * accessed when in the 'trap' window, 'G' means
30 * accessible in any window. Do not change these registers
43 #define twin_tmp l4 /* Temp reg, only usable in trap window T */
49 /* On a 7-window Sparc the boot code patches spnwin_*
74 /* LOCATION: Trap Window */
80 * window properly in this trap handler.
105 /* Save into the window which must be saved and do it.
110 save %g0, %g0, %g0 ! save into the window to stash away
114 /* LOCATION: Window to be saved */
[all …]
/kernel/linux/linux-5.10/arch/sparc/kernel/
Dwuf.S3 * wuf.S: Window underflow trap handler for the Sparc.
53 * 1 2 3 4 <-- Window number
57 * O == the window that execution was in when
61 * window
63 * W == this window is the one which is now invalid
67 * I == this window will be the invalid one when we
73 /* On 7-window Sparc the boot code patches fnwin_patch1
83 /* LOCATION: Window 'T' */
86 * the proper window off of the stack.
93 wr %twin_tmp1, 0x0, %wim /* Make window 'I' invalid */
[all …]
Dwof.S3 * wof.S: Sparc window overflow handler.
29 * accessed when in the 'trap' window, 'G' means
30 * accessible in any window. Do not change these registers
43 #define twin_tmp l4 /* Temp reg, only usable in trap window T */
49 /* On a 7-window Sparc the boot code patches spnwin_*
74 /* LOCATION: Trap Window */
80 * window properly in this trap handler.
105 /* Save into the window which must be saved and do it.
110 save %g0, %g0, %g0 ! save into the window to stash away
114 /* LOCATION: Window to be saved */
[all …]
/kernel/linux/linux-5.10/arch/powerpc/include/asm/
Dvas.h52 * Receive window attributes specified by the (in-kernel) owner of window.
82 * Window attributes specified by the in-kernel owner of a send window.
113 * Helper to initialize receive window attributes to defaults for an
114 * NX window.
119 * Open a VAS receive window for the instance of VAS identified by @vasid
120 * Use @attr to initialize the attributes of the window.
122 * Return a handle to the window or ERR_PTR() on error.
128 * Helper to initialize send window attributes to defaults for an NX window.
134 * Open a VAS send window for the instance of VAS identified by @vasid
136 * of the window.
[all …]
/kernel/linux/linux-4.19/arch/powerpc/include/asm/
Dvas.h56 * Receive window attributes specified by the (in-kernel) owner of window.
86 * Window attributes specified by the in-kernel owner of a send window.
118 * Helper to initialize receive window attributes to defaults for an
119 * NX window.
124 * Open a VAS receive window for the instance of VAS identified by @vasid
125 * Use @attr to initialize the attributes of the window.
127 * Return a handle to the window or ERR_PTR() on error.
133 * Helper to initialize send window attributes to defaults for an NX window.
139 * Open a VAS send window for the instance of VAS identified by @vasid
141 * of the window.
[all …]

12345678910>>...106