diff options
author | Emily Deng <Emily.Deng@amd.com> | 2016-08-07 23:32:22 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-08-08 14:04:35 -0400 |
commit | 0d43f3bca1ea1f85c1b344abcc2f17f4731e5eda (patch) | |
tree | 6bf2c00217557334e8fdbc0d6655f4bf052ae36e /drivers/gpu/drm/amd/amdgpu/dce_virtual.c | |
parent | f1f5ef92679fd9871b9642916c32b78fc333642a (diff) |
drm/amdgpu: Initialize dce_virtual_crtc_funcs. (v2)
For virtual display feature, initialize dce_virtual_crtc_funcs.
v2: agd: rebase on upstream
Signed-off-by: Emily Deng <Emily.Deng@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/dce_virtual.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c index 11f04ec51c9c..d6802be0ea39 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c | |||
@@ -125,13 +125,37 @@ static void dce_virtual_bandwidth_update(struct amdgpu_device *adev) | |||
125 | return; | 125 | return; |
126 | } | 126 | } |
127 | 127 | ||
128 | static int dce_virtual_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, | ||
129 | u16 *green, u16 *blue, uint32_t size) | ||
130 | { | ||
131 | struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); | ||
132 | int i; | ||
133 | |||
134 | /* userspace palettes are always correct as is */ | ||
135 | for (i = 0; i < size; i++) { | ||
136 | amdgpu_crtc->lut_r[i] = red[i] >> 6; | ||
137 | amdgpu_crtc->lut_g[i] = green[i] >> 6; | ||
138 | amdgpu_crtc->lut_b[i] = blue[i] >> 6; | ||
139 | } | ||
140 | |||
141 | return 0; | ||
142 | } | ||
143 | |||
144 | static void dce_virtual_crtc_destroy(struct drm_crtc *crtc) | ||
145 | { | ||
146 | struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); | ||
147 | |||
148 | drm_crtc_cleanup(crtc); | ||
149 | kfree(amdgpu_crtc); | ||
150 | } | ||
151 | |||
128 | static const struct drm_crtc_funcs dce_virtual_crtc_funcs = { | 152 | static const struct drm_crtc_funcs dce_virtual_crtc_funcs = { |
129 | .cursor_set2 = NULL, | 153 | .cursor_set2 = NULL, |
130 | .cursor_move = NULL, | 154 | .cursor_move = NULL, |
131 | .gamma_set = NULL, | 155 | .gamma_set = dce_virtual_crtc_gamma_set, |
132 | .set_config = NULL, | 156 | .set_config = amdgpu_crtc_set_config, |
133 | .destroy = NULL, | 157 | .destroy = dce_virtual_crtc_destroy, |
134 | .page_flip = NULL, | 158 | .page_flip = amdgpu_crtc_page_flip, |
135 | }; | 159 | }; |
136 | 160 | ||
137 | static void dce_virtual_crtc_dpms(struct drm_crtc *crtc, int mode) | 161 | static void dce_virtual_crtc_dpms(struct drm_crtc *crtc, int mode) |