Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a44ddbcb authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-misc-next-fixes-2017-02-27' of...

Merge tag 'drm-misc-next-fixes-2017-02-27' of git://anongit.freedesktop.org/git/drm-misc into drm-next

Misc fixes for the 4.11 merge window.

- vmwgfx drm_control node compat patch
- rockchip&zte fix
- compat32 support for dma-buf ioctl (cc: stable ofc, since this is a
  massive fumble. oops)

* tag 'drm-misc-next-fixes-2017-02-27' of git://anongit.freedesktop.org/git/drm-misc:
  dma-buf: add support for compat ioctl
  drm/vmwgfx: Work around drm removal of control nodes
  drm/rockchip: cdn-dp: Fix error handling
  drm/rockchip: add extcon dependency for DP
  drm: zte: fix static checker warning on variable 'fmt'
parents 45554b23 888022c0
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -325,6 +325,9 @@ static const struct file_operations dma_buf_fops = {
	.llseek		= dma_buf_llseek,
	.llseek		= dma_buf_llseek,
	.poll		= dma_buf_poll,
	.poll		= dma_buf_poll,
	.unlocked_ioctl	= dma_buf_ioctl,
	.unlocked_ioctl	= dma_buf_ioctl,
#ifdef CONFIG_COMPAT
	.compat_ioctl	= dma_buf_ioctl,
#endif
};
};


/*
/*
+1 −0
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@ config ROCKCHIP_ANALOGIX_DP
config ROCKCHIP_CDN_DP
config ROCKCHIP_CDN_DP
        tristate "Rockchip cdn DP"
        tristate "Rockchip cdn DP"
        depends on DRM_ROCKCHIP
        depends on DRM_ROCKCHIP
	depends on EXTCON
	select SND_SOC_HDMI_CODEC if SND_SOC
	select SND_SOC_HDMI_CODEC if SND_SOC
        help
        help
	  This selects support for Rockchip SoC specific extensions
	  This selects support for Rockchip SoC specific extensions
+3 −1
Original line number Original line Diff line number Diff line
@@ -111,7 +111,7 @@ static int cdn_dp_clk_enable(struct cdn_dp_device *dp)
	ret = pm_runtime_get_sync(dp->dev);
	ret = pm_runtime_get_sync(dp->dev);
	if (ret < 0) {
	if (ret < 0) {
		DRM_DEV_ERROR(dp->dev, "cannot get pm runtime %d\n", ret);
		DRM_DEV_ERROR(dp->dev, "cannot get pm runtime %d\n", ret);
		goto err_pclk;
		goto err_pm_runtime_get;
	}
	}


	reset_control_assert(dp->core_rst);
	reset_control_assert(dp->core_rst);
@@ -133,6 +133,8 @@ static int cdn_dp_clk_enable(struct cdn_dp_device *dp)
	return 0;
	return 0;


err_set_rate:
err_set_rate:
	pm_runtime_put(dp->dev);
err_pm_runtime_get:
	clk_disable_unprepare(dp->core_clk);
	clk_disable_unprepare(dp->core_clk);
err_core_clk:
err_core_clk:
	clk_disable_unprepare(dp->pclk);
	clk_disable_unprepare(dp->pclk);
+10 −1
Original line number Original line Diff line number Diff line
@@ -199,9 +199,14 @@ static const struct drm_ioctl_desc vmw_ioctls[] = {
	VMW_IOCTL_DEF(VMW_PRESENT_READBACK,
	VMW_IOCTL_DEF(VMW_PRESENT_READBACK,
		      vmw_present_readback_ioctl,
		      vmw_present_readback_ioctl,
		      DRM_MASTER | DRM_AUTH),
		      DRM_MASTER | DRM_AUTH),
	/*
	 * The permissions of the below ioctl are overridden in
	 * vmw_generic_ioctl(). We require either
	 * DRM_MASTER or capable(CAP_SYS_ADMIN).
	 */
	VMW_IOCTL_DEF(VMW_UPDATE_LAYOUT,
	VMW_IOCTL_DEF(VMW_UPDATE_LAYOUT,
		      vmw_kms_update_layout_ioctl,
		      vmw_kms_update_layout_ioctl,
		      DRM_MASTER | DRM_CONTROL_ALLOW),
		      DRM_RENDER_ALLOW),
	VMW_IOCTL_DEF(VMW_CREATE_SHADER,
	VMW_IOCTL_DEF(VMW_CREATE_SHADER,
		      vmw_shader_define_ioctl,
		      vmw_shader_define_ioctl,
		      DRM_AUTH | DRM_RENDER_ALLOW),
		      DRM_AUTH | DRM_RENDER_ALLOW),
@@ -1123,6 +1128,10 @@ static long vmw_generic_ioctl(struct file *filp, unsigned int cmd,


			return (long) vmw_execbuf_ioctl(dev, arg, file_priv,
			return (long) vmw_execbuf_ioctl(dev, arg, file_priv,
							_IOC_SIZE(cmd));
							_IOC_SIZE(cmd));
		} else if (nr == DRM_COMMAND_BASE + DRM_VMW_UPDATE_LAYOUT) {
			if (!drm_is_current_master(file_priv) &&
			    !capable(CAP_SYS_ADMIN))
				return -EACCES;
		}
		}


		if (unlikely(ioctl->cmd != cmd))
		if (unlikely(ioctl->cmd != cmd))
+2 −2
Original line number Original line Diff line number Diff line
@@ -41,9 +41,9 @@
#include <drm/ttm/ttm_module.h>
#include <drm/ttm/ttm_module.h>
#include "vmwgfx_fence.h"
#include "vmwgfx_fence.h"


#define VMWGFX_DRIVER_DATE "20160210"
#define VMWGFX_DRIVER_DATE "20170221"
#define VMWGFX_DRIVER_MAJOR 2
#define VMWGFX_DRIVER_MAJOR 2
#define VMWGFX_DRIVER_MINOR 11
#define VMWGFX_DRIVER_MINOR 12
#define VMWGFX_DRIVER_PATCHLEVEL 0
#define VMWGFX_DRIVER_PATCHLEVEL 0
#define VMWGFX_FILE_PAGE_OFFSET 0x00100000
#define VMWGFX_FILE_PAGE_OFFSET 0x00100000
#define VMWGFX_FIFO_STATIC_SIZE (1024*1024)
#define VMWGFX_FIFO_STATIC_SIZE (1024*1024)
Loading