aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_gem.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-12-03 14:38:52 -0500
committerDave Airlie <airlied@redhat.com>2017-12-03 14:42:49 -0500
commit2c1c55cb75a9c72f9726fabb8c3607947711a8df (patch)
treefa835b954149545970eaa256107876d9a24bbf28 /drivers/gpu/drm/drm_gem.c
parentae64f9bd1d3621b5e60d7363bc20afb46aede215 (diff)
parent2f51be0945b9e0b9baafe47289c802be6d4c7980 (diff)
Merge tag 'drm-misc-next-2017-11-30' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
Cross-subsystem Changes: - device tree doc for the Mitsubishi AA070MC01 and Tianma TM070RVHG71 panels (Lukasz Majewski) and for a 2nd endpoint on stm32 (Philippe Cornu) Core Changes: The most important changes are: - Add drm_driver .last_close and .output_poll_changed helpers to reduce fbdev emulation footprint in drivers (Noralf) - Fix plane clipping in core and for vmwgfx (Ville) Then we have a bunch of of improvement for print and debug such as the addition of a framebuffer debugfs file. ELD connector, HDMI and improvements. And a bunch of misc improvements, clean ups and style changes and doc updates [airlied: drop eld bits from amdgpu_dm] Driver Changes: - sii8620: filter unsupported modes and add DVI mode support (Maciej Purski) - rockchip: analogix_dp: Remove unnecessary init code (Jeffy Chen) - virtio, cirrus: add fb create_handle support to enable screenshots(Lepton Wu) - virtio: replace reference/unreference with get/put (Aastha Gupta) - vc4, gma500: Convert timers to use timer_setup() (Kees Cook) - vc4: Reject HDMI modes with too high of clocks (Eric) - vc4: Add support for more pixel formats (Dave Stevenson) - stm: dsi: Rename driver name to "stm32-display-dsi" (Philippe Cornu) - stm: ltdc: add a 2nd endpoint (Philippe Cornu) - via: use monotonic time for VIA_WAIT_IRQ (Arnd Bergmann) * tag 'drm-misc-next-2017-11-30' of git://anongit.freedesktop.org/drm/drm-misc: (96 commits) drm/bridge: tc358767: add copyright lines MAINTAINERS: change maintainer for Rockchip drm drivers drm/vblank: Fix vblank timestamp debugs drm/via: use monotonic time for VIA_WAIT_IRQ dma-buf: Fix ifnullfree.cocci warnings drm/printer: Add drm_vprintf() drm/edid: Allow HDMI infoframe without VIC or S3D video/hdmi: Allow "empty" HDMI infoframes dma-buf/fence: Fix lock inversion within dma-fence-array drm/sti: Handle return value of platform_get_irq_byname drm/vc4: Add support for NV21 and NV61. drm/vc4: Use .pixel_order instead of custom .flip_cbcr drm/vc4: Add support for DRM_FORMAT_RGB888 and DRM_FORMAT_BGR888 drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c drm: Check crtc_state->enable rather than crtc->enabled in drm_plane_helper_check_state() drm/vmwgfx: Try to fix plane clipping drm/vmwgfx: Use drm_plane_helper_check_state() drm/vmwgfx: Remove bogus crtc coords vs fb size check gpu: gma500: remove unneeded DRIVER_LICENSE #define drm: don't link DP aux i2c adapter to the hardware device node ...
Diffstat (limited to 'drivers/gpu/drm/drm_gem.c')
-rw-r--r--drivers/gpu/drm/drm_gem.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index 55d6182555c7..01f8d9481211 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -40,6 +40,7 @@
40#include <drm/drmP.h> 40#include <drm/drmP.h>
41#include <drm/drm_vma_manager.h> 41#include <drm/drm_vma_manager.h>
42#include <drm/drm_gem.h> 42#include <drm/drm_gem.h>
43#include <drm/drm_print.h>
43#include "drm_internal.h" 44#include "drm_internal.h"
44 45
45/** @file drm_gem.c 46/** @file drm_gem.c
@@ -348,7 +349,7 @@ EXPORT_SYMBOL_GPL(drm_gem_dumb_map_offset);
348 * @file: drm file-private structure to remove the dumb handle from 349 * @file: drm file-private structure to remove the dumb handle from
349 * @dev: corresponding drm_device 350 * @dev: corresponding drm_device
350 * @handle: the dumb handle to remove 351 * @handle: the dumb handle to remove
351 * 352 *
352 * This implements the &drm_driver.dumb_destroy kms driver callback for drivers 353 * This implements the &drm_driver.dumb_destroy kms driver callback for drivers
353 * which use gem to manage their backing storage. 354 * which use gem to manage their backing storage.
354 */ 355 */
@@ -365,7 +366,7 @@ EXPORT_SYMBOL(drm_gem_dumb_destroy);
365 * @file_priv: drm file-private structure to register the handle for 366 * @file_priv: drm file-private structure to register the handle for
366 * @obj: object to register 367 * @obj: object to register
367 * @handlep: pointer to return the created handle to the caller 368 * @handlep: pointer to return the created handle to the caller
368 * 369 *
369 * This expects the &drm_device.object_name_lock to be held already and will 370 * This expects the &drm_device.object_name_lock to be held already and will
370 * drop it before returning. Used to avoid races in establishing new handles 371 * drop it before returning. Used to avoid races in establishing new handles
371 * when importing an object from either an flink name or a dma-buf. 372 * when importing an object from either an flink name or a dma-buf.
@@ -1040,3 +1041,19 @@ int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
1040 return ret; 1041 return ret;
1041} 1042}
1042EXPORT_SYMBOL(drm_gem_mmap); 1043EXPORT_SYMBOL(drm_gem_mmap);
1044
1045void drm_gem_print_info(struct drm_printer *p, unsigned int indent,
1046 const struct drm_gem_object *obj)
1047{
1048 drm_printf_indent(p, indent, "name=%d\n", obj->name);
1049 drm_printf_indent(p, indent, "refcount=%u\n",
1050 kref_read(&obj->refcount));
1051 drm_printf_indent(p, indent, "start=%08lx\n",
1052 drm_vma_node_start(&obj->vma_node));
1053 drm_printf_indent(p, indent, "size=%zu\n", obj->size);
1054 drm_printf_indent(p, indent, "imported=%s\n",
1055 obj->import_attach ? "yes" : "no");
1056
1057 if (obj->dev->driver->gem_print_info)
1058 obj->dev->driver->gem_print_info(p, indent, obj);
1059}