linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lyude Paul <lyude@redhat.com>
To: dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, amd-gfx@lists.freedesktop.org
Cc: Daniel Vetter <daniel@ffwll.ch>, Dave Airlie <airlied@gmail.com>,
	Harry Wentland <harry.wentland@amd.com>,
	Jerry Zuo <Jerry.Zuo@amd.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	David Airlie <airlied@linux.ie>,
	linux-kernel@vger.kernel.org
Subject: [WIP PATCH 06/15] drm/i915: Keep malloc references to MST ports
Date: Thu, 13 Dec 2018 20:25:35 -0500	[thread overview]
Message-ID: <20181214012604.13746-7-lyude@redhat.com> (raw)
In-Reply-To: <20181214012604.13746-1-lyude@redhat.com>

So that the ports stay around until we've destroyed the connectors, in
order to ensure that we don't pass an invalid pointer to any MST helpers
once we introduce the new MST VCPI helpers.

Signed-off-by: Lyude Paul <lyude@redhat.com>
---
 drivers/gpu/drm/i915/intel_connector.c | 4 ++++
 drivers/gpu/drm/i915/intel_dp_mst.c    | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_connector.c b/drivers/gpu/drm/i915/intel_connector.c
index 18e370f607bc..37d2c644f4b8 100644
--- a/drivers/gpu/drm/i915/intel_connector.c
+++ b/drivers/gpu/drm/i915/intel_connector.c
@@ -95,6 +95,10 @@ void intel_connector_destroy(struct drm_connector *connector)
 	intel_panel_fini(&intel_connector->panel);
 
 	drm_connector_cleanup(connector);
+
+	if (intel_connector->port)
+		drm_dp_mst_put_port_malloc(intel_connector->port);
+
 	kfree(connector);
 }
 
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index f05427b74e34..4d6ced34d465 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -484,6 +484,8 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo
 	if (ret)
 		goto err;
 
+	drm_dp_mst_get_port_malloc(port);
+
 	return connector;
 
 err:
-- 
2.19.2


  parent reply	other threads:[~2018-12-14  1:27 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-14  1:25 [WIP PATCH 00/15] MST refcounting/atomic helpers cleanup Lyude Paul
2018-12-14  1:25 ` [WIP PATCH 01/15] drm/dp_mst: Remove bogus conditional in drm_dp_update_payload_part1() Lyude Paul
2018-12-14  8:42   ` Daniel Vetter
2018-12-17 20:09     ` Wentland, Harry
2018-12-14  1:25 ` [WIP PATCH 02/15] drm/dp_mst: Refactor drm_dp_update_payload_part1() Lyude Paul
2018-12-14  8:47   ` Daniel Vetter
2018-12-17 20:27     ` Wentland, Harry
2018-12-14  1:25 ` [WIP PATCH 03/15] drm/dp_mst: Introduce new refcounting scheme for mstbs and ports Lyude Paul
2018-12-14  9:29   ` Daniel Vetter
2018-12-18 21:27     ` Lyude Paul
2018-12-19 12:48       ` Daniel Vetter
2018-12-19 18:36         ` Lyude Paul
2018-12-14  1:25 ` [WIP PATCH 04/15] drm/dp_mst: Stop releasing VCPI when removing ports from topology Lyude Paul
2018-12-14  9:40   ` Daniel Vetter
2018-12-14  1:25 ` [WIP PATCH 05/15] drm/dp_mst: Fix payload deallocation on hotplugs using malloc refs Lyude Paul
2018-12-14  9:38   ` Daniel Vetter
2018-12-18 22:02     ` Lyude Paul
2018-12-14  1:25 ` Lyude Paul [this message]
2018-12-14  9:32   ` [WIP PATCH 06/15] drm/i915: Keep malloc references to MST ports Daniel Vetter
2018-12-18 21:52     ` Lyude Paul
2018-12-19 13:20       ` Daniel Vetter
2018-12-14  1:25 ` [WIP PATCH 07/15] drm/nouveau: Remove bogus cleanup in nv50_mstm_add_connector() Lyude Paul
2018-12-14  1:25 ` [WIP PATCH 08/15] drm/nouveau: Remove unnecessary VCPI checks in nv50_msto_cleanup() Lyude Paul
2018-12-14  1:25 ` [WIP PATCH 09/15] drm/nouveau: Fix potential use-after-frees for MSTCs Lyude Paul
2018-12-14  1:25 ` [WIP PATCH 10/15] drm/nouveau: Stop unsetting mstc->port, use malloc refs Lyude Paul
2018-12-14  1:25 ` [WIP PATCH 11/15] drm/nouveau: Grab payload lock in nv50_msto_payload() Lyude Paul
2018-12-14  1:25 ` [WIP PATCH 12/15] drm/dp_mst: Add some atomic state iterator macros Lyude Paul
2018-12-14  1:25 ` [WIP PATCH 13/15] drm/dp_mst: Start tracking per-port VCPI allocations Lyude Paul
2018-12-14 16:37   ` Daniel Vetter
2018-12-14  1:25 ` [WIP PATCH 14/15] drm/dp_mst: Check payload count in drm_dp_mst_atomic_check() Lyude Paul
2018-12-14  1:25 ` [WIP PATCH 15/15] drm/nouveau: Use atomic VCPI helpers for MST Lyude Paul

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=20181214012604.13746-7-lyude@redhat.com \
    --to=lyude@redhat.com \
    --cc=Jerry.Zuo@amd.com \
    --cc=airlied@gmail.com \
    --cc=airlied@linux.ie \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=harry.wentland@amd.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=rodrigo.vivi@intel.com \
    /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;
as well as URLs for NNTP newsgroup(s).