diff options
| author | David Herrmann <dh.herrmann@gmail.com> | 2013-08-13 13:10:30 -0400 |
|---|---|---|
| committer | David Herrmann <dh.herrmann@gmail.com> | 2014-03-16 07:23:42 -0400 |
| commit | 44d847b7439bdea0b6c5640446427daa3ebcc7fa (patch) | |
| tree | 53f8bef9b2f863ca0aa8989a98ee7ffa69add128 /include/drm | |
| parent | 6796cb16c088905bf3af40548fda68c09e6f6ee5 (diff) | |
drm: init TTM dev_mapping in ttm_bo_device_init()
With dev->anon_inode we have a global address_space ready for operation
right from the beginning. Therefore, there is no need to do a delayed
setup with TTM. Instead, set dev_mapping during initialization in
ttm_bo_device_init() and remove any "if (dev_mapping)" conditions.
Cc: Dave Airlie <airlied@redhat.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Alex Deucher <alexdeucher@gmail.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Diffstat (limited to 'include/drm')
| -rw-r--r-- | include/drm/drm_vma_manager.h | 6 | ||||
| -rw-r--r-- | include/drm/ttm/ttm_bo_driver.h | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/include/drm/drm_vma_manager.h b/include/drm/drm_vma_manager.h index c18a593d1744..8cd402c73a5f 100644 --- a/include/drm/drm_vma_manager.h +++ b/include/drm/drm_vma_manager.h | |||
| @@ -221,8 +221,8 @@ static inline __u64 drm_vma_node_offset_addr(struct drm_vma_offset_node *node) | |||
| 221 | * @file_mapping: Address space to unmap @node from | 221 | * @file_mapping: Address space to unmap @node from |
| 222 | * | 222 | * |
| 223 | * Unmap all userspace mappings for a given offset node. The mappings must be | 223 | * Unmap all userspace mappings for a given offset node. The mappings must be |
| 224 | * associated with the @file_mapping address-space. If no offset exists or | 224 | * associated with the @file_mapping address-space. If no offset exists |
| 225 | * the address-space is invalid, nothing is done. | 225 | * nothing is done. |
| 226 | * | 226 | * |
| 227 | * This call is unlocked. The caller must guarantee that drm_vma_offset_remove() | 227 | * This call is unlocked. The caller must guarantee that drm_vma_offset_remove() |
| 228 | * is not called on this node concurrently. | 228 | * is not called on this node concurrently. |
| @@ -230,7 +230,7 @@ static inline __u64 drm_vma_node_offset_addr(struct drm_vma_offset_node *node) | |||
| 230 | static inline void drm_vma_node_unmap(struct drm_vma_offset_node *node, | 230 | static inline void drm_vma_node_unmap(struct drm_vma_offset_node *node, |
| 231 | struct address_space *file_mapping) | 231 | struct address_space *file_mapping) |
| 232 | { | 232 | { |
| 233 | if (file_mapping && drm_vma_node_has_offset(node)) | 233 | if (drm_vma_node_has_offset(node)) |
| 234 | unmap_mapping_range(file_mapping, | 234 | unmap_mapping_range(file_mapping, |
| 235 | drm_vma_node_offset_addr(node), | 235 | drm_vma_node_offset_addr(node), |
| 236 | drm_vma_node_size(node) << PAGE_SHIFT, 1); | 236 | drm_vma_node_size(node) << PAGE_SHIFT, 1); |
diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h index 32d34ebf0706..5d8aabe68f6c 100644 --- a/include/drm/ttm/ttm_bo_driver.h +++ b/include/drm/ttm/ttm_bo_driver.h | |||
| @@ -747,6 +747,7 @@ extern int ttm_bo_device_release(struct ttm_bo_device *bdev); | |||
| 747 | * @bdev: A pointer to a struct ttm_bo_device to initialize. | 747 | * @bdev: A pointer to a struct ttm_bo_device to initialize. |
| 748 | * @glob: A pointer to an initialized struct ttm_bo_global. | 748 | * @glob: A pointer to an initialized struct ttm_bo_global. |
| 749 | * @driver: A pointer to a struct ttm_bo_driver set up by the caller. | 749 | * @driver: A pointer to a struct ttm_bo_driver set up by the caller. |
| 750 | * @mapping: The address space to use for this bo. | ||
| 750 | * @file_page_offset: Offset into the device address space that is available | 751 | * @file_page_offset: Offset into the device address space that is available |
| 751 | * for buffer data. This ensures compatibility with other users of the | 752 | * for buffer data. This ensures compatibility with other users of the |
| 752 | * address space. | 753 | * address space. |
| @@ -758,6 +759,7 @@ extern int ttm_bo_device_release(struct ttm_bo_device *bdev); | |||
| 758 | extern int ttm_bo_device_init(struct ttm_bo_device *bdev, | 759 | extern int ttm_bo_device_init(struct ttm_bo_device *bdev, |
| 759 | struct ttm_bo_global *glob, | 760 | struct ttm_bo_global *glob, |
| 760 | struct ttm_bo_driver *driver, | 761 | struct ttm_bo_driver *driver, |
| 762 | struct address_space *mapping, | ||
| 761 | uint64_t file_page_offset, bool need_dma32); | 763 | uint64_t file_page_offset, bool need_dma32); |
| 762 | 764 | ||
| 763 | /** | 765 | /** |
