diff options
Diffstat (limited to 'drivers/gpu/drm/udl')
-rw-r--r-- | drivers/gpu/drm/udl/udl_connector.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/udl/udl_encoder.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/udl/udl_fb.c | 26 | ||||
-rw-r--r-- | drivers/gpu/drm/udl/udl_gem.c | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/udl/udl_main.c | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/udl/udl_modeset.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/udl/udl_transfer.c | 8 |
7 files changed, 30 insertions, 25 deletions
diff --git a/drivers/gpu/drm/udl/udl_connector.c b/drivers/gpu/drm/udl/udl_connector.c index 8d9dc44f1f94..d568aa4b10d1 100644 --- a/drivers/gpu/drm/udl/udl_connector.c +++ b/drivers/gpu/drm/udl/udl_connector.c | |||
@@ -57,11 +57,8 @@ static int udl_get_modes(struct drm_connector *connector) | |||
57 | 57 | ||
58 | edid = (struct edid *)udl_get_edid(udl); | 58 | edid = (struct edid *)udl_get_edid(udl); |
59 | 59 | ||
60 | connector->display_info.raw_edid = (char *)edid; | ||
61 | |||
62 | drm_mode_connector_update_edid_property(connector, edid); | 60 | drm_mode_connector_update_edid_property(connector, edid); |
63 | ret = drm_add_edid_modes(connector, edid); | 61 | ret = drm_add_edid_modes(connector, edid); |
64 | connector->display_info.raw_edid = NULL; | ||
65 | kfree(edid); | 62 | kfree(edid); |
66 | return ret; | 63 | return ret; |
67 | } | 64 | } |
diff --git a/drivers/gpu/drm/udl/udl_encoder.c b/drivers/gpu/drm/udl/udl_encoder.c index 0731ab2e6c06..0476bfe06d14 100644 --- a/drivers/gpu/drm/udl/udl_encoder.c +++ b/drivers/gpu/drm/udl/udl_encoder.c | |||
@@ -16,7 +16,7 @@ | |||
16 | #include "udl_drv.h" | 16 | #include "udl_drv.h" |
17 | 17 | ||
18 | /* dummy encoder */ | 18 | /* dummy encoder */ |
19 | void udl_enc_destroy(struct drm_encoder *encoder) | 19 | static void udl_enc_destroy(struct drm_encoder *encoder) |
20 | { | 20 | { |
21 | drm_encoder_cleanup(encoder); | 21 | drm_encoder_cleanup(encoder); |
22 | kfree(encoder); | 22 | kfree(encoder); |
diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c index ce9a61179925..0e47e9614b78 100644 --- a/drivers/gpu/drm/udl/udl_fb.c +++ b/drivers/gpu/drm/udl/udl_fb.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/module.h> | 13 | #include <linux/module.h> |
14 | #include <linux/slab.h> | 14 | #include <linux/slab.h> |
15 | #include <linux/fb.h> | 15 | #include <linux/fb.h> |
16 | #include <linux/dma-buf.h> | ||
16 | 17 | ||
17 | #include "drmP.h" | 18 | #include "drmP.h" |
18 | #include "drm.h" | 19 | #include "drm.h" |
@@ -356,12 +357,12 @@ static struct fb_ops udlfb_ops = { | |||
356 | .fb_release = udl_fb_release, | 357 | .fb_release = udl_fb_release, |
357 | }; | 358 | }; |
358 | 359 | ||
359 | void udl_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, | 360 | static void udl_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, |
360 | u16 blue, int regno) | 361 | u16 blue, int regno) |
361 | { | 362 | { |
362 | } | 363 | } |
363 | 364 | ||
364 | void udl_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, | 365 | static void udl_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, |
365 | u16 *blue, int regno) | 366 | u16 *blue, int regno) |
366 | { | 367 | { |
367 | *red = 0; | 368 | *red = 0; |
@@ -377,16 +378,33 @@ static int udl_user_framebuffer_dirty(struct drm_framebuffer *fb, | |||
377 | { | 378 | { |
378 | struct udl_framebuffer *ufb = to_udl_fb(fb); | 379 | struct udl_framebuffer *ufb = to_udl_fb(fb); |
379 | int i; | 380 | int i; |
381 | int ret = 0; | ||
380 | 382 | ||
381 | if (!ufb->active_16) | 383 | if (!ufb->active_16) |
382 | return 0; | 384 | return 0; |
383 | 385 | ||
386 | if (ufb->obj->base.import_attach) { | ||
387 | ret = dma_buf_begin_cpu_access(ufb->obj->base.import_attach->dmabuf, | ||
388 | 0, ufb->obj->base.size, | ||
389 | DMA_FROM_DEVICE); | ||
390 | if (ret) | ||
391 | return ret; | ||
392 | } | ||
393 | |||
384 | for (i = 0; i < num_clips; i++) { | 394 | for (i = 0; i < num_clips; i++) { |
385 | udl_handle_damage(ufb, clips[i].x1, clips[i].y1, | 395 | ret = udl_handle_damage(ufb, clips[i].x1, clips[i].y1, |
386 | clips[i].x2 - clips[i].x1, | 396 | clips[i].x2 - clips[i].x1, |
387 | clips[i].y2 - clips[i].y1); | 397 | clips[i].y2 - clips[i].y1); |
398 | if (ret) | ||
399 | break; | ||
388 | } | 400 | } |
389 | return 0; | 401 | |
402 | if (ufb->obj->base.import_attach) { | ||
403 | dma_buf_end_cpu_access(ufb->obj->base.import_attach->dmabuf, | ||
404 | 0, ufb->obj->base.size, | ||
405 | DMA_FROM_DEVICE); | ||
406 | } | ||
407 | return ret; | ||
390 | } | 408 | } |
391 | 409 | ||
392 | static void udl_user_framebuffer_destroy(struct drm_framebuffer *fb) | 410 | static void udl_user_framebuffer_destroy(struct drm_framebuffer *fb) |
diff --git a/drivers/gpu/drm/udl/udl_gem.c b/drivers/gpu/drm/udl/udl_gem.c index 291ecc145585..47b256375831 100644 --- a/drivers/gpu/drm/udl/udl_gem.c +++ b/drivers/gpu/drm/udl/udl_gem.c | |||
@@ -181,11 +181,6 @@ int udl_gem_vmap(struct udl_gem_object *obj) | |||
181 | int ret; | 181 | int ret; |
182 | 182 | ||
183 | if (obj->base.import_attach) { | 183 | if (obj->base.import_attach) { |
184 | ret = dma_buf_begin_cpu_access(obj->base.import_attach->dmabuf, | ||
185 | 0, obj->base.size, DMA_BIDIRECTIONAL); | ||
186 | if (ret) | ||
187 | return -EINVAL; | ||
188 | |||
189 | obj->vmapping = dma_buf_vmap(obj->base.import_attach->dmabuf); | 184 | obj->vmapping = dma_buf_vmap(obj->base.import_attach->dmabuf); |
190 | if (!obj->vmapping) | 185 | if (!obj->vmapping) |
191 | return -ENOMEM; | 186 | return -ENOMEM; |
@@ -206,8 +201,6 @@ void udl_gem_vunmap(struct udl_gem_object *obj) | |||
206 | { | 201 | { |
207 | if (obj->base.import_attach) { | 202 | if (obj->base.import_attach) { |
208 | dma_buf_vunmap(obj->base.import_attach->dmabuf, obj->vmapping); | 203 | dma_buf_vunmap(obj->base.import_attach->dmabuf, obj->vmapping); |
209 | dma_buf_end_cpu_access(obj->base.import_attach->dmabuf, 0, | ||
210 | obj->base.size, DMA_BIDIRECTIONAL); | ||
211 | return; | 204 | return; |
212 | } | 205 | } |
213 | 206 | ||
diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c index 4c2d836a0893..40bf468c46c2 100644 --- a/drivers/gpu/drm/udl/udl_main.c +++ b/drivers/gpu/drm/udl/udl_main.c | |||
@@ -41,11 +41,8 @@ static int udl_parse_vendor_descriptor(struct drm_device *dev, | |||
41 | total_len = usb_get_descriptor(usbdev, 0x5f, /* vendor specific */ | 41 | total_len = usb_get_descriptor(usbdev, 0x5f, /* vendor specific */ |
42 | 0, desc, MAX_VENDOR_DESCRIPTOR_SIZE); | 42 | 0, desc, MAX_VENDOR_DESCRIPTOR_SIZE); |
43 | if (total_len > 5) { | 43 | if (total_len > 5) { |
44 | DRM_INFO("vendor descriptor length:%x data:%02x %02x %02x %02x" \ | 44 | DRM_INFO("vendor descriptor length:%x data:%*ph\n", |
45 | "%02x %02x %02x %02x %02x %02x %02x\n", | 45 | total_len, 11, desc); |
46 | total_len, desc[0], | ||
47 | desc[1], desc[2], desc[3], desc[4], desc[5], desc[6], | ||
48 | desc[7], desc[8], desc[9], desc[10]); | ||
49 | 46 | ||
50 | if ((desc[0] != total_len) || /* descriptor length */ | 47 | if ((desc[0] != total_len) || /* descriptor length */ |
51 | (desc[1] != 0x5f) || /* vendor descriptor type */ | 48 | (desc[1] != 0x5f) || /* vendor descriptor type */ |
diff --git a/drivers/gpu/drm/udl/udl_modeset.c b/drivers/gpu/drm/udl/udl_modeset.c index 9159d48d1dfd..8f258158c1fe 100644 --- a/drivers/gpu/drm/udl/udl_modeset.c +++ b/drivers/gpu/drm/udl/udl_modeset.c | |||
@@ -391,7 +391,7 @@ static const struct drm_crtc_funcs udl_crtc_funcs = { | |||
391 | .destroy = udl_crtc_destroy, | 391 | .destroy = udl_crtc_destroy, |
392 | }; | 392 | }; |
393 | 393 | ||
394 | int udl_crtc_init(struct drm_device *dev) | 394 | static int udl_crtc_init(struct drm_device *dev) |
395 | { | 395 | { |
396 | struct drm_crtc *crtc; | 396 | struct drm_crtc *crtc; |
397 | 397 | ||
diff --git a/drivers/gpu/drm/udl/udl_transfer.c b/drivers/gpu/drm/udl/udl_transfer.c index b9320e2608dd..f9fff657a90b 100644 --- a/drivers/gpu/drm/udl/udl_transfer.c +++ b/drivers/gpu/drm/udl/udl_transfer.c | |||
@@ -126,10 +126,10 @@ static void udl_compress_hline16( | |||
126 | 126 | ||
127 | while ((pixel_end > pixel) && | 127 | while ((pixel_end > pixel) && |
128 | (cmd_buffer_end - MIN_RLX_CMD_BYTES > cmd)) { | 128 | (cmd_buffer_end - MIN_RLX_CMD_BYTES > cmd)) { |
129 | uint8_t *raw_pixels_count_byte = 0; | 129 | uint8_t *raw_pixels_count_byte = NULL; |
130 | uint8_t *cmd_pixels_count_byte = 0; | 130 | uint8_t *cmd_pixels_count_byte = NULL; |
131 | const u8 *raw_pixel_start = 0; | 131 | const u8 *raw_pixel_start = NULL; |
132 | const u8 *cmd_pixel_start, *cmd_pixel_end = 0; | 132 | const u8 *cmd_pixel_start, *cmd_pixel_end = NULL; |
133 | 133 | ||
134 | prefetchw((void *) cmd); /* pull in one cache line at least */ | 134 | prefetchw((void *) cmd); /* pull in one cache line at least */ |
135 | 135 | ||