Merge tag 'drm-misc-next-2018-11-28' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for v4.21: Core Changes: - Merge drm_info.c into drm_debugfs.c - Complete the fake drm_crtc_commit's hw_done/flip_done sooner. - Remove deprecated drm_obj_ref/unref functions. All drivers use get/put now. - Decrease stack use of drm_gem_prime_mmap. - Improve documentation for dumb callbacks. Driver Changes: - Add edid support to virtio. - Wait on implicit fence in meson and sun4i. - Add support for BGRX8888 to sun4i. - Preparation patches for sun4i driver to start supporting linear and tiled YUV formats. - Add support for HDMI 1.4 4k modes to meson, and support for VIC alternate timings. - Drop custom dumb_map in vkms. - Small fixes and cleanups to v3d. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/151a3270-b1be-ed75-bd58-6b29d741f592@linux.intel.com
This commit is contained in:
@@ -1210,30 +1210,6 @@ static inline void drm_connector_put(struct drm_connector *connector)
|
||||
drm_mode_object_put(&connector->base);
|
||||
}
|
||||
|
||||
/**
|
||||
* drm_connector_reference - acquire a connector reference
|
||||
* @connector: DRM connector
|
||||
*
|
||||
* This is a compatibility alias for drm_connector_get() and should not be
|
||||
* used by new code.
|
||||
*/
|
||||
static inline void drm_connector_reference(struct drm_connector *connector)
|
||||
{
|
||||
drm_connector_get(connector);
|
||||
}
|
||||
|
||||
/**
|
||||
* drm_connector_unreference - release a connector reference
|
||||
* @connector: DRM connector
|
||||
*
|
||||
* This is a compatibility alias for drm_connector_put() and should not be
|
||||
* used by new code.
|
||||
*/
|
||||
static inline void drm_connector_unreference(struct drm_connector *connector)
|
||||
{
|
||||
drm_connector_put(connector);
|
||||
}
|
||||
|
||||
/**
|
||||
* drm_connector_is_unregistered - has the connector been unregistered from
|
||||
* userspace?
|
||||
|
@@ -527,8 +527,10 @@ struct drm_driver {
|
||||
* @dumb_map_offset:
|
||||
*
|
||||
* Allocate an offset in the drm device node's address space to be able to
|
||||
* memory map a dumb buffer. GEM-based drivers must use
|
||||
* drm_gem_create_mmap_offset() to implement this.
|
||||
* memory map a dumb buffer.
|
||||
*
|
||||
* The default implementation is drm_gem_create_mmap_offset(). GEM based
|
||||
* drivers must not overwrite this.
|
||||
*
|
||||
* Called by the user via ioctl.
|
||||
*
|
||||
@@ -548,6 +550,9 @@ struct drm_driver {
|
||||
*
|
||||
* Called by the user via ioctl.
|
||||
*
|
||||
* The default implementation is drm_gem_dumb_destroy(). GEM based drivers
|
||||
* must not overwrite this.
|
||||
*
|
||||
* Returns:
|
||||
*
|
||||
* Zero on success, negative errno on failure.
|
||||
@@ -625,7 +630,6 @@ void drm_dev_unregister(struct drm_device *dev);
|
||||
|
||||
void drm_dev_get(struct drm_device *dev);
|
||||
void drm_dev_put(struct drm_device *dev);
|
||||
void drm_dev_unref(struct drm_device *dev);
|
||||
void drm_put_dev(struct drm_device *dev);
|
||||
bool drm_dev_enter(struct drm_device *dev, int *idx);
|
||||
void drm_dev_exit(int idx);
|
||||
|
@@ -240,30 +240,6 @@ static inline void drm_framebuffer_put(struct drm_framebuffer *fb)
|
||||
drm_mode_object_put(&fb->base);
|
||||
}
|
||||
|
||||
/**
|
||||
* drm_framebuffer_reference - acquire a framebuffer reference
|
||||
* @fb: DRM framebuffer
|
||||
*
|
||||
* This is a compatibility alias for drm_framebuffer_get() and should not be
|
||||
* used by new code.
|
||||
*/
|
||||
static inline void drm_framebuffer_reference(struct drm_framebuffer *fb)
|
||||
{
|
||||
drm_framebuffer_get(fb);
|
||||
}
|
||||
|
||||
/**
|
||||
* drm_framebuffer_unreference - release a framebuffer reference
|
||||
* @fb: DRM framebuffer
|
||||
*
|
||||
* This is a compatibility alias for drm_framebuffer_put() and should not be
|
||||
* used by new code.
|
||||
*/
|
||||
static inline void drm_framebuffer_unreference(struct drm_framebuffer *fb)
|
||||
{
|
||||
drm_framebuffer_put(fb);
|
||||
}
|
||||
|
||||
/**
|
||||
* drm_framebuffer_read_refcount - read the framebuffer reference count.
|
||||
* @fb: framebuffer
|
||||
|
@@ -348,56 +348,6 @@ __drm_gem_object_put(struct drm_gem_object *obj)
|
||||
void drm_gem_object_put_unlocked(struct drm_gem_object *obj);
|
||||
void drm_gem_object_put(struct drm_gem_object *obj);
|
||||
|
||||
/**
|
||||
* drm_gem_object_reference - acquire a GEM buffer object reference
|
||||
* @obj: GEM buffer object
|
||||
*
|
||||
* This is a compatibility alias for drm_gem_object_get() and should not be
|
||||
* used by new code.
|
||||
*/
|
||||
static inline void drm_gem_object_reference(struct drm_gem_object *obj)
|
||||
{
|
||||
drm_gem_object_get(obj);
|
||||
}
|
||||
|
||||
/**
|
||||
* __drm_gem_object_unreference - raw function to release a GEM buffer object
|
||||
* reference
|
||||
* @obj: GEM buffer object
|
||||
*
|
||||
* This is a compatibility alias for __drm_gem_object_put() and should not be
|
||||
* used by new code.
|
||||
*/
|
||||
static inline void __drm_gem_object_unreference(struct drm_gem_object *obj)
|
||||
{
|
||||
__drm_gem_object_put(obj);
|
||||
}
|
||||
|
||||
/**
|
||||
* drm_gem_object_unreference_unlocked - release a GEM buffer object reference
|
||||
* @obj: GEM buffer object
|
||||
*
|
||||
* This is a compatibility alias for drm_gem_object_put_unlocked() and should
|
||||
* not be used by new code.
|
||||
*/
|
||||
static inline void
|
||||
drm_gem_object_unreference_unlocked(struct drm_gem_object *obj)
|
||||
{
|
||||
drm_gem_object_put_unlocked(obj);
|
||||
}
|
||||
|
||||
/**
|
||||
* drm_gem_object_unreference - release a GEM buffer object reference
|
||||
* @obj: GEM buffer object
|
||||
*
|
||||
* This is a compatibility alias for drm_gem_object_put() and should not be
|
||||
* used by new code.
|
||||
*/
|
||||
static inline void drm_gem_object_unreference(struct drm_gem_object *obj)
|
||||
{
|
||||
drm_gem_object_put(obj);
|
||||
}
|
||||
|
||||
int drm_gem_handle_create(struct drm_file *file_priv,
|
||||
struct drm_gem_object *obj,
|
||||
u32 *handlep);
|
||||
|
@@ -66,7 +66,7 @@ struct drm_v3d_submit_cl {
|
||||
*/
|
||||
__u32 bcl_start;
|
||||
|
||||
/** End address of the BCL (first byte after the BCL) */
|
||||
/** End address of the BCL (first byte after the BCL) */
|
||||
__u32 bcl_end;
|
||||
|
||||
/* Offset of the render command list.
|
||||
@@ -82,7 +82,7 @@ struct drm_v3d_submit_cl {
|
||||
*/
|
||||
__u32 rcl_start;
|
||||
|
||||
/** End address of the RCL (first byte after the RCL) */
|
||||
/** End address of the RCL (first byte after the RCL) */
|
||||
__u32 rcl_end;
|
||||
|
||||
/** An optional sync object to wait on before starting the BCL. */
|
||||
|
@@ -41,6 +41,7 @@
|
||||
#include <linux/types.h>
|
||||
|
||||
#define VIRTIO_GPU_F_VIRGL 0
|
||||
#define VIRTIO_GPU_F_EDID 1
|
||||
|
||||
enum virtio_gpu_ctrl_type {
|
||||
VIRTIO_GPU_UNDEFINED = 0,
|
||||
@@ -56,6 +57,7 @@ enum virtio_gpu_ctrl_type {
|
||||
VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING,
|
||||
VIRTIO_GPU_CMD_GET_CAPSET_INFO,
|
||||
VIRTIO_GPU_CMD_GET_CAPSET,
|
||||
VIRTIO_GPU_CMD_GET_EDID,
|
||||
|
||||
/* 3d commands */
|
||||
VIRTIO_GPU_CMD_CTX_CREATE = 0x0200,
|
||||
@@ -76,6 +78,7 @@ enum virtio_gpu_ctrl_type {
|
||||
VIRTIO_GPU_RESP_OK_DISPLAY_INFO,
|
||||
VIRTIO_GPU_RESP_OK_CAPSET_INFO,
|
||||
VIRTIO_GPU_RESP_OK_CAPSET,
|
||||
VIRTIO_GPU_RESP_OK_EDID,
|
||||
|
||||
/* error responses */
|
||||
VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200,
|
||||
@@ -291,6 +294,21 @@ struct virtio_gpu_resp_capset {
|
||||
__u8 capset_data[];
|
||||
};
|
||||
|
||||
/* VIRTIO_GPU_CMD_GET_EDID */
|
||||
struct virtio_gpu_cmd_get_edid {
|
||||
struct virtio_gpu_ctrl_hdr hdr;
|
||||
__le32 scanout;
|
||||
__le32 padding;
|
||||
};
|
||||
|
||||
/* VIRTIO_GPU_RESP_OK_EDID */
|
||||
struct virtio_gpu_resp_edid {
|
||||
struct virtio_gpu_ctrl_hdr hdr;
|
||||
__le32 size;
|
||||
__le32 padding;
|
||||
__u8 edid[1024];
|
||||
};
|
||||
|
||||
#define VIRTIO_GPU_EVENT_DISPLAY (1 << 0)
|
||||
|
||||
struct virtio_gpu_config {
|
||||
|
Reference in New Issue
Block a user