|
@@ -67,6 +67,14 @@ static void drm_cache_flush_clflush(struct page *pages[],
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+/**
|
|
|
+ * drm_clflush_pages - Flush dcache lines of a set of pages.
|
|
|
+ * @pages: List of pages to be flushed.
|
|
|
+ * @num_pages: Number of pages in the array.
|
|
|
+ *
|
|
|
+ * Flush every data cache line entry that points to an address belonging
|
|
|
+ * to a page in the array.
|
|
|
+ */
|
|
|
void
|
|
|
drm_clflush_pages(struct page *pages[], unsigned long num_pages)
|
|
|
{
|
|
@@ -101,6 +109,13 @@ drm_clflush_pages(struct page *pages[], unsigned long num_pages)
|
|
|
}
|
|
|
EXPORT_SYMBOL(drm_clflush_pages);
|
|
|
|
|
|
+/**
|
|
|
+ * drm_clflush_sg - Flush dcache lines pointing to a scather-gather.
|
|
|
+ * @st: struct sg_table.
|
|
|
+ *
|
|
|
+ * Flush every data cache line entry that points to an address in the
|
|
|
+ * sg.
|
|
|
+ */
|
|
|
void
|
|
|
drm_clflush_sg(struct sg_table *st)
|
|
|
{
|
|
@@ -125,6 +140,14 @@ drm_clflush_sg(struct sg_table *st)
|
|
|
}
|
|
|
EXPORT_SYMBOL(drm_clflush_sg);
|
|
|
|
|
|
+/**
|
|
|
+ * drm_clflush_virt_range - Flush dcache lines of a region
|
|
|
+ * @addr: Initial kernel memory address.
|
|
|
+ * @length: Region size.
|
|
|
+ *
|
|
|
+ * Flush every data cache line entry that points to an address in the
|
|
|
+ * region requested.
|
|
|
+ */
|
|
|
void
|
|
|
drm_clflush_virt_range(void *addr, unsigned long length)
|
|
|
{
|