All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: DRI Development <dri-devel@lists.freedesktop.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	Daniel Vetter <daniel.vetter@intel.com>
Subject: [PATCH 18/18] drm: Unexport primary plane helpers
Date: Wed,  3 Oct 2018 11:18:27 +0200	[thread overview]
Message-ID: <20181003091827.25276-6-daniel.vetter@ffwll.ch> (raw)
In-Reply-To: <20181003091827.25276-1-daniel.vetter@ffwll.ch>

Well except the destroy helper, which isn't really a primary helper
but generally useful, if mislabelled.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/drm_plane_helper.c | 85 ++++--------------------------
 include/drm/drm_plane_helper.h     | 10 ----
 2 files changed, 11 insertions(+), 84 deletions(-)

diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c
index 33b3e6892787..0fff72dcd06d 100644
--- a/drivers/gpu/drm/drm_plane_helper.c
+++ b/drivers/gpu/drm/drm_plane_helper.c
@@ -42,11 +42,8 @@
  * primary plane support on top of the normal CRTC configuration interface.
  * Since the legacy &drm_mode_config_funcs.set_config interface ties the primary
  * plane together with the CRTC state this does not allow userspace to disable
- * the primary plane itself.  To avoid too much duplicated code use
- * drm_plane_helper_check_update() which can be used to enforce the same
- * restrictions as primary planes had thus. The default primary plane only
- * expose XRBG8888 and ARGB8888 as valid pixel formats for the attached
- * framebuffer.
+ * the primary plane itself. The default primary plane only expose XRBG8888 and
+ * ARGB8888 as valid pixel formats for the attached framebuffer.
  *
  * Drivers are highly recommended to implement proper support for primary
  * planes, and newly merged drivers must not rely upon these transitional
@@ -148,50 +145,13 @@ static int drm_plane_helper_check_update(struct drm_plane *plane,
 	return 0;
 }
 
-/**
- * drm_primary_helper_update() - Helper for primary plane update
- * @plane: plane object to update
- * @crtc: owning CRTC of owning plane
- * @fb: framebuffer to flip onto plane
- * @crtc_x: x offset of primary plane on crtc
- * @crtc_y: y offset of primary plane on crtc
- * @crtc_w: width of primary plane rectangle on crtc
- * @crtc_h: height of primary plane rectangle on crtc
- * @src_x: x offset of @fb for panning
- * @src_y: y offset of @fb for panning
- * @src_w: width of source rectangle in @fb
- * @src_h: height of source rectangle in @fb
- * @ctx: lock acquire context, not used here
- *
- * Provides a default plane update handler for primary planes.  This is handler
- * is called in response to a userspace SetPlane operation on the plane with a
- * non-NULL framebuffer.  We call the driver's modeset handler to update the
- * framebuffer.
- *
- * SetPlane() on a primary plane of a disabled CRTC is not supported, and will
- * return an error.
- *
- * Note that we make some assumptions about hardware limitations that may not be
- * true for all hardware --
- *
- * 1. Primary plane cannot be repositioned.
- * 2. Primary plane cannot be scaled.
- * 3. Primary plane must cover the entire CRTC.
- * 4. Subpixel positioning is not supported.
- *
- * Drivers for hardware that don't have these restrictions can provide their
- * own implementation rather than using this helper.
- *
- * RETURNS:
- * Zero on success, error code on failure
- */
-int drm_primary_helper_update(struct drm_plane *plane, struct drm_crtc *crtc,
-			      struct drm_framebuffer *fb,
-			      int crtc_x, int crtc_y,
-			      unsigned int crtc_w, unsigned int crtc_h,
-			      uint32_t src_x, uint32_t src_y,
-			      uint32_t src_w, uint32_t src_h,
-			      struct drm_modeset_acquire_ctx *ctx)
+static int drm_primary_helper_update(struct drm_plane *plane, struct drm_crtc *crtc,
+				     struct drm_framebuffer *fb,
+				     int crtc_x, int crtc_y,
+				     unsigned int crtc_w, unsigned int crtc_h,
+				     uint32_t src_x, uint32_t src_y,
+				     uint32_t src_w, uint32_t src_h,
+				     struct drm_modeset_acquire_ctx *ctx)
 {
 	struct drm_mode_set set = {
 		.crtc = crtc,
@@ -258,35 +218,12 @@ int drm_primary_helper_update(struct drm_plane *plane, struct drm_crtc *crtc,
 	kfree(connector_list);
 	return ret;
 }
-EXPORT_SYMBOL(drm_primary_helper_update);
 
-/**
- * drm_primary_helper_disable() - Helper for primary plane disable
- * @plane: plane to disable
- * @ctx: lock acquire context, not used here
- *
- * Provides a default plane disable handler for primary planes.  This is handler
- * is called in response to a userspace SetPlane operation on the plane with a
- * NULL framebuffer parameter.  It unconditionally fails the disable call with
- * -EINVAL the only way to disable the primary plane without driver support is
- * to disable the entire CRTC. Which does not match the plane
- * &drm_plane_funcs.disable_plane hook.
- *
- * Note that some hardware may be able to disable the primary plane without
- * disabling the whole CRTC.  Drivers for such hardware should provide their
- * own disable handler that disables just the primary plane (and they'll likely
- * need to provide their own update handler as well to properly re-enable a
- * disabled primary plane).
- *
- * RETURNS:
- * Unconditionally returns -EINVAL.
- */
-int drm_primary_helper_disable(struct drm_plane *plane,
-			       struct drm_modeset_acquire_ctx *ctx)
+static int drm_primary_helper_disable(struct drm_plane *plane,
+				      struct drm_modeset_acquire_ctx *ctx)
 {
 	return -EINVAL;
 }
-EXPORT_SYMBOL(drm_primary_helper_disable);
 
 /**
  * drm_primary_helper_destroy() - Helper for primary plane destruction
diff --git a/include/drm/drm_plane_helper.h b/include/drm/drm_plane_helper.h
index 7bff930b8b10..331ebd60b3a3 100644
--- a/include/drm/drm_plane_helper.h
+++ b/include/drm/drm_plane_helper.h
@@ -38,16 +38,6 @@
  */
 #define DRM_PLANE_HELPER_NO_SCALING (1<<16)
 
-int drm_primary_helper_update(struct drm_plane *plane,
-			      struct drm_crtc *crtc,
-			      struct drm_framebuffer *fb,
-			      int crtc_x, int crtc_y,
-			      unsigned int crtc_w, unsigned int crtc_h,
-			      uint32_t src_x, uint32_t src_y,
-			      uint32_t src_w, uint32_t src_h,
-			      struct drm_modeset_acquire_ctx *ctx);
-int drm_primary_helper_disable(struct drm_plane *plane,
-			       struct drm_modeset_acquire_ctx *ctx);
 void drm_primary_helper_destroy(struct drm_plane *plane);
 extern const struct drm_plane_funcs drm_primary_helper_funcs;
 
-- 
2.19.0.rc2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2018-10-03  9:18 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-02 13:35 [PATCH 00/18] atomic helper cleanups Daniel Vetter
2018-10-02 13:35 ` [PATCH 01/18] drm/amdgpu: Remove default best_encoder hook from DC Daniel Vetter
2018-10-02 13:35 ` [PATCH 02/18] drm/atomic-helper: Unexport drm_atomic_helper_best_encoder Daniel Vetter
2018-10-02 13:53   ` Laurent Pinchart
2018-10-03  9:08     ` Daniel Vetter
2018-10-04 17:13       ` Laurent Pinchart
2018-10-04 18:33   ` Sean Paul
2018-10-04 19:33     ` [Intel-gfx] " Daniel Vetter
2018-10-02 13:35 ` [PATCH 03/18] drm: Extract drm_atomic_state_helper.[hc] Daniel Vetter
2018-10-02 15:40   ` Ville Syrjälä
2018-10-03  9:10     ` Daniel Vetter
2018-10-02 13:35 ` [PATCH 04/18] drm/vmwgfx: Remove confused comment from vmw_du_connector_atomic_set_property Daniel Vetter
2018-10-02 15:15   ` Ville Syrjälä
2018-10-02 16:36     ` [Intel-gfx] " Thomas Hellstrom
2018-10-02 17:02       ` Ville Syrjälä
2018-10-04 20:03       ` [Intel-gfx] " Daniel Vetter
2018-10-02 13:35 ` [PATCH 05/18] drm/vmwgfx: Don't look at state->allow_modeset Daniel Vetter
2018-10-02 13:35 ` [PATCH 06/18] drm/atomic: Improve docs for drm_atomic_state->allow_modeset Daniel Vetter
2018-10-02 15:40   ` Ville Syrjälä
2018-10-02 13:35 ` [PATCH 07/18] drm/vmwgfx: Add FIXME comments for customer page_flip handlers Daniel Vetter
2018-10-02 16:49   ` Thomas Hellstrom
2018-10-03  9:11     ` Daniel Vetter
2018-10-02 13:35 ` [PATCH 08/18] drm/arcpgu: Drop transitional hooks Daniel Vetter
2018-10-02 15:34   ` Ville Syrjälä
2018-10-03  9:20     ` [Intel-gfx] " Daniel Vetter
2018-10-02 13:35 ` [PATCH 09/18] drm/atmel: " Daniel Vetter
2018-10-02 13:35   ` Daniel Vetter
2018-10-02 15:34   ` [Intel-gfx] " Ville Syrjälä
2018-10-02 15:34     ` Ville Syrjälä
2018-10-02 13:35 ` [PATCH 10/18] drm/arcpgu: Use drm_atomic_helper_shutdown Daniel Vetter
2018-10-02 15:39   ` Ville Syrjälä
2018-10-03  9:16 ` [PATCH 11/18] drm/msm: " Daniel Vetter
2018-10-03 13:01   ` Ville Syrjälä
2018-10-03  9:17 ` [PATCH 12/18] drm/sti: " Daniel Vetter
2018-10-03 13:07   ` Ville Syrjälä
2018-10-03  9:18 ` [PATCH 13/18] drm/vc4: " Daniel Vetter
2018-10-03  9:18   ` [PATCH 14/18] drm/zte: " Daniel Vetter
2018-10-03 13:08     ` Ville Syrjälä
2018-10-03  9:18   ` [PATCH 15/18] drm: Remove transitional helpers Daniel Vetter
2018-10-03 13:11     ` [Intel-gfx] " Ville Syrjälä
2018-10-03  9:18   ` [PATCH 16/18] drm/vmwgfx: Fix vmw_du_cursor_plane_atomic_check Daniel Vetter
2018-10-03 13:12     ` Ville Syrjälä
2018-10-03  9:18   ` [PATCH 17/18] drm: Unexport drm_plane_helper_check_update Daniel Vetter
2018-10-04 20:30     ` Ville Syrjälä
2018-10-03  9:18   ` Daniel Vetter [this message]
2018-10-03 13:15     ` [PATCH 18/18] drm: Unexport primary plane helpers Ville Syrjälä
2018-10-03 13:08   ` [PATCH 13/18] drm/vc4: Use drm_atomic_helper_shutdown Ville Syrjälä
2018-10-03 20:31   ` Eric Anholt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181003091827.25276-6-daniel.vetter@ffwll.ch \
    --to=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.