Rev 6131 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6131 | Rev 6296 | ||
---|---|---|---|
Line 43... | Line 43... | ||
43 | static void |
43 | static void |
44 | drm_clflush_page(struct page *page) |
44 | drm_clflush_page(struct page *page) |
45 | { |
45 | { |
46 | uint8_t *page_virtual; |
46 | uint8_t *page_virtual; |
47 | unsigned int i; |
47 | unsigned int i; |
48 | const int size = boot_cpu_data.x86_clflush_size; |
48 | const int size = x86_clflush_size; |
Line 49... | Line 49... | ||
49 | 49 | ||
50 | if (unlikely(page == NULL)) |
50 | if (unlikely(page == NULL)) |
Line 51... | Line 51... | ||
51 | return; |
51 | return; |
Line 99... | Line 99... | ||
99 | 99 | ||
100 | void |
100 | void |
101 | drm_clflush_sg(struct sg_table *st) |
101 | drm_clflush_sg(struct sg_table *st) |
102 | { |
102 | { |
103 | #if defined(CONFIG_X86) |
103 | #if defined(CONFIG_X86) |
104 | if (cpu_has_clflush) { |
104 | if (1) { |
Line 105... | Line 105... | ||
105 | struct sg_page_iter sg_iter; |
105 | struct sg_page_iter sg_iter; |
106 | 106 | ||
107 | mb(); |
107 | mb(); |
108 | for_each_sg_page(st->sgl, &sg_iter, st->nents, 0) |
108 | for_each_sg_page(st->sgl, &sg_iter, st->nents, 0) |
Line 109... | Line 109... | ||
109 | drm_clflush_page(sg_page_iter_page(&sg_iter)); |
109 | drm_clflush_page(sg_page_iter_page(&sg_iter)); |
110 | mb(); |
110 | mb(); |
Line 111... | Line -... | ||
111 | - | ||
112 | return; |
- | |
113 | } |
111 | |
114 | 112 | return; |
|
115 | if (wbinvd_on_all_cpus()) |
113 | } |
116 | printk(KERN_ERR "Timed out waiting for cache flush.\n"); |
114 | |
117 | #else |
115 | #else |