From: Sean Paul <seanpaul@chromium.org>
To: Jeykumar Sankaran <jsanka@codeaurora.org>
Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
hoegsberg@google.com, freedreno@lists.freedesktop.org
Subject: Re: [DPU PATCH v2 5/6] drm/msm: hook up DPU with upstream DSI
Date: Thu, 17 May 2018 17:01:45 -0400 [thread overview]
Message-ID: <20180517210145.GJ3373@art_vandelay> (raw)
In-Reply-To: <1524181924-9123-6-git-send-email-jsanka@codeaurora.org>
On Thu, Apr 19, 2018 at 04:52:03PM -0700, Jeykumar Sankaran wrote:
> Switch DPU from dsi-staging to upstream dsi driver. To make
> the switch atomic, this change includes:
> - remove dpu connector layers
> - clean up dpu connector dependencies in encoder/crtc
> - compile out writeback and display port drivers
> - compile out dsi-staging driver (separate patch submitted to
> remove the driver)
> - adapt upstream device hierarchy
>
> changes in v2:
> - remove files not applicable upstream (Sean Paul)
> - remove compiled out non-dsi display init (Sean Paul)
> - split unrelated changes into separate patch set (Sean Paul)
>
> Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
> ---
> drivers/gpu/drm/msm/Makefile | 1 -
> drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c | 1184 --------------------
> drivers/gpu/drm/msm/disp/dpu1/dpu_connector.h | 555 ---------
> drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 9 -
> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 179 +--
> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h | 10 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 8 +-
> .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 6 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 489 +-------
> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 6 -
> drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 54 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 11 +
> drivers/gpu/drm/msm/dpu_dbg.c | 3 -
> drivers/gpu/drm/msm/msm_drv.c | 47 +-
> drivers/gpu/drm/msm/msm_drv.h | 39 -
> 15 files changed, 158 insertions(+), 2443 deletions(-)
> delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c
> delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_connector.h
>
/snip
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
> index c8c12d3..af8205f 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
> @@ -23,7 +23,6 @@
> #include "dpu_hw_intf.h"
> #include "dpu_hw_wb.h"
> #include "dpu_encoder.h"
> -#include "dpu_connector.h"
>
> #define RESERVED_BY_OTHER(h, r) \
> ((h)->rsvp && ((h)->rsvp->enc_id != (r)->enc_id))
> @@ -158,6 +157,18 @@ struct dpu_hw_mdp *dpu_rm_get_mdp(struct dpu_rm *rm)
> return rm->hw_mdp;
> }
>
> +enum dpu_rm_topology_name
> +dpu_rm_get_topology_name(struct msm_display_topology topology)
> +{
> + int i;
> +
> + for (i = 0; i < DPU_RM_TOPOLOGY_MAX; i++)
> + if (RM_IS_TOPOLOGY_MATCH(g_top_table[i], topology))
> + return g_top_table[i].top_name;
> +
> + return DPU_RM_TOPOLOGY_NONE;
> +}
> +
> void dpu_rm_init_hw_iter(
> struct dpu_rm_hw_iter *iter,
> uint32_t enc_id,
> @@ -954,20 +965,19 @@ static int _dpu_rm_populate_requirements(
> struct drm_encoder *enc,
> struct drm_crtc_state *crtc_state,
> struct drm_connector_state *conn_state,
> - struct dpu_rm_requirements *reqs)
> + struct dpu_rm_requirements *reqs,
> + struct msm_display_topology req_topology)
> {
> const struct drm_display_mode *mode = &crtc_state->mode;
> int i;
>
> memset(reqs, 0, sizeof(*reqs));
>
> - reqs->top_ctrl = dpu_connector_get_property(conn_state,
> - CONNECTOR_PROP_TOPOLOGY_CONTROL);
> dpu_encoder_get_hw_resources(enc, &reqs->hw_res, conn_state);
>
> for (i = 0; i < DPU_RM_TOPOLOGY_MAX; i++) {
> if (RM_IS_TOPOLOGY_MATCH(g_top_table[i],
> - reqs->hw_res.topology)) {
> + req_topology)) {
> reqs->topology = &g_top_table[i];
> break;
> }
> @@ -978,10 +988,6 @@ static int _dpu_rm_populate_requirements(
> return -EINVAL;
> }
>
> - /* DSC blocks are hardwired for control path 0 and 1 */
> - if (reqs->topology->num_comp_enc)
> - reqs->top_ctrl |= BIT(DPU_RM_TOPCTL_DSPP);
> -
> /**
> * Set the requirement based on caps if not set from user space
> * This will ensure to select LM tied with DS blocks
> @@ -1110,9 +1116,6 @@ void dpu_rm_release(struct dpu_rm *rm, struct drm_encoder *enc)
> goto end;
> }
>
> - top_ctrl = dpu_connector_get_property(conn->state,
> - CONNECTOR_PROP_TOPOLOGY_CONTROL);
> -
> if (top_ctrl & BIT(DPU_RM_TOPCTL_RESERVE_LOCK)) {
../drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c: In function ‘dpu_rm_release’:
../drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c:1119:15: warning: ‘top_ctrl’ may be used uninitialized in this function [-Wmaybe-uninitialized]
> DPU_DEBUG("rsvp[s%de%d] not releasing locked resources\n",
> rsvp->seq, rsvp->enc_id);
> @@ -1120,12 +1123,6 @@ void dpu_rm_release(struct dpu_rm *rm, struct drm_encoder *enc)
> DPU_DEBUG("release rsvp[s%de%d]\n", rsvp->seq,
> rsvp->enc_id);
> _dpu_rm_release_rsvp(rm, rsvp, conn);
> -
> - (void) msm_property_set_property(
> - dpu_connector_get_propinfo(conn),
> - dpu_connector_get_property_state(conn->state),
> - CONNECTOR_PROP_TOPOLOGY_NAME,
> - DPU_RM_TOPOLOGY_NONE);
> }
>
> end:
> @@ -1141,18 +1138,6 @@ static int _dpu_rm_commit_rsvp(
> enum dpu_hw_blk_type type;
> int ret = 0;
>
> - ret = msm_property_set_property(
> - dpu_connector_get_propinfo(conn_state->connector),
> - dpu_connector_get_property_state(conn_state),
> - CONNECTOR_PROP_TOPOLOGY_NAME,
> - rsvp->topology);
> - if (ret) {
> - DPU_ERROR("failed to set topology name property, ret %d\n",
> - ret);
> - _dpu_rm_release_rsvp(rm, rsvp, conn_state->connector);
> - return ret;
> - }
> -
> /* Swap next rsvp to be the active */
> for (type = 0; type < DPU_HW_BLK_MAX; type++) {
> list_for_each_entry(blk, &rm->hw_blks[type], list) {
> @@ -1177,6 +1162,7 @@ int dpu_rm_reserve(
> struct drm_encoder *enc,
> struct drm_crtc_state *crtc_state,
> struct drm_connector_state *conn_state,
> + struct msm_display_topology topology,
> bool test_only)
> {
> struct dpu_rm_rsvp *rsvp_cur, *rsvp_nxt;
> @@ -1202,7 +1188,7 @@ int dpu_rm_reserve(
> _dpu_rm_print_rsvps(rm, DPU_RM_STAGE_BEGIN);
>
> ret = _dpu_rm_populate_requirements(rm, enc, crtc_state,
> - conn_state, &reqs);
> + conn_state, &reqs, topology);
> if (ret) {
> DPU_ERROR("failed to populate hw requirements\n");
> goto end;
> @@ -1237,12 +1223,6 @@ int dpu_rm_reserve(
> _dpu_rm_release_rsvp(rm, rsvp_cur, conn_state->connector);
> rsvp_cur = NULL;
> _dpu_rm_print_rsvps(rm, DPU_RM_STAGE_AFTER_CLEAR);
> - (void) msm_property_set_property(
> - dpu_connector_get_propinfo(
> - conn_state->connector),
> - dpu_connector_get_property_state(conn_state),
> - CONNECTOR_PROP_TOPOLOGY_NAME,
> - DPU_RM_TOPOLOGY_NONE);
> }
>
> /* Check the proposed reservation, store it in hw's "next" field */
/snip
--
Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2018-05-17 21:01 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-19 23:51 [DPU PATCH v2 0/6] Switch DPU to use upstream DSI driver for SDM845 Jeykumar Sankaran
[not found] ` <1524181924-9123-1-git-send-email-jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-04-19 23:51 ` [DPU PATCH v2 1/6] drm/msm: remove display stream compression(DSC) support for SM845 Jeykumar Sankaran
2018-04-19 23:52 ` [DPU PATCH v2 2/6] drm/msm: remove support for ping pong split topology Jeykumar Sankaran
2018-04-19 23:52 ` [DPU PATCH v2 3/6] drm/msm: remove panel autorefresh support for SDM845 Jeykumar Sankaran
2018-04-19 23:52 ` [DPU PATCH v2 4/6] drm/msm: strip down custom event ioctl's Jeykumar Sankaran
2018-04-19 23:52 ` [DPU PATCH v2 5/6] drm/msm: hook up DPU with upstream DSI Jeykumar Sankaran
2018-05-17 21:01 ` Sean Paul [this message]
2018-04-19 23:52 ` [DPU PATCH v2 6/6] drm/msm: remove dsi-staging driver Jeykumar Sankaran
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=20180517210145.GJ3373@art_vandelay \
--to=seanpaul@chromium.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=hoegsberg@google.com \
--cc=jsanka@codeaurora.org \
--cc=linux-arm-msm@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox