All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Paul <seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	Sean Paul <seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org
Subject: [DPU PATCH] drm/msm: Remove secure fb/plane support from dpu
Date: Wed, 21 Feb 2018 16:42:12 -0500	[thread overview]
Message-ID: <20180221214212.77387-1-seanpaul@chromium.org> (raw)

We need to have a discussion about how to introduce this in a way that
it can be leveraged by other platforms/userspaces. For now, remove
support since we don't need it yet.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
---
 drivers/gpu/drm/drm_framebuffer.c             |  3 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c      | 16 -------
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h      | 43 -------------------
 .../drm/msm/disp/dpu1/dpu_encoder_phys_wb.c   | 11 -----
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.c    |  1 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.h    |  2 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c   | 30 -------------
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h   | 21 +++------
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c     |  3 --
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.h     |  1 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       |  8 +---
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h       | 15 -------
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c     | 41 +-----------------
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h     |  1 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_wb.c        | 10 -----
 drivers/gpu/drm/msm/msm_drv.h                 |  3 --
 include/uapi/drm/dpu_drm.h                    | 42 ------------------
 include/uapi/drm/drm_mode.h                   |  1 -
 18 files changed, 9 insertions(+), 243 deletions(-)

diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c
index 8222ff7d3e93..5a13ff29f4f0 100644
--- a/drivers/gpu/drm/drm_framebuffer.c
+++ b/drivers/gpu/drm/drm_framebuffer.c
@@ -268,8 +268,7 @@ drm_internal_framebuffer_create(struct drm_device *dev,
 	struct drm_framebuffer *fb;
 	int ret;
 
-	if (r->flags & ~(DRM_MODE_FB_INTERLACED | DRM_MODE_FB_MODIFIERS |
-			DRM_MODE_FB_SECURE)) {
+	if (r->flags & ~(DRM_MODE_FB_INTERLACED | DRM_MODE_FB_MODIFIERS)) {
 		DRM_DEBUG_KMS("bad framebuffer flags 0x%08x\n", r->flags);
 		return ERR_PTR(-EINVAL);
 	}
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
index df6cbeb15cf5..3cdf1e3d9d96 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
@@ -39,13 +39,6 @@
 #include "dpu_core_perf.h"
 #include "dpu_trace.h"
 
-/* defines for secure channel call */
-#define SEC_SID_CNT               2
-#define SEC_SID_MASK_0            0x80881
-#define SEC_SID_MASK_1            0x80C81
-#define MEM_PROTECT_SD_CTRL_SWITCH 0x18
-#define MDP_DEVICE_ID            0x1A
-
 struct dpu_crtc_irq_info {
 	struct dpu_irq_callback irq;
 	u32 event;
@@ -3994,10 +3987,6 @@ static void dpu_crtc_install_properties(struct drm_crtc *crtc,
 	struct drm_device *dev;
 	struct dpu_kms_info *info;
 	struct dpu_kms *dpu_kms;
-	static const struct drm_prop_enum_list e_secure_level[] = {
-		{DPU_DRM_SEC_NON_SEC, "sec_and_non_sec"},
-		{DPU_DRM_SEC_ONLY, "sec_only"},
-	};
 
 	DPU_DEBUG("\n");
 
@@ -4080,11 +4069,6 @@ static void dpu_crtc_install_properties(struct drm_crtc *crtc,
 	msm_property_install_volatile_range(&dpu_crtc->property_info,
 		"dpu_drm_roi_v1", 0x0, 0, ~0, 0, CRTC_PROP_ROI_V1);
 
-	msm_property_install_enum(&dpu_crtc->property_info, "security_level",
-			0x0, 0, e_secure_level,
-			ARRAY_SIZE(e_secure_level),
-			CRTC_PROP_SECURITY_LEVEL);
-
 	dpu_kms_info_reset(info);
 
 	if (catalog->has_dim_layer) {
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h
index 17d21fff3f0a..b63df243be33 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h
@@ -51,20 +51,14 @@ enum dpu_crtc_client_type {
  * enum dpu_crtc_smmu_state:	smmu state
  * @ATTACHED:	 all the context banks are attached.
  * @DETACHED:	 all the context banks are detached.
- * @DETACHED_SEC:	 secure context bank is detached.
  * @ATTACH_ALL_REQ:	 transient state of attaching context banks.
  * @DETACH_ALL_REQ:	 transient state of detaching context banks.
- * @DETACH_SEC_REQ:	 tranisent state of secure context bank is detached
- * @ATTACH_SEC_REQ:	 transient state of attaching secure context bank.
  */
 enum dpu_crtc_smmu_state {
 	ATTACHED = 0,
 	DETACHED,
-	DETACHED_SEC,
 	ATTACH_ALL_REQ,
 	DETACH_ALL_REQ,
-	DETACH_SEC_REQ,
-	ATTACH_SEC_REQ,
 };
 
 /**
@@ -621,41 +615,4 @@ void dpu_crtc_res_put(struct drm_crtc_state *state, u32 type, u64 tag);
 void dpu_crtc_get_crtc_roi(struct drm_crtc_state *state,
 		const struct dpu_rect **crtc_roi);
 
-/** dpu_crt_get_secure_level - retrieve the secure level from the give state
- *	object, this is used to determine the secure state of the crtc
- * @crtc : Pointer to drm crtc structure
- * @usr: Pointer to drm crtc state
- * return: secure_level
- */
-static inline int dpu_crtc_get_secure_level(struct drm_crtc *crtc,
-		struct drm_crtc_state *state)
-{
-	if (!crtc || !state)
-		return -EINVAL;
-
-	return dpu_crtc_get_property(to_dpu_crtc_state(state),
-			CRTC_PROP_SECURITY_LEVEL);
-}
-
-/**
- * dpu_crtc_get_secure_transition - determines the operations to be
- * performed before transitioning to secure state
- * This function should be called after swapping the new state
- * @crtc: Pointer to drm crtc structure
- * @old_crtc_state: Poniter to previous CRTC state
- * Returns the bitmask of operations need to be performed, -Error in
- * case of error cases
- */
-int dpu_crtc_get_secure_transition_ops(struct drm_crtc *crtc,
-		struct drm_crtc_state *old_crtc_state,
-		bool old_valid_fb);
-
-/**
- * dpu_crtc_secure_ctrl - Initiates the transition between secure and
- *                          non-secure world
- * @crtc: Pointer to crtc
- * @post_commit: if this operation is triggered after commit
- */
-int dpu_crtc_secure_ctrl(struct drm_crtc *crtc, bool post_commit);
-
 #endif /* _DPU_CRTC_H_ */
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c
index 75255fc42e7e..9a6fa3e1e8b4 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c
@@ -279,19 +279,8 @@ static void dpu_encoder_phys_wb_setup_fb(struct dpu_encoder_phys *phys_enc,
 
 	wb_cfg->intf_mode = phys_enc->intf_mode;
 
-	fb_mode = dpu_connector_get_property(phys_enc->connector->state,
-			CONNECTOR_PROP_FB_TRANSLATION_MODE);
-	if (phys_enc->enable_state == DPU_ENC_DISABLING)
-		wb_cfg->is_secure = false;
-	else if (fb_mode == DPU_DRM_FB_SEC)
-		wb_cfg->is_secure = true;
-	else
-		wb_cfg->is_secure = false;
-
 	aspace = phys_enc->dpu_kms->base.aspace;
 
-	DPU_DEBUG("[fb_secure:%d]\n", wb_cfg->is_secure);
-
 	ret = msm_framebuffer_prepare(fb, aspace);
 	if (ret) {
 		DPU_ERROR("prep fb failed, %d\n", ret);
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.c
index 6b560f1c0fce..b20a64037666 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.c
@@ -606,7 +606,6 @@ static int dpu_hw_rot_commit(struct dpu_hw_rot *hw, struct dpu_hw_rot_cmd *data,
 	rot_cmd.hflip = data->rot90 ? !data->hflip : data->hflip;
 	rot_cmd.vflip = data->rot90 ? !data->vflip : data->vflip;
 
-	rot_cmd.secure = data->secure;
 	rot_cmd.clkrate = data->clkrate;
 	rot_cmd.data_bw = 0;
 	rot_cmd.prefill_bw = data->prefill_bw;
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.h
index f72d9c06b557..df15ed5f102f 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.h
@@ -44,7 +44,6 @@ enum dpu_hw_rot_cmd_type {
  * @rot90: true if rotation 90 in counter clockwise is required
  * @hflip: true if horizontal flip is required prior to rotation
  * @vflip: true if vertical flip is required prior to rotation
- * @secure: true if image content is in secure domain
  * @video_mode: true if rotator is feeding into video interface
  * @clkrate : clock rate in Hz
  * @prefill_bw: prefill bandwidth in Bps (video mode only)
@@ -80,7 +79,6 @@ struct dpu_hw_rot_cmd {
 	bool rot90;
 	bool hflip;
 	bool vflip;
-	bool secure;
 	bool video_mode;
 	u64 clkrate;
 	u64 prefill_bw;
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c
index 705b4510b730..3fecf33a164d 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c
@@ -360,35 +360,6 @@ static void dpu_hw_sspp_setup_format(struct dpu_hw_pipe *ctx,
 	DPU_REG_WRITE(c, SSPP_UBWC_ERROR_STATUS + idx, BIT(31));
 }
 
-static void dpu_hw_sspp_setup_secure(struct dpu_hw_pipe *ctx,
-		enum dpu_sspp_multirect_index rect_mode,
-		bool enable)
-{
-	struct dpu_hw_blk_reg_map *c;
-	u32 secure = 0, secure_bit_mask;
-	u32 idx;
-
-	if (_sspp_subblk_offset(ctx, DPU_SSPP_SRC, &idx))
-		return;
-
-	c = &ctx->hw;
-
-	if (enable) {
-		if ((rect_mode == DPU_SSPP_RECT_SOLO)
-				|| (rect_mode == DPU_SSPP_RECT_0))
-			secure_bit_mask =
-				(rect_mode == DPU_SSPP_RECT_SOLO) ? 0xF : 0x5;
-		else
-			secure_bit_mask = 0xA;
-
-		secure = DPU_REG_READ(c, SSPP_SRC_ADDR_SW_STATUS + idx);
-		secure |= secure_bit_mask;
-	}
-
-	DPU_REG_WRITE(c, SSPP_SRC_ADDR_SW_STATUS + idx, secure);
-}
-
-
 static void dpu_hw_sspp_setup_pe_config(struct dpu_hw_pipe *ctx,
 		struct dpu_hw_pixel_ext *pe_ext)
 {
@@ -910,7 +881,6 @@ static void _setup_layer_ops(struct dpu_hw_pipe *c,
 		c->ops.setup_sourceaddress = dpu_hw_sspp_setup_sourceaddress;
 		c->ops.setup_solidfill = dpu_hw_sspp_setup_solidfill;
 		c->ops.setup_pe = dpu_hw_sspp_setup_pe_config;
-		c->ops.setup_secure_address = dpu_hw_sspp_setup_secure;
 	}
 
 	if (test_bit(DPU_SSPP_EXCL_RECT, &features))
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h
index 23f37040acaa..de971f17f130 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h
@@ -25,12 +25,11 @@ struct dpu_hw_pipe;
 /**
  * Flags
  */
-#define DPU_SSPP_SECURE_OVERLAY_SESSION 0x1
-#define DPU_SSPP_FLIP_LR	 0x2
-#define DPU_SSPP_FLIP_UD	 0x4
-#define DPU_SSPP_SOURCE_ROTATED_90 0x8
-#define DPU_SSPP_ROT_90  0x10
-#define DPU_SSPP_SOLID_FILL 0x20
+#define DPU_SSPP_FLIP_LR		BIT(0)
+#define DPU_SSPP_FLIP_UD		BIT(1)
+#define DPU_SSPP_SOURCE_ROTATED_90	BIT(2)
+#define DPU_SSPP_ROT_90			BIT(3)
+#define DPU_SSPP_SOLID_FILL		BIT(4)
 
 /**
  * Define all scaler feature bits in catalog
@@ -505,16 +504,6 @@ struct dpu_hw_sspp_ops {
 	 */
 	void (*setup_cdp)(struct dpu_hw_pipe *ctx,
 			struct dpu_hw_pipe_cdp_cfg *cfg);
-
-	/**
-	 * setup_secure_address - setup secureity status of the source address
-	 * @ctx: Pointer to pipe context
-	 * @index: rectangle index in multirect
-	 * @enable: enable content protected buffer state
-	 */
-	void (*setup_secure_address)(struct dpu_hw_pipe *ctx,
-			enum dpu_sspp_multirect_index index,
-		bool enable);
 };
 
 /**
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c
index a07c30528096..fb02df4209c6 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c
@@ -153,9 +153,6 @@ static void dpu_hw_wb_setup_format(struct dpu_hw_wb *ctx,
 					(ctx->mdp->highest_bank_bit << 4));
 	}
 
-	if (data->is_secure)
-		dst_addr_sw |= BIT(0);
-
 	DPU_REG_WRITE(c, WB_ALPHA_X_VALUE, 0xFF);
 	DPU_REG_WRITE(c, WB_DST_FORMAT, dst_format);
 	DPU_REG_WRITE(c, WB_DST_OP_MODE, opmode);
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.h
index 822a4c57b369..145ebbc87b58 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.h
@@ -25,7 +25,6 @@ struct dpu_hw_wb_cfg {
 	enum dpu_intf_mode intf_mode;
 	struct traffic_shaper_cfg ts_cfg;
 	struct dpu_rect roi;
-	bool is_secure;
 };
 
 /**
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index b919c9a6a463..81fd3a429e9f 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -1236,14 +1236,10 @@ struct dpu_kms_fbo *dpu_kms_fbo_alloc(struct drm_device *dev, u32 width,
 	/* allocate backing buffer object */
 	if (dpu_kms->iclient) {
 #ifdef CONFIG_ION
-		u32 heap_id = fbo->flags & DRM_MODE_FB_SECURE ?
-				ION_HEAP(ION_SECURE_HEAP_ID) :
-				ION_HEAP(ION_SYSTEM_HEAP_ID);
-		u32 iflags = fbo->flags & DRM_MODE_FB_SECURE ?
-				(ION_FLAG_SECURE | ION_FLAG_CP_PIXEL) : 0;
+		u32 heap_id = ION_HEAP(ION_SYSTEM_HEAP_ID);
 
 		fbo->ihandle = ion_alloc(dpu_kms->iclient,
-				fbo->layout.total_size, SZ_4K, heap_id, iflags);
+				fbo->layout.total_size, SZ_4K, heap_id, 0);
 		if (IS_ERR_OR_NULL(fbo->ihandle)) {
 			DPU_ERROR("failed to alloc ion memory\n");
 			ret = PTR_ERR(fbo->ihandle);
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
index dea49f3d42b4..8cadd29a48b1 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
@@ -93,21 +93,6 @@
 /* timeout in frames waiting for frame done */
 #define DPU_FRAME_DONE_TIMEOUT	60
 
-/* max active secure client counts allowed */
-#define MAX_ALLOWED_SECURE_CLIENT_CNT	1
-
-/* max active crtc when secure client is active */
-#define MAX_ALLOWED_CRTC_CNT_DURING_SECURE	1
-
-/* max virtual encoders per secure crtc */
-#define MAX_ALLOWED_ENCODER_CNT_PER_SECURE_CRTC	1
-
-/* defines the operations required for secure state transition */
-#define DPU_KMS_OPS_CRTC_SECURE_STATE_CHANGE               BIT(0)
-#define DPU_KMS_OPS_WAIT_FOR_TX_DONE                       BIT(1)
-#define DPU_KMS_OPS_CLEANUP_PLANE_FB                       BIT(2)
-#define DPU_KMS_OPS_PREPARE_PLANE_FB                       BIT(3)
-
 /*
  * struct dpu_irq_callback - IRQ callback handlers
  * @list: list to callback
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
index cbda7dbf8725..834dcc0bfefd 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
@@ -839,8 +839,7 @@ int dpu_plane_wait_input_fence(struct drm_plane *plane, uint32_t wait_ms)
 }
 
 /**
- * _dpu_plane_get_aspace: gets the address space based on the
- *            fb_translation mode property
+ * _dpu_plane_get_aspace: gets the address space
  */
 static int _dpu_plane_get_aspace(
 		struct dpu_plane *pdpu,
@@ -1823,13 +1822,6 @@ static int dpu_plane_rot_submit_command(struct drm_plane *plane,
 	rot_cmd->rot90 = rstate->rot90;
 	rot_cmd->hflip = rstate->hflip;
 	rot_cmd->vflip = rstate->vflip;
-	fb_mode = dpu_plane_get_property(pstate,
-			PLANE_PROP_FB_TRANSLATION_MODE);
-	if ((fb_mode == DPU_DRM_FB_SEC) ||
-			(fb_mode == DPU_DRM_FB_SEC_DIR_TRANS))
-		rot_cmd->secure = true;
-	else
-		rot_cmd->secure = false;
 
 	rot_cmd->prefill_bw = dpu_crtc_get_property(dpu_cstate,
 			CRTC_PROP_ROT_PREFILL_BW);
@@ -1910,7 +1902,6 @@ static int dpu_plane_rot_submit_command(struct drm_plane *plane,
 	rstate->out_rotation = rstate->in_rotation;
 	rstate->out_fb_flags = rot_cmd->dst_modifier ?
 			DRM_MODE_FB_MODIFIERS : 0;
-	rstate->out_fb_flags |= rot_cmd->secure ? DRM_MODE_FB_SECURE : 0;
 	rstate->out_fb_format = rot_cmd->dst_format;
 	rstate->out_fb_pixel_format = rot_cmd->dst_pixel_format;
 
@@ -3337,9 +3328,6 @@ static int dpu_plane_sspp_atomic_update(struct drm_plane *plane,
 		case PLANE_PROP_BLEND_OP:
 			/* no special action required */
 			break;
-		case PLANE_PROP_FB_TRANSLATION_MODE:
-			pstate->dirty |= DPU_PLANE_DIRTY_FB_TRANSLATION_MODE;
-			break;
 		case PLANE_PROP_PREFILL_SIZE:
 		case PLANE_PROP_PREFILL_TIME:
 			pstate->dirty |= DPU_PLANE_DIRTY_PERF;
@@ -3387,21 +3375,6 @@ static int dpu_plane_sspp_atomic_update(struct drm_plane *plane,
 	pdpu->is_rt_pipe = (dpu_crtc_get_client_type(crtc) != NRT_CLIENT);
 	_dpu_plane_set_qos_ctrl(plane, false, DPU_PLANE_QOS_PANIC_CTRL);
 
-	/* update secure session flag */
-	if (pstate->dirty & DPU_PLANE_DIRTY_FB_TRANSLATION_MODE) {
-		bool enable = false;
-		int mode = dpu_plane_get_property(pstate,
-				PLANE_PROP_FB_TRANSLATION_MODE);
-
-		if ((mode == DPU_DRM_FB_SEC) ||
-				(mode == DPU_DRM_FB_SEC_DIR_TRANS))
-			enable = true;
-		/* update secure session flag */
-		pdpu->pipe_hw->ops.setup_secure_address(pdpu->pipe_hw,
-				pstate->multirect_index,
-				enable);
-	}
-
 	/* update roi config */
 	if (pstate->dirty & DPU_PLANE_DIRTY_RECTS) {
 		POPULATE_RECT(&src, rstate->out_src_x, rstate->out_src_y,
@@ -3683,12 +3656,6 @@ static void _dpu_plane_install_properties(struct drm_plane *plane,
 	static const struct drm_prop_enum_list e_src_config[] = {
 		{DPU_DRM_DEINTERLACE, "deinterlace"}
 	};
-	static const struct drm_prop_enum_list e_fb_translation_mode[] = {
-		{DPU_DRM_FB_NON_SEC, "non_sec"},
-		{DPU_DRM_FB_SEC, "sec"},
-		{DPU_DRM_FB_NON_SEC_DIR_TRANS, "non_sec_direct_translation"},
-		{DPU_DRM_FB_SEC_DIR_TRANS, "sec_direct_translation"},
-	};
 	const struct dpu_format_extended *format_list;
 	struct dpu_kms_info *info;
 	struct dpu_plane *pdpu = to_dpu_plane(plane);
@@ -3890,12 +3857,6 @@ static void _dpu_plane_install_properties(struct drm_plane *plane,
 		msm_property_install_blob(&pdpu->property_info, feature_name, 0,
 			PLANE_PROP_FOLIAGE_COLOR);
 	}
-
-	msm_property_install_enum(&pdpu->property_info, "fb_translation_mode",
-			0x0,
-			0, e_fb_translation_mode,
-			ARRAY_SIZE(e_fb_translation_mode),
-			PLANE_PROP_FB_TRANSLATION_MODE);
 }
 
 static inline void _dpu_plane_set_csc_v1(struct dpu_plane *pdpu, void *usr_ptr)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h
index 717dfe05c6ee..ad9d5cf048b1 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h
@@ -94,7 +94,6 @@ struct dpu_plane_rot_state {
 #define DPU_PLANE_DIRTY_FORMAT	0x2
 #define DPU_PLANE_DIRTY_SHARPEN	0x4
 #define DPU_PLANE_DIRTY_PERF	0x8
-#define DPU_PLANE_DIRTY_FB_TRANSLATION_MODE	0x10
 #define DPU_PLANE_DIRTY_ALL	0xFFFFFFFF
 
 /**
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_wb.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_wb.c
index d4b844979c4c..0bb07ee0bcf2 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_wb.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_wb.c
@@ -319,10 +319,6 @@ int dpu_wb_connector_post_init(struct drm_connector *connector,
 	struct dpu_connector *c_conn;
 	struct dpu_wb_device *wb_dev = display;
 	const struct dpu_format_extended *format_list;
-	static const struct drm_prop_enum_list e_fb_translation_mode[] = {
-		{DPU_DRM_FB_NON_SEC, "non_sec"},
-		{DPU_DRM_FB_SEC, "sec"},
-	};
 
 	if (!connector || !info || !display || !wb_dev->wb_cfg) {
 		DPU_ERROR("invalid params\n");
@@ -347,12 +343,6 @@ int dpu_wb_connector_post_init(struct drm_connector *connector,
 			0x0, 0, UINT_MAX, 0, CONNECTOR_PROP_DST_W);
 	msm_property_install_range(&c_conn->property_info, "DST_H",
 			0x0, 0, UINT_MAX, 0, CONNECTOR_PROP_DST_H);
-	msm_property_install_enum(&c_conn->property_info,
-			"fb_translation_mode",
-			0x0,
-			0, e_fb_translation_mode,
-			ARRAY_SIZE(e_fb_translation_mode),
-			CONNECTOR_PROP_FB_TRANSLATION_MODE);
 
 	/*
 	 * Populate info buffer
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index 2c93d74ca973..cf96a85f4b55 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -116,7 +116,6 @@ enum msm_mdp_plane_property {
 	PLANE_PROP_ROTATION,
 	PLANE_PROP_BLEND_OP,
 	PLANE_PROP_SRC_CONFIG,
-	PLANE_PROP_FB_TRANSLATION_MODE,
 
 	/* total # of properties */
 	PLANE_PROP_COUNT
@@ -146,7 +145,6 @@ enum msm_mdp_crtc_property {
 	CRTC_PROP_ROT_PREFILL_BW,
 	CRTC_PROP_ROT_CLK,
 	CRTC_PROP_ROI_V1,
-	CRTC_PROP_SECURITY_LEVEL,
 	CRTC_PROP_IDLE_TIMEOUT,
 	CRTC_PROP_DEST_SCALER,
 
@@ -179,7 +177,6 @@ enum msm_mdp_conn_property {
 	CONNECTOR_PROP_TOPOLOGY_CONTROL,
 	CONNECTOR_PROP_AUTOREFRESH,
 	CONNECTOR_PROP_LP,
-	CONNECTOR_PROP_FB_TRANSLATION_MODE,
 
 	/* total # of properties */
 	CONNECTOR_PROP_COUNT
diff --git a/include/uapi/drm/dpu_drm.h b/include/uapi/drm/dpu_drm.h
index 826bf7b54896..da73279a5086 100644
--- a/include/uapi/drm/dpu_drm.h
+++ b/include/uapi/drm/dpu_drm.h
@@ -66,48 +66,6 @@
 /* DRM bitmasks are restricted to 0..63 */
 #define DPU_DRM_BITMASK_COUNT       64
 
-/**
- * Framebuffer modes for "fb_translation_mode" PLANE and CONNECTOR property
- *
- * @DPU_DRM_FB_NON_SEC:          IOMMU configuration for this framebuffer mode
- *                               is non-secure domain and requires
- *                               both stage I and stage II translations when
- *                               this buffer is accessed by the display HW.
- *                               This is the default mode of all frambuffers.
- * @DPU_DRM_FB_SEC:              IOMMU configuration for this framebuffer mode
- *                               is secure domain and requires
- *                               both stage I and stage II translations when
- *                               this buffer is accessed by the display HW.
- * @DPU_DRM_FB_NON_SEC_DIR_TRANS: IOMMU configuration for this framebuffer mode
- *                               is non-secure domain and requires
- *                               only stage II translation when
- *                               this buffer is accessed by the display HW.
- * @DPU_DRM_FB_SEC_DIR_TRANS:    IOMMU configuration for this framebuffer mode
- *                               is secure domain and requires
- *                               only stage II translation when
- *                               this buffer is accessed by the display HW.
- */
-
-#define DPU_DRM_FB_NON_SEC              0
-#define DPU_DRM_FB_SEC                  1
-#define DPU_DRM_FB_NON_SEC_DIR_TRANS    2
-#define DPU_DRM_FB_SEC_DIR_TRANS        3
-
-/**
- * Secure levels for "security_level" CRTC property.
- *                        CRTC property which specifies what plane types
- *                        can be attached to this CRTC. Plane component
- *                        derives the plane type based on the FB_MODE.
- * @ DPU_DRM_SEC_NON_SEC: Both Secure and non-secure plane types can be
- *                        attached to this CRTC. This is the default state of
- *                        the CRTC.
- * @ DPU_DRM_SEC_ONLY:    Only secure planes can be added to this CRTC. If a
- *                        CRTC is instructed to be in this mode it follows the
- *                        platform dependent restrictions.
- */
-#define DPU_DRM_SEC_NON_SEC            0
-#define DPU_DRM_SEC_ONLY               1
-
 /**
  * struct dpu_drm_pix_ext_v1 - version 1 of pixel ext structure
  * @num_ext_pxls_lr: Number of total horizontal pixels
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index 8668925b5c25..eb7587a47cb6 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -443,7 +443,6 @@ struct drm_mode_fb_cmd {
 
 #define DRM_MODE_FB_INTERLACED	(1<<0) /* for interlaced framebuffers */
 #define DRM_MODE_FB_MODIFIERS	(1<<1) /* enables ->modifer[] */
-#define DRM_MODE_FB_SECURE	(1<<2) /* for secure framebuffers */
 
 struct drm_mode_fb_cmd2 {
 	__u32 fb_id;
-- 
2.16.1.291.g4437f3f132-goog

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

             reply	other threads:[~2018-02-21 21:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-21 21:42 Sean Paul [this message]
     [not found] ` <20180221214212.77387-1-seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2018-02-22 19:51   ` [DPU PATCH] drm/msm: Remove secure fb/plane support from dpu Rob Clark
2018-03-02 19:18   ` jsanka-sgV2jX0FEOL9JmXXK+q4OQ

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=20180221214212.77387-1-seanpaul@chromium.org \
    --to=seanpaul-f7+t8e8rja9g9huczpvpmw@public.gmane.org \
    --cc=freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
    --cc=jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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.