diff options
author | Dave Airlie <airlied@redhat.com> | 2017-05-17 22:57:06 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2017-05-17 22:57:06 -0400 |
commit | e98c58e55f68f8785aebfab1f8c9a03d8de0afe1 (patch) | |
tree | 8357e8fda6efb0867ac39fc6b9211a579721d00a /drivers/gpu/drm/drm_prime.c | |
parent | 2ea659a9ef488125eb46da6eb571de5eae5c43f6 (diff) | |
parent | 9cf8f5802f39d9991158b29033c852bccfc3a4d4 (diff) |
Merge tag 'drm-misc-next-2017-05-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next
UAPI Changes:
- Return -ENODEV instead of -ENXIO when creating cma fb w/o valid gem (Daniel)
- Add aspect ratio and custom scaling propertis to connector state (Maarten)
Cross-subsystem Changes:
- None
Core Changes:
- Add Laurent as bridge reviewer and Andrzej as bridge maintainer (Archit)
- Maintain new STM driver through -misc (Yannick)
- Misc doc improvements (as is tradition) (Daniel)
- Add driver-private objects to atomic state (Dhinakaran)
- Deprecate preclose hook in modern drivers (use postclose) (Daniel)
- Add hwmode to vblank struct. This fixes mode access in irq context and reduced
a bunch of boilerplate (Daniel)
Driver Changes:
- vc4: Add out-fence support to vc4 V3D rendering (Eric)
- stm: Add stm32f429 display hw and am-480272h3tmqw-t01h panel support (Yannick)
- vc4: Remove 256MB cma limit from vc4 (Eric)
- dw-hdmi: Disable audio when inactive, instead of always enabled (Romain)
- zte: Add support for VGA to the ZTE driver (Shawn)
- i915: Track DP MST bandwidth and check it in atomic_check (Dhinakaran)
- vgem: Enable gem dmabuf import iface to facilitate ion testing (Laura)
- vc4: Add support for Cygnus (new dt compat string + couple bug fixes) (Eric)
- pl111: Add driver for pl111 CLCD display controller (Eric/Tom)
- vgem: Subclass drm_device instead of standalone platform device (Chris)
Cc: Archit Taneja <architt@codeaurora.org>
Cc: Eric Anholt <eric@anholt.net>
Cc: Yannick Fertre <yannick.fertre@st.com>
Cc: Romain Perier <romain.perier@collabora.com>
Cc: Navare, Manasi D <manasi.d.navare@intel.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Cc: Laura Abbott <labbott@redhat.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Tom Cooksey <tom.cooksey@arm.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
* tag 'drm-misc-next-2017-05-16' of git://anongit.freedesktop.org/git/drm-misc: (72 commits)
drm: add missing declaration to drm_blend.h
drm/dp: Wait up all outstanding tx waiters
drm/dp: Read the tx msg state once after checking for an event
drm/prime: Forward declare struct device
drm/vblank: Lock down vblank->hwmode more
drm/vblank: drop the mode argument from drm_calc_vbltimestamp_from_scanoutpos
drm/vblank: Add FIXME comments about moving the vblank ts hooks
drm/vblank: Switch to bool in_vblank_irq in get_vblank_timestamp
drm/vblank: Switch drm_driver->get_vblank_timestamp to return a bool
drm/vgem: Convert to a struct drm_device subclass
gpu: drm: gma500: remove dead code
drm/sti: Adjust two checks for null pointers in sti_hqvdp_probe()
drm/sti: Fix typos in a comment line
drm/sti: Fix a typo in a comment line
drm/sti: Replace 17 seq_puts() calls by seq_putc()
drm/sti: Reduce function calls for sequence output at five places
drm/sti: use seq_puts to display a string
drm: Nerf the preclose callback for modern drivers
drm/exynos: Merge pre/postclose hooks
drm/tegra: switch to postclose
...
Diffstat (limited to 'drivers/gpu/drm/drm_prime.c')
-rw-r--r-- | drivers/gpu/drm/drm_prime.c | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c index 954eb848b5e2..22408badc617 100644 --- a/drivers/gpu/drm/drm_prime.c +++ b/drivers/gpu/drm/drm_prime.c | |||
@@ -595,15 +595,18 @@ out_unlock: | |||
595 | EXPORT_SYMBOL(drm_gem_prime_handle_to_fd); | 595 | EXPORT_SYMBOL(drm_gem_prime_handle_to_fd); |
596 | 596 | ||
597 | /** | 597 | /** |
598 | * drm_gem_prime_import - helper library implementation of the import callback | 598 | * drm_gem_prime_import_dev - core implementation of the import callback |
599 | * @dev: drm_device to import into | 599 | * @dev: drm_device to import into |
600 | * @dma_buf: dma-buf object to import | 600 | * @dma_buf: dma-buf object to import |
601 | * @attach_dev: struct device to dma_buf attach | ||
601 | * | 602 | * |
602 | * This is the implementation of the gem_prime_import functions for GEM drivers | 603 | * This is the core of drm_gem_prime_import. It's designed to be called by |
603 | * using the PRIME helpers. | 604 | * drivers who want to use a different device structure than dev->dev for |
605 | * attaching via dma_buf. | ||
604 | */ | 606 | */ |
605 | struct drm_gem_object *drm_gem_prime_import(struct drm_device *dev, | 607 | struct drm_gem_object *drm_gem_prime_import_dev(struct drm_device *dev, |
606 | struct dma_buf *dma_buf) | 608 | struct dma_buf *dma_buf, |
609 | struct device *attach_dev) | ||
607 | { | 610 | { |
608 | struct dma_buf_attachment *attach; | 611 | struct dma_buf_attachment *attach; |
609 | struct sg_table *sgt; | 612 | struct sg_table *sgt; |
@@ -625,7 +628,7 @@ struct drm_gem_object *drm_gem_prime_import(struct drm_device *dev, | |||
625 | if (!dev->driver->gem_prime_import_sg_table) | 628 | if (!dev->driver->gem_prime_import_sg_table) |
626 | return ERR_PTR(-EINVAL); | 629 | return ERR_PTR(-EINVAL); |
627 | 630 | ||
628 | attach = dma_buf_attach(dma_buf, dev->dev); | 631 | attach = dma_buf_attach(dma_buf, attach_dev); |
629 | if (IS_ERR(attach)) | 632 | if (IS_ERR(attach)) |
630 | return ERR_CAST(attach); | 633 | return ERR_CAST(attach); |
631 | 634 | ||
@@ -655,6 +658,21 @@ fail_detach: | |||
655 | 658 | ||
656 | return ERR_PTR(ret); | 659 | return ERR_PTR(ret); |
657 | } | 660 | } |
661 | EXPORT_SYMBOL(drm_gem_prime_import_dev); | ||
662 | |||
663 | /** | ||
664 | * drm_gem_prime_import - helper library implementation of the import callback | ||
665 | * @dev: drm_device to import into | ||
666 | * @dma_buf: dma-buf object to import | ||
667 | * | ||
668 | * This is the implementation of the gem_prime_import functions for GEM drivers | ||
669 | * using the PRIME helpers. | ||
670 | */ | ||
671 | struct drm_gem_object *drm_gem_prime_import(struct drm_device *dev, | ||
672 | struct dma_buf *dma_buf) | ||
673 | { | ||
674 | return drm_gem_prime_import_dev(dev, dma_buf, dev->dev); | ||
675 | } | ||
658 | EXPORT_SYMBOL(drm_gem_prime_import); | 676 | EXPORT_SYMBOL(drm_gem_prime_import); |
659 | 677 | ||
660 | /** | 678 | /** |