]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge tag 'drm-misc-next-fixes-2017-04-20' of git://anongit.freedesktop.org/git/drm...
authorDave Airlie <airlied@redhat.com>
Fri, 21 Apr 2017 03:51:59 +0000 (13:51 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 21 Apr 2017 03:51:59 +0000 (13:51 +1000)
drm-misc-next-fixes-2017-04-20

Core changes:
- Maintain sti via drm-misc (Vincent)
- Rename dma_buf_ops->kmap_* to avoid naming collision (Logan)

Driver changes:
- Fix UHD displays on stih407 (Vincent)
- Fix uninitialized var return in atmel-hlcdc (Dan)

* tag 'drm-misc-next-fixes-2017-04-20' of git://anongit.freedesktop.org/git/drm-misc:
  dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro
  drm: atmel-hlcdc: Uninitialized return in atmel_hlcdc_create_outputs()
  drm/sti: fix GDP size to support up to UHD resolution
  MAINTAINERS: add drm/sti driver into drm-misc

17 files changed:
MAINTAINERS
drivers/dma-buf/dma-buf.c
drivers/gpu/drm/armada/armada_gem.c
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
drivers/gpu/drm/drm_prime.c
drivers/gpu/drm/i915/i915_gem_dmabuf.c
drivers/gpu/drm/i915/selftests/mock_dmabuf.c
drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
drivers/gpu/drm/sti/sti_gdp.c
drivers/gpu/drm/tegra/gem.c
drivers/gpu/drm/udl/udl_dmabuf.c
drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
drivers/media/v4l2-core/videobuf2-dma-contig.c
drivers/media/v4l2-core/videobuf2-dma-sg.c
drivers/media/v4l2-core/videobuf2-vmalloc.c
drivers/staging/android/ion/ion.c
include/linux/dma-buf.h

index afba0760fdaf1e27dd3af3d625e2e99790cdccfb..66f5b55d205a39b2370a3e2b0202762b2a2f26d8 100644 (file)
@@ -4418,7 +4418,7 @@ DRM DRIVERS FOR STI
 M:     Benjamin Gaignard <benjamin.gaignard@linaro.org>
 M:     Vincent Abriou <vincent.abriou@st.com>
 L:     dri-devel@lists.freedesktop.org
-T:     git http://git.linaro.org/people/benjamin.gaignard/kernel.git
+T:     git git://anongit.freedesktop.org/drm/drm-misc
 S:     Maintained
 F:     drivers/gpu/drm/sti
 F:     Documentation/devicetree/bindings/display/st,stih4xx.txt
index f72aaacbe023d702c0256c9dcc5345a63f9fa022..512bdbc23bbb43b85e9da8badbe24bcd64a66872 100644 (file)
@@ -405,8 +405,8 @@ struct dma_buf *dma_buf_export(const struct dma_buf_export_info *exp_info)
                          || !exp_info->ops->map_dma_buf
                          || !exp_info->ops->unmap_dma_buf
                          || !exp_info->ops->release
-                         || !exp_info->ops->kmap_atomic
-                         || !exp_info->ops->kmap
+                         || !exp_info->ops->map_atomic
+                         || !exp_info->ops->map
                          || !exp_info->ops->mmap)) {
                return ERR_PTR(-EINVAL);
        }
@@ -872,7 +872,7 @@ void *dma_buf_kmap_atomic(struct dma_buf *dmabuf, unsigned long page_num)
 {
        WARN_ON(!dmabuf);
 
-       return dmabuf->ops->kmap_atomic(dmabuf, page_num);
+       return dmabuf->ops->map_atomic(dmabuf, page_num);
 }
 EXPORT_SYMBOL_GPL(dma_buf_kmap_atomic);
 
@@ -889,8 +889,8 @@ void dma_buf_kunmap_atomic(struct dma_buf *dmabuf, unsigned long page_num,
 {
        WARN_ON(!dmabuf);
 
-       if (dmabuf->ops->kunmap_atomic)
-               dmabuf->ops->kunmap_atomic(dmabuf, page_num, vaddr);
+       if (dmabuf->ops->unmap_atomic)
+               dmabuf->ops->unmap_atomic(dmabuf, page_num, vaddr);
 }
 EXPORT_SYMBOL_GPL(dma_buf_kunmap_atomic);
 
@@ -907,7 +907,7 @@ void *dma_buf_kmap(struct dma_buf *dmabuf, unsigned long page_num)
 {
        WARN_ON(!dmabuf);
 
-       return dmabuf->ops->kmap(dmabuf, page_num);
+       return dmabuf->ops->map(dmabuf, page_num);
 }
 EXPORT_SYMBOL_GPL(dma_buf_kmap);
 
@@ -924,8 +924,8 @@ void dma_buf_kunmap(struct dma_buf *dmabuf, unsigned long page_num,
 {
        WARN_ON(!dmabuf);
 
-       if (dmabuf->ops->kunmap)
-               dmabuf->ops->kunmap(dmabuf, page_num, vaddr);
+       if (dmabuf->ops->unmap)
+               dmabuf->ops->unmap(dmabuf, page_num, vaddr);
 }
 EXPORT_SYMBOL_GPL(dma_buf_kunmap);
 
index 1597458d884e26d7a77e75baae3f8dd2343e4cf1..d6c2a5d190ebf7e73d30890448d6c876b5d96355 100644 (file)
@@ -529,10 +529,10 @@ static const struct dma_buf_ops armada_gem_prime_dmabuf_ops = {
        .map_dma_buf    = armada_gem_prime_map_dma_buf,
        .unmap_dma_buf  = armada_gem_prime_unmap_dma_buf,
        .release        = drm_gem_dmabuf_release,
-       .kmap_atomic    = armada_gem_dmabuf_no_kmap,
-       .kunmap_atomic  = armada_gem_dmabuf_no_kunmap,
-       .kmap           = armada_gem_dmabuf_no_kmap,
-       .kunmap         = armada_gem_dmabuf_no_kunmap,
+       .map_atomic     = armada_gem_dmabuf_no_kmap,
+       .unmap_atomic   = armada_gem_dmabuf_no_kunmap,
+       .map            = armada_gem_dmabuf_no_kmap,
+       .unmap          = armada_gem_dmabuf_no_kunmap,
        .mmap           = armada_gem_dmabuf_mmap,
 };
 
index f987b4572d4a9c3d486c6bff49c9bad2e03abbe5..65a3bd7a0c00dbf919d46e6d464d8bce8a5ccfd1 100644 (file)
@@ -221,7 +221,8 @@ err_encoder_cleanup:
 int atmel_hlcdc_create_outputs(struct drm_device *dev)
 {
        struct device_node *remote;
-       int ret, endpoint = 0;
+       int ret = -ENODEV;
+       int endpoint = 0;
 
        while (true) {
                /* Loop thru possible multiple connections to the output */
@@ -236,7 +237,5 @@ int atmel_hlcdc_create_outputs(struct drm_device *dev)
                        return ret;
        }
 
-       if (!endpoint)
-               return -ENODEV;
        return ret;
 }
index 9fb65b736a90f132591e3b1722fd8f533696e3f6..954eb848b5e2125741fa025bc8892ba720a8aef7 100644 (file)
@@ -403,10 +403,10 @@ static const struct dma_buf_ops drm_gem_prime_dmabuf_ops =  {
        .map_dma_buf = drm_gem_map_dma_buf,
        .unmap_dma_buf = drm_gem_unmap_dma_buf,
        .release = drm_gem_dmabuf_release,
-       .kmap = drm_gem_dmabuf_kmap,
-       .kmap_atomic = drm_gem_dmabuf_kmap_atomic,
-       .kunmap = drm_gem_dmabuf_kunmap,
-       .kunmap_atomic = drm_gem_dmabuf_kunmap_atomic,
+       .map = drm_gem_dmabuf_kmap,
+       .map_atomic = drm_gem_dmabuf_kmap_atomic,
+       .unmap = drm_gem_dmabuf_kunmap,
+       .unmap_atomic = drm_gem_dmabuf_kunmap_atomic,
        .mmap = drm_gem_dmabuf_mmap,
        .vmap = drm_gem_dmabuf_vmap,
        .vunmap = drm_gem_dmabuf_vunmap,
index 11898cd97596a33965a54c2bf459dcc7d12608dd..f225bf680b6de190ce1cbb4aa0e67a5b3d5f603a 100644 (file)
@@ -200,10 +200,10 @@ static const struct dma_buf_ops i915_dmabuf_ops =  {
        .map_dma_buf = i915_gem_map_dma_buf,
        .unmap_dma_buf = i915_gem_unmap_dma_buf,
        .release = drm_gem_dmabuf_release,
-       .kmap = i915_gem_dmabuf_kmap,
-       .kmap_atomic = i915_gem_dmabuf_kmap_atomic,
-       .kunmap = i915_gem_dmabuf_kunmap,
-       .kunmap_atomic = i915_gem_dmabuf_kunmap_atomic,
+       .map = i915_gem_dmabuf_kmap,
+       .map_atomic = i915_gem_dmabuf_kmap_atomic,
+       .unmap = i915_gem_dmabuf_kunmap,
+       .unmap_atomic = i915_gem_dmabuf_kunmap_atomic,
        .mmap = i915_gem_dmabuf_mmap,
        .vmap = i915_gem_dmabuf_vmap,
        .vunmap = i915_gem_dmabuf_vunmap,
index 99da8f4ef49712edb46c202d25cf7d957ce4e36e..302f7d1036359ab47db4009037561b99e2d617d6 100644 (file)
@@ -129,10 +129,10 @@ static const struct dma_buf_ops mock_dmabuf_ops =  {
        .map_dma_buf = mock_map_dma_buf,
        .unmap_dma_buf = mock_unmap_dma_buf,
        .release = mock_dmabuf_release,
-       .kmap = mock_dmabuf_kmap,
-       .kmap_atomic = mock_dmabuf_kmap_atomic,
-       .kunmap = mock_dmabuf_kunmap,
-       .kunmap_atomic = mock_dmabuf_kunmap_atomic,
+       .map = mock_dmabuf_kmap,
+       .map_atomic = mock_dmabuf_kmap_atomic,
+       .unmap = mock_dmabuf_kunmap,
+       .unmap_atomic = mock_dmabuf_kunmap_atomic,
        .mmap = mock_dmabuf_mmap,
        .vmap = mock_dmabuf_vmap,
        .vunmap = mock_dmabuf_vunmap,
index ee5883f59be5a1992c6bdd20c751285079f5d3c1..0dbe0306953da431978263bff9f7c96b60e31fb6 100644 (file)
@@ -160,10 +160,10 @@ static struct dma_buf_ops omap_dmabuf_ops = {
        .release = omap_gem_dmabuf_release,
        .begin_cpu_access = omap_gem_dmabuf_begin_cpu_access,
        .end_cpu_access = omap_gem_dmabuf_end_cpu_access,
-       .kmap_atomic = omap_gem_dmabuf_kmap_atomic,
-       .kunmap_atomic = omap_gem_dmabuf_kunmap_atomic,
-       .kmap = omap_gem_dmabuf_kmap,
-       .kunmap = omap_gem_dmabuf_kunmap,
+       .map_atomic = omap_gem_dmabuf_kmap_atomic,
+       .unmap_atomic = omap_gem_dmabuf_kunmap_atomic,
+       .map = omap_gem_dmabuf_kmap,
+       .unmap = omap_gem_dmabuf_kunmap,
        .mmap = omap_gem_dmabuf_mmap,
 };
 
index 86279f5022c28a6ccf00efa66fff90f21a136f21..88f16cdf6a4bcee03adc0c1145eaae317eb7d2ef 100644 (file)
@@ -66,7 +66,9 @@ static struct gdp_format_to_str {
 #define GAM_GDP_ALPHARANGE_255  BIT(5)
 #define GAM_GDP_AGC_FULL_RANGE  0x00808080
 #define GAM_GDP_PPT_IGNORE      (BIT(1) | BIT(0))
-#define GAM_GDP_SIZE_MAX        0x7FF
+
+#define GAM_GDP_SIZE_MAX_WIDTH  3840
+#define GAM_GDP_SIZE_MAX_HEIGHT 2160
 
 #define GDP_NODE_NB_BANK        2
 #define GDP_NODE_PER_FIELD      2
@@ -632,8 +634,8 @@ static int sti_gdp_atomic_check(struct drm_plane *drm_plane,
        /* src_x are in 16.16 format */
        src_x = state->src_x >> 16;
        src_y = state->src_y >> 16;
-       src_w = clamp_val(state->src_w >> 16, 0, GAM_GDP_SIZE_MAX);
-       src_h = clamp_val(state->src_h >> 16, 0, GAM_GDP_SIZE_MAX);
+       src_w = clamp_val(state->src_w >> 16, 0, GAM_GDP_SIZE_MAX_WIDTH);
+       src_h = clamp_val(state->src_h >> 16, 0, GAM_GDP_SIZE_MAX_HEIGHT);
 
        format = sti_gdp_fourcc2format(fb->format->format);
        if (format == -1) {
@@ -741,8 +743,8 @@ static void sti_gdp_atomic_update(struct drm_plane *drm_plane,
        /* src_x are in 16.16 format */
        src_x = state->src_x >> 16;
        src_y = state->src_y >> 16;
-       src_w = clamp_val(state->src_w >> 16, 0, GAM_GDP_SIZE_MAX);
-       src_h = clamp_val(state->src_h >> 16, 0, GAM_GDP_SIZE_MAX);
+       src_w = clamp_val(state->src_w >> 16, 0, GAM_GDP_SIZE_MAX_WIDTH);
+       src_h = clamp_val(state->src_h >> 16, 0, GAM_GDP_SIZE_MAX_HEIGHT);
 
        list = sti_gdp_get_free_nodes(gdp);
        top_field = list->top_field;
index 17e62ecb5d4d59d009ef019adb07b0335f60a87d..8672f5d2f2376d71701359268117003612552d72 100644 (file)
@@ -619,10 +619,10 @@ static const struct dma_buf_ops tegra_gem_prime_dmabuf_ops = {
        .map_dma_buf = tegra_gem_prime_map_dma_buf,
        .unmap_dma_buf = tegra_gem_prime_unmap_dma_buf,
        .release = tegra_gem_prime_release,
-       .kmap_atomic = tegra_gem_prime_kmap_atomic,
-       .kunmap_atomic = tegra_gem_prime_kunmap_atomic,
-       .kmap = tegra_gem_prime_kmap,
-       .kunmap = tegra_gem_prime_kunmap,
+       .map_atomic = tegra_gem_prime_kmap_atomic,
+       .unmap_atomic = tegra_gem_prime_kunmap_atomic,
+       .map = tegra_gem_prime_kmap,
+       .unmap = tegra_gem_prime_kunmap,
        .mmap = tegra_gem_prime_mmap,
        .vmap = tegra_gem_prime_vmap,
        .vunmap = tegra_gem_prime_vunmap,
index ac90ffdb59120f3505a99565250655c7c8876436..ed0e636243b20c646352d01a75204c107908a219 100644 (file)
@@ -191,10 +191,10 @@ static struct dma_buf_ops udl_dmabuf_ops = {
        .detach                 = udl_detach_dma_buf,
        .map_dma_buf            = udl_map_dma_buf,
        .unmap_dma_buf          = udl_unmap_dma_buf,
-       .kmap                   = udl_dmabuf_kmap,
-       .kmap_atomic            = udl_dmabuf_kmap_atomic,
-       .kunmap                 = udl_dmabuf_kunmap,
-       .kunmap_atomic          = udl_dmabuf_kunmap_atomic,
+       .map                    = udl_dmabuf_kmap,
+       .map_atomic             = udl_dmabuf_kmap_atomic,
+       .unmap                  = udl_dmabuf_kunmap,
+       .unmap_atomic           = udl_dmabuf_kunmap_atomic,
        .mmap                   = udl_dmabuf_mmap,
        .release                = drm_gem_dmabuf_release,
 };
index 31fe32d8d65aa350a207daf75865f9c806c1a322..0d42a46521fc1cc5c8083722fe03239d64ae3d87 100644 (file)
@@ -108,10 +108,10 @@ const struct dma_buf_ops vmw_prime_dmabuf_ops =  {
        .map_dma_buf = vmw_prime_map_dma_buf,
        .unmap_dma_buf = vmw_prime_unmap_dma_buf,
        .release = NULL,
-       .kmap = vmw_prime_dmabuf_kmap,
-       .kmap_atomic = vmw_prime_dmabuf_kmap_atomic,
-       .kunmap = vmw_prime_dmabuf_kunmap,
-       .kunmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
+       .map = vmw_prime_dmabuf_kmap,
+       .map_atomic = vmw_prime_dmabuf_kmap_atomic,
+       .unmap = vmw_prime_dmabuf_kunmap,
+       .unmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
        .mmap = vmw_prime_dmabuf_mmap,
        .vmap = vmw_prime_dmabuf_vmap,
        .vunmap = vmw_prime_dmabuf_vunmap,
index fb6a177be46191012c7b88a09b5ab8446efed18b..2db0413f5d5744b6634f827ee169f8d95287c566 100644 (file)
@@ -356,8 +356,8 @@ static struct dma_buf_ops vb2_dc_dmabuf_ops = {
        .detach = vb2_dc_dmabuf_ops_detach,
        .map_dma_buf = vb2_dc_dmabuf_ops_map,
        .unmap_dma_buf = vb2_dc_dmabuf_ops_unmap,
-       .kmap = vb2_dc_dmabuf_ops_kmap,
-       .kmap_atomic = vb2_dc_dmabuf_ops_kmap,
+       .map = vb2_dc_dmabuf_ops_kmap,
+       .map_atomic = vb2_dc_dmabuf_ops_kmap,
        .vmap = vb2_dc_dmabuf_ops_vmap,
        .mmap = vb2_dc_dmabuf_ops_mmap,
        .release = vb2_dc_dmabuf_ops_release,
index ecff8f492c4ff8cdfdaf14bb5b907e8aa1ad5f9e..6fd1343b7c1367103db36fa5f00204cd48450882 100644 (file)
@@ -504,8 +504,8 @@ static struct dma_buf_ops vb2_dma_sg_dmabuf_ops = {
        .detach = vb2_dma_sg_dmabuf_ops_detach,
        .map_dma_buf = vb2_dma_sg_dmabuf_ops_map,
        .unmap_dma_buf = vb2_dma_sg_dmabuf_ops_unmap,
-       .kmap = vb2_dma_sg_dmabuf_ops_kmap,
-       .kmap_atomic = vb2_dma_sg_dmabuf_ops_kmap,
+       .map = vb2_dma_sg_dmabuf_ops_kmap,
+       .map_atomic = vb2_dma_sg_dmabuf_ops_kmap,
        .vmap = vb2_dma_sg_dmabuf_ops_vmap,
        .mmap = vb2_dma_sg_dmabuf_ops_mmap,
        .release = vb2_dma_sg_dmabuf_ops_release,
index 3f778147cdef3e70767cc009ee1ddaee57935a08..27d1db3bb8cffafca74a0bec98b0381359378a67 100644 (file)
@@ -342,8 +342,8 @@ static struct dma_buf_ops vb2_vmalloc_dmabuf_ops = {
        .detach = vb2_vmalloc_dmabuf_ops_detach,
        .map_dma_buf = vb2_vmalloc_dmabuf_ops_map,
        .unmap_dma_buf = vb2_vmalloc_dmabuf_ops_unmap,
-       .kmap = vb2_vmalloc_dmabuf_ops_kmap,
-       .kmap_atomic = vb2_vmalloc_dmabuf_ops_kmap,
+       .map = vb2_vmalloc_dmabuf_ops_kmap,
+       .map_atomic = vb2_vmalloc_dmabuf_ops_kmap,
        .vmap = vb2_vmalloc_dmabuf_ops_vmap,
        .mmap = vb2_vmalloc_dmabuf_ops_mmap,
        .release = vb2_vmalloc_dmabuf_ops_release,
index f45115fce4eb7c56534ceb277151782c1e9a23d8..95a7f1648c00cac778a5ca69c023d4d293ce17da 100644 (file)
@@ -1020,10 +1020,10 @@ static const struct dma_buf_ops dma_buf_ops = {
        .release = ion_dma_buf_release,
        .begin_cpu_access = ion_dma_buf_begin_cpu_access,
        .end_cpu_access = ion_dma_buf_end_cpu_access,
-       .kmap_atomic = ion_dma_buf_kmap,
-       .kunmap_atomic = ion_dma_buf_kunmap,
-       .kmap = ion_dma_buf_kmap,
-       .kunmap = ion_dma_buf_kunmap,
+       .map_atomic = ion_dma_buf_kmap,
+       .unmap_atomic = ion_dma_buf_kunmap,
+       .map = ion_dma_buf_kmap,
+       .unmap = ion_dma_buf_kunmap,
 };
 
 struct dma_buf *ion_share_dma_buf(struct ion_client *client,
index bfb3704fc6fc3eb85a1b312f82e05df857406d54..79f27d60ec66aec020fcabf01204fa51354f16c6 100644 (file)
@@ -39,13 +39,13 @@ struct dma_buf_attachment;
 
 /**
  * struct dma_buf_ops - operations possible on struct dma_buf
- * @kmap_atomic: maps a page from the buffer into kernel address
- *              space, users may not block until the subsequent unmap call.
- *              This callback must not sleep.
- * @kunmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
- *                This Callback must not sleep.
- * @kmap: maps a page from the buffer into kernel address space.
- * @kunmap: [optional] unmaps a page from the buffer.
+ * @map_atomic: maps a page from the buffer into kernel address
+ *             space, users may not block until the subsequent unmap call.
+ *             This callback must not sleep.
+ * @unmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
+ *               This Callback must not sleep.
+ * @map: maps a page from the buffer into kernel address space.
+ * @unmap: [optional] unmaps a page from the buffer.
  * @vmap: [optional] creates a virtual mapping for the buffer into kernel
  *       address space. Same restrictions as for vmap and friends apply.
  * @vunmap: [optional] unmaps a vmap from the buffer
@@ -206,10 +206,10 @@ struct dma_buf_ops {
         * to be restarted.
         */
        int (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);
-       void *(*kmap_atomic)(struct dma_buf *, unsigned long);
-       void (*kunmap_atomic)(struct dma_buf *, unsigned long, void *);
-       void *(*kmap)(struct dma_buf *, unsigned long);
-       void (*kunmap)(struct dma_buf *, unsigned long, void *);
+       void *(*map_atomic)(struct dma_buf *, unsigned long);
+       void (*unmap_atomic)(struct dma_buf *, unsigned long, void *);
+       void *(*map)(struct dma_buf *, unsigned long);
+       void (*unmap)(struct dma_buf *, unsigned long, void *);
 
        /**
         * @mmap: