diff options
Diffstat (limited to 'include/drm')
-rw-r--r-- | include/drm/drm_crtc.h | 8 | ||||
-rw-r--r-- | include/drm/drm_dp_helper.h | 8 | ||||
-rw-r--r-- | include/drm/drm_hashtab.h | 14 | ||||
-rw-r--r-- | include/drm/drm_pciids.h | 1 | ||||
-rw-r--r-- | include/drm/exynos_drm.h | 26 | ||||
-rw-r--r-- | include/drm/ttm/ttm_bo_api.h | 3 | ||||
-rw-r--r-- | include/drm/ttm/ttm_bo_driver.h | 19 |
7 files changed, 57 insertions, 22 deletions
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 3538eda94ef5..00d78b5161c0 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h | |||
@@ -920,12 +920,6 @@ extern void drm_mode_set_crtcinfo(struct drm_display_mode *p, | |||
920 | extern void drm_mode_connector_list_update(struct drm_connector *connector); | 920 | extern void drm_mode_connector_list_update(struct drm_connector *connector); |
921 | extern int drm_mode_connector_update_edid_property(struct drm_connector *connector, | 921 | extern int drm_mode_connector_update_edid_property(struct drm_connector *connector, |
922 | struct edid *edid); | 922 | struct edid *edid); |
923 | extern int drm_connector_property_set_value(struct drm_connector *connector, | ||
924 | struct drm_property *property, | ||
925 | uint64_t value); | ||
926 | extern int drm_connector_property_get_value(struct drm_connector *connector, | ||
927 | struct drm_property *property, | ||
928 | uint64_t *value); | ||
929 | extern int drm_object_property_set_value(struct drm_mode_object *obj, | 923 | extern int drm_object_property_set_value(struct drm_mode_object *obj, |
930 | struct drm_property *property, | 924 | struct drm_property *property, |
931 | uint64_t val); | 925 | uint64_t val); |
@@ -947,8 +941,6 @@ extern int drmfb_remove(struct drm_device *dev, struct drm_framebuffer *fb); | |||
947 | extern void drm_crtc_probe_connector_modes(struct drm_device *dev, int maxX, int maxY); | 941 | extern void drm_crtc_probe_connector_modes(struct drm_device *dev, int maxX, int maxY); |
948 | extern bool drm_crtc_in_use(struct drm_crtc *crtc); | 942 | extern bool drm_crtc_in_use(struct drm_crtc *crtc); |
949 | 943 | ||
950 | extern void drm_connector_attach_property(struct drm_connector *connector, | ||
951 | struct drm_property *property, uint64_t init_val); | ||
952 | extern void drm_object_attach_property(struct drm_mode_object *obj, | 944 | extern void drm_object_attach_property(struct drm_mode_object *obj, |
953 | struct drm_property *property, | 945 | struct drm_property *property, |
954 | uint64_t init_val); | 946 | uint64_t init_val); |
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h index c09d36741c94..e8e1417af3d9 100644 --- a/include/drm/drm_dp_helper.h +++ b/include/drm/drm_dp_helper.h | |||
@@ -312,6 +312,14 @@ | |||
312 | #define MODE_I2C_READ 4 | 312 | #define MODE_I2C_READ 4 |
313 | #define MODE_I2C_STOP 8 | 313 | #define MODE_I2C_STOP 8 |
314 | 314 | ||
315 | /** | ||
316 | * struct i2c_algo_dp_aux_data - driver interface structure for i2c over dp | ||
317 | * aux algorithm | ||
318 | * @running: set by the algo indicating whether an i2c is ongoing or whether | ||
319 | * the i2c bus is quiescent | ||
320 | * @address: i2c target address for the currently ongoing transfer | ||
321 | * @aux_ch: driver callback to transfer a single byte of the i2c payload | ||
322 | */ | ||
315 | struct i2c_algo_dp_aux_data { | 323 | struct i2c_algo_dp_aux_data { |
316 | bool running; | 324 | bool running; |
317 | u16 address; | 325 | u16 address; |
diff --git a/include/drm/drm_hashtab.h b/include/drm/drm_hashtab.h index 3650d5d011ee..fce2ef3fdfff 100644 --- a/include/drm/drm_hashtab.h +++ b/include/drm/drm_hashtab.h | |||
@@ -61,5 +61,19 @@ extern int drm_ht_remove_key(struct drm_open_hash *ht, unsigned long key); | |||
61 | extern int drm_ht_remove_item(struct drm_open_hash *ht, struct drm_hash_item *item); | 61 | extern int drm_ht_remove_item(struct drm_open_hash *ht, struct drm_hash_item *item); |
62 | extern void drm_ht_remove(struct drm_open_hash *ht); | 62 | extern void drm_ht_remove(struct drm_open_hash *ht); |
63 | 63 | ||
64 | /* | ||
65 | * RCU-safe interface | ||
66 | * | ||
67 | * The user of this API needs to make sure that two or more instances of the | ||
68 | * hash table manipulation functions are never run simultaneously. | ||
69 | * The lookup function drm_ht_find_item_rcu may, however, run simultaneously | ||
70 | * with any of the manipulation functions as long as it's called from within | ||
71 | * an RCU read-locked section. | ||
72 | */ | ||
73 | #define drm_ht_insert_item_rcu drm_ht_insert_item | ||
74 | #define drm_ht_just_insert_please_rcu drm_ht_just_insert_please | ||
75 | #define drm_ht_remove_key_rcu drm_ht_remove_key | ||
76 | #define drm_ht_remove_item_rcu drm_ht_remove_item | ||
77 | #define drm_ht_find_item_rcu drm_ht_find_item | ||
64 | 78 | ||
65 | #endif | 79 | #endif |
diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h index af1cbaf535ed..c5c35e629426 100644 --- a/include/drm/drm_pciids.h +++ b/include/drm/drm_pciids.h | |||
@@ -210,6 +210,7 @@ | |||
210 | {0x1002, 0x6798, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ | 210 | {0x1002, 0x6798, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ |
211 | {0x1002, 0x6799, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ | 211 | {0x1002, 0x6799, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ |
212 | {0x1002, 0x679A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ | 212 | {0x1002, 0x679A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ |
213 | {0x1002, 0x679B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ | ||
213 | {0x1002, 0x679E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ | 214 | {0x1002, 0x679E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ |
214 | {0x1002, 0x679F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ | 215 | {0x1002, 0x679F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \ |
215 | {0x1002, 0x6800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 216 | {0x1002, 0x6800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
diff --git a/include/drm/exynos_drm.h b/include/drm/exynos_drm.h index 3c13a3a4b158..808dad29607a 100644 --- a/include/drm/exynos_drm.h +++ b/include/drm/exynos_drm.h | |||
@@ -85,4 +85,30 @@ struct exynos_drm_hdmi_pdata { | |||
85 | int (*get_hpd)(void); | 85 | int (*get_hpd)(void); |
86 | }; | 86 | }; |
87 | 87 | ||
88 | /** | ||
89 | * Platform Specific Structure for DRM based IPP. | ||
90 | * | ||
91 | * @inv_pclk: if set 1. invert pixel clock | ||
92 | * @inv_vsync: if set 1. invert vsync signal for wb | ||
93 | * @inv_href: if set 1. invert href signal | ||
94 | * @inv_hsync: if set 1. invert hsync signal for wb | ||
95 | */ | ||
96 | struct exynos_drm_ipp_pol { | ||
97 | unsigned int inv_pclk; | ||
98 | unsigned int inv_vsync; | ||
99 | unsigned int inv_href; | ||
100 | unsigned int inv_hsync; | ||
101 | }; | ||
102 | |||
103 | /** | ||
104 | * Platform Specific Structure for DRM based FIMC. | ||
105 | * | ||
106 | * @pol: current hardware block polarity settings. | ||
107 | * @clk_rate: current hardware clock rate. | ||
108 | */ | ||
109 | struct exynos_drm_fimc_pdata { | ||
110 | struct exynos_drm_ipp_pol pol; | ||
111 | int clk_rate; | ||
112 | }; | ||
113 | |||
88 | #endif /* _EXYNOS_DRM_H_ */ | 114 | #endif /* _EXYNOS_DRM_H_ */ |
diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h index c6cae733ddef..3cb5d848fb66 100644 --- a/include/drm/ttm/ttm_bo_api.h +++ b/include/drm/ttm/ttm_bo_api.h | |||
@@ -337,7 +337,6 @@ extern int ttm_bo_wait(struct ttm_buffer_object *bo, bool lazy, | |||
337 | * @bo: The buffer object. | 337 | * @bo: The buffer object. |
338 | * @placement: Proposed placement for the buffer object. | 338 | * @placement: Proposed placement for the buffer object. |
339 | * @interruptible: Sleep interruptible if sleeping. | 339 | * @interruptible: Sleep interruptible if sleeping. |
340 | * @no_wait_reserve: Return immediately if other buffers are busy. | ||
341 | * @no_wait_gpu: Return immediately if the GPU is busy. | 340 | * @no_wait_gpu: Return immediately if the GPU is busy. |
342 | * | 341 | * |
343 | * Changes placement and caching policy of the buffer object | 342 | * Changes placement and caching policy of the buffer object |
@@ -350,7 +349,7 @@ extern int ttm_bo_wait(struct ttm_buffer_object *bo, bool lazy, | |||
350 | */ | 349 | */ |
351 | extern int ttm_bo_validate(struct ttm_buffer_object *bo, | 350 | extern int ttm_bo_validate(struct ttm_buffer_object *bo, |
352 | struct ttm_placement *placement, | 351 | struct ttm_placement *placement, |
353 | bool interruptible, bool no_wait_reserve, | 352 | bool interruptible, |
354 | bool no_wait_gpu); | 353 | bool no_wait_gpu); |
355 | 354 | ||
356 | /** | 355 | /** |
diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h index dd96442cdc2a..e3a43a47d78c 100644 --- a/include/drm/ttm/ttm_bo_driver.h +++ b/include/drm/ttm/ttm_bo_driver.h | |||
@@ -394,7 +394,7 @@ struct ttm_bo_driver { | |||
394 | */ | 394 | */ |
395 | int (*move) (struct ttm_buffer_object *bo, | 395 | int (*move) (struct ttm_buffer_object *bo, |
396 | bool evict, bool interruptible, | 396 | bool evict, bool interruptible, |
397 | bool no_wait_reserve, bool no_wait_gpu, | 397 | bool no_wait_gpu, |
398 | struct ttm_mem_reg *new_mem); | 398 | struct ttm_mem_reg *new_mem); |
399 | 399 | ||
400 | /** | 400 | /** |
@@ -703,7 +703,6 @@ extern bool ttm_mem_reg_is_pci(struct ttm_bo_device *bdev, | |||
703 | * @proposed_placement: Proposed new placement for the buffer object. | 703 | * @proposed_placement: Proposed new placement for the buffer object. |
704 | * @mem: A struct ttm_mem_reg. | 704 | * @mem: A struct ttm_mem_reg. |
705 | * @interruptible: Sleep interruptible when sliping. | 705 | * @interruptible: Sleep interruptible when sliping. |
706 | * @no_wait_reserve: Return immediately if other buffers are busy. | ||
707 | * @no_wait_gpu: Return immediately if the GPU is busy. | 706 | * @no_wait_gpu: Return immediately if the GPU is busy. |
708 | * | 707 | * |
709 | * Allocate memory space for the buffer object pointed to by @bo, using | 708 | * Allocate memory space for the buffer object pointed to by @bo, using |
@@ -719,7 +718,7 @@ extern int ttm_bo_mem_space(struct ttm_buffer_object *bo, | |||
719 | struct ttm_placement *placement, | 718 | struct ttm_placement *placement, |
720 | struct ttm_mem_reg *mem, | 719 | struct ttm_mem_reg *mem, |
721 | bool interruptible, | 720 | bool interruptible, |
722 | bool no_wait_reserve, bool no_wait_gpu); | 721 | bool no_wait_gpu); |
723 | 722 | ||
724 | extern void ttm_bo_mem_put(struct ttm_buffer_object *bo, | 723 | extern void ttm_bo_mem_put(struct ttm_buffer_object *bo, |
725 | struct ttm_mem_reg *mem); | 724 | struct ttm_mem_reg *mem); |
@@ -901,7 +900,6 @@ extern int ttm_bo_wait_unreserved(struct ttm_buffer_object *bo, | |||
901 | * | 900 | * |
902 | * @bo: A pointer to a struct ttm_buffer_object. | 901 | * @bo: A pointer to a struct ttm_buffer_object. |
903 | * @evict: 1: This is an eviction. Don't try to pipeline. | 902 | * @evict: 1: This is an eviction. Don't try to pipeline. |
904 | * @no_wait_reserve: Return immediately if other buffers are busy. | ||
905 | * @no_wait_gpu: Return immediately if the GPU is busy. | 903 | * @no_wait_gpu: Return immediately if the GPU is busy. |
906 | * @new_mem: struct ttm_mem_reg indicating where to move. | 904 | * @new_mem: struct ttm_mem_reg indicating where to move. |
907 | * | 905 | * |
@@ -916,15 +914,14 @@ extern int ttm_bo_wait_unreserved(struct ttm_buffer_object *bo, | |||
916 | */ | 914 | */ |
917 | 915 | ||
918 | extern int ttm_bo_move_ttm(struct ttm_buffer_object *bo, | 916 | extern int ttm_bo_move_ttm(struct ttm_buffer_object *bo, |
919 | bool evict, bool no_wait_reserve, | 917 | bool evict, bool no_wait_gpu, |
920 | bool no_wait_gpu, struct ttm_mem_reg *new_mem); | 918 | struct ttm_mem_reg *new_mem); |
921 | 919 | ||
922 | /** | 920 | /** |
923 | * ttm_bo_move_memcpy | 921 | * ttm_bo_move_memcpy |
924 | * | 922 | * |
925 | * @bo: A pointer to a struct ttm_buffer_object. | 923 | * @bo: A pointer to a struct ttm_buffer_object. |
926 | * @evict: 1: This is an eviction. Don't try to pipeline. | 924 | * @evict: 1: This is an eviction. Don't try to pipeline. |
927 | * @no_wait_reserve: Return immediately if other buffers are busy. | ||
928 | * @no_wait_gpu: Return immediately if the GPU is busy. | 925 | * @no_wait_gpu: Return immediately if the GPU is busy. |
929 | * @new_mem: struct ttm_mem_reg indicating where to move. | 926 | * @new_mem: struct ttm_mem_reg indicating where to move. |
930 | * | 927 | * |
@@ -939,8 +936,8 @@ extern int ttm_bo_move_ttm(struct ttm_buffer_object *bo, | |||
939 | */ | 936 | */ |
940 | 937 | ||
941 | extern int ttm_bo_move_memcpy(struct ttm_buffer_object *bo, | 938 | extern int ttm_bo_move_memcpy(struct ttm_buffer_object *bo, |
942 | bool evict, bool no_wait_reserve, | 939 | bool evict, bool no_wait_gpu, |
943 | bool no_wait_gpu, struct ttm_mem_reg *new_mem); | 940 | struct ttm_mem_reg *new_mem); |
944 | 941 | ||
945 | /** | 942 | /** |
946 | * ttm_bo_free_old_node | 943 | * ttm_bo_free_old_node |
@@ -957,7 +954,6 @@ extern void ttm_bo_free_old_node(struct ttm_buffer_object *bo); | |||
957 | * @bo: A pointer to a struct ttm_buffer_object. | 954 | * @bo: A pointer to a struct ttm_buffer_object. |
958 | * @sync_obj: A sync object that signals when moving is complete. | 955 | * @sync_obj: A sync object that signals when moving is complete. |
959 | * @evict: This is an evict move. Don't return until the buffer is idle. | 956 | * @evict: This is an evict move. Don't return until the buffer is idle. |
960 | * @no_wait_reserve: Return immediately if other buffers are busy. | ||
961 | * @no_wait_gpu: Return immediately if the GPU is busy. | 957 | * @no_wait_gpu: Return immediately if the GPU is busy. |
962 | * @new_mem: struct ttm_mem_reg indicating where to move. | 958 | * @new_mem: struct ttm_mem_reg indicating where to move. |
963 | * | 959 | * |
@@ -971,8 +967,7 @@ extern void ttm_bo_free_old_node(struct ttm_buffer_object *bo); | |||
971 | 967 | ||
972 | extern int ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo, | 968 | extern int ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo, |
973 | void *sync_obj, | 969 | void *sync_obj, |
974 | bool evict, bool no_wait_reserve, | 970 | bool evict, bool no_wait_gpu, |
975 | bool no_wait_gpu, | ||
976 | struct ttm_mem_reg *new_mem); | 971 | struct ttm_mem_reg *new_mem); |
977 | /** | 972 | /** |
978 | * ttm_io_prot | 973 | * ttm_io_prot |