]> Pileus Git - ~andy/linux/blobdiff - include/drm/drmP.h
pwm: Use pr_* functions in pwm-samsung.c file
[~andy/linux] / include / drm / drmP.h
index dd731043fecda7eae6f67b5bd6396a5300aadd86..31ad880ca2efa56e380173b463ef6bc939ba837e 100644 (file)
@@ -755,11 +755,11 @@ struct drm_driver {
         * @dev: DRM device
         * @crtc: counter to fetch
         *
-        * Driver callback for fetching a raw hardware vblank counter
-        * for @crtc.  If a device doesn't have a hardware counter, the
-        * driver can simply return the value of drm_vblank_count and
-        * make the enable_vblank() and disable_vblank() hooks into no-ops,
-        * leaving interrupts enabled at all times.
+        * Driver callback for fetching a raw hardware vblank counter for @crtc.
+        * If a device doesn't have a hardware counter, the driver can simply
+        * return the value of drm_vblank_count. The DRM core will account for
+        * missed vblank events while interrupts where disabled based on system
+        * timestamps.
         *
         * Wraparound handling and loss of events due to modesetting is dealt
         * with in the DRM core code.
@@ -941,7 +941,7 @@ struct drm_driver {
                            uint32_t handle);
 
        /* Driver private ops for this object */
-       struct vm_operations_struct *gem_vm_ops;
+       const struct vm_operations_struct *gem_vm_ops;
 
        int major;
        int minor;
@@ -1309,8 +1309,8 @@ extern int drm_release(struct inode *inode, struct file *filp);
                                /* Mapping support (drm_vm.h) */
 extern int drm_mmap(struct file *filp, struct vm_area_struct *vma);
 extern int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma);
-extern void drm_vm_open_locked(struct vm_area_struct *vma);
-extern void drm_vm_close_locked(struct vm_area_struct *vma);
+extern void drm_vm_open_locked(struct drm_device *dev, struct vm_area_struct *vma);
+extern void drm_vm_close_locked(struct drm_device *dev, struct vm_area_struct *vma);
 extern unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait);
 
                                /* Memory management support (drm_memory.h) */
@@ -1378,6 +1378,7 @@ extern int drm_remove_magic(struct drm_master *master, drm_magic_t magic);
 
 /* Cache management (drm_cache.c) */
 void drm_clflush_pages(struct page *pages[], unsigned long num_pages);
+void drm_clflush_virt_range(char *addr, unsigned long length);
 
                                /* Locking IOCTL support (drm_lock.h) */
 extern int drm_lock(struct drm_device *dev, void *data,
@@ -1557,6 +1558,8 @@ extern int drm_prime_handle_to_fd_ioctl(struct drm_device *dev, void *data,
 extern int drm_prime_fd_to_handle_ioctl(struct drm_device *dev, void *data,
                                        struct drm_file *file_priv);
 
+extern int drm_prime_sg_to_page_addr_arrays(struct sg_table *sgt, struct page **pages,
+                                           dma_addr_t *addrs, int max_pages);
 extern struct sg_table *drm_prime_pages_to_sg(struct page **pages, int nr_pages);
 extern void drm_prime_gem_destroy(struct drm_gem_object *obj, struct sg_table *sg);