diff options
Diffstat (limited to 'drivers/gpu/drm/drm_dp_mst_topology.c')
-rw-r--r-- | drivers/gpu/drm/drm_dp_mst_topology.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index b1c63e9cdf8a..6d0d8e01f16e 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c | |||
@@ -941,7 +941,7 @@ static void drm_dp_free_mst_branch_device(struct kref *kref) | |||
941 | * in-memory topology state from being changed in the middle of critical | 941 | * in-memory topology state from being changed in the middle of critical |
942 | * operations like changing the internal state of payload allocations. This | 942 | * operations like changing the internal state of payload allocations. This |
943 | * means each branch and port will be considered to be connected to the rest | 943 | * means each branch and port will be considered to be connected to the rest |
944 | * of the topology until it's topology refcount reaches zero. Additionally, | 944 | * of the topology until its topology refcount reaches zero. Additionally, |
945 | * for ports this means that their associated &struct drm_connector will stay | 945 | * for ports this means that their associated &struct drm_connector will stay |
946 | * registered with userspace until the port's refcount reaches 0. | 946 | * registered with userspace until the port's refcount reaches 0. |
947 | * | 947 | * |
@@ -979,8 +979,8 @@ static void drm_dp_free_mst_branch_device(struct kref *kref) | |||
979 | * same way as the C pointers used to reference a structure. | 979 | * same way as the C pointers used to reference a structure. |
980 | * | 980 | * |
981 | * As you can see in the above figure, every branch increments the topology | 981 | * As you can see in the above figure, every branch increments the topology |
982 | * refcount of it's children, and increments the malloc refcount of it's | 982 | * refcount of its children, and increments the malloc refcount of its |
983 | * parent. Additionally, every payload increments the malloc refcount of it's | 983 | * parent. Additionally, every payload increments the malloc refcount of its |
984 | * assigned port by 1. | 984 | * assigned port by 1. |
985 | * | 985 | * |
986 | * So, what would happen if MSTB #3 from the above figure was unplugged from | 986 | * So, what would happen if MSTB #3 from the above figure was unplugged from |
@@ -997,9 +997,9 @@ static void drm_dp_free_mst_branch_device(struct kref *kref) | |||
997 | * of its parent, and finally its own malloc refcount. For MSTB #4 and port | 997 | * of its parent, and finally its own malloc refcount. For MSTB #4 and port |
998 | * #4, this means they both have been disconnected from the topology and freed | 998 | * #4, this means they both have been disconnected from the topology and freed |
999 | * from memory. But, because payload #2 is still holding a reference to port | 999 | * from memory. But, because payload #2 is still holding a reference to port |
1000 | * #3, port #3 is removed from the topology but it's &struct drm_dp_mst_port | 1000 | * #3, port #3 is removed from the topology but its &struct drm_dp_mst_port |
1001 | * is still accessible from memory. This also means port #3 has not yet | 1001 | * is still accessible from memory. This also means port #3 has not yet |
1002 | * decremented the malloc refcount of MSTB #3, so it's &struct | 1002 | * decremented the malloc refcount of MSTB #3, so its &struct |
1003 | * drm_dp_mst_branch will also stay allocated in memory until port #3's | 1003 | * drm_dp_mst_branch will also stay allocated in memory until port #3's |
1004 | * malloc refcount reaches 0. | 1004 | * malloc refcount reaches 0. |
1005 | * | 1005 | * |
@@ -1139,7 +1139,7 @@ static void drm_dp_destroy_mst_branch_device(struct kref *kref) | |||
1139 | 1139 | ||
1140 | /** | 1140 | /** |
1141 | * drm_dp_mst_topology_try_get_mstb() - Increment the topology refcount of a | 1141 | * drm_dp_mst_topology_try_get_mstb() - Increment the topology refcount of a |
1142 | * branch device unless its zero | 1142 | * branch device unless it's zero |
1143 | * @mstb: &struct drm_dp_mst_branch to increment the topology refcount of | 1143 | * @mstb: &struct drm_dp_mst_branch to increment the topology refcount of |
1144 | * | 1144 | * |
1145 | * Attempts to grab a topology reference to @mstb, if it hasn't yet been | 1145 | * Attempts to grab a topology reference to @mstb, if it hasn't yet been |
@@ -1265,7 +1265,7 @@ static void drm_dp_destroy_port(struct kref *kref) | |||
1265 | 1265 | ||
1266 | /** | 1266 | /** |
1267 | * drm_dp_mst_topology_try_get_port() - Increment the topology refcount of a | 1267 | * drm_dp_mst_topology_try_get_port() - Increment the topology refcount of a |
1268 | * port unless its zero | 1268 | * port unless it's zero |
1269 | * @port: &struct drm_dp_mst_port to increment the topology refcount of | 1269 | * @port: &struct drm_dp_mst_port to increment the topology refcount of |
1270 | * | 1270 | * |
1271 | * Attempts to grab a topology reference to @port, if it hasn't yet been | 1271 | * Attempts to grab a topology reference to @port, if it hasn't yet been |
@@ -1471,7 +1471,7 @@ static bool drm_dp_port_setup_pdt(struct drm_dp_mst_port *port) | |||
1471 | port->mstb->port_parent = port; | 1471 | port->mstb->port_parent = port; |
1472 | /* | 1472 | /* |
1473 | * Make sure this port's memory allocation stays | 1473 | * Make sure this port's memory allocation stays |
1474 | * around until it's child MSTB releases it | 1474 | * around until its child MSTB releases it |
1475 | */ | 1475 | */ |
1476 | drm_dp_mst_get_port_malloc(port); | 1476 | drm_dp_mst_get_port_malloc(port); |
1477 | 1477 | ||
@@ -2271,7 +2271,7 @@ static int drm_dp_destroy_payload_step1(struct drm_dp_mst_topology_mgr *mgr, | |||
2271 | struct drm_dp_payload *payload) | 2271 | struct drm_dp_payload *payload) |
2272 | { | 2272 | { |
2273 | DRM_DEBUG_KMS("\n"); | 2273 | DRM_DEBUG_KMS("\n"); |
2274 | /* its okay for these to fail */ | 2274 | /* it's okay for these to fail */ |
2275 | if (port) { | 2275 | if (port) { |
2276 | drm_dp_payload_send_msg(mgr, port, id, 0); | 2276 | drm_dp_payload_send_msg(mgr, port, id, 0); |
2277 | } | 2277 | } |
@@ -2947,7 +2947,7 @@ enum drm_connector_status drm_dp_mst_detect_port(struct drm_connector *connector | |||
2947 | { | 2947 | { |
2948 | enum drm_connector_status status = connector_status_disconnected; | 2948 | enum drm_connector_status status = connector_status_disconnected; |
2949 | 2949 | ||
2950 | /* we need to search for the port in the mgr in case its gone */ | 2950 | /* we need to search for the port in the mgr in case it's gone */ |
2951 | port = drm_dp_mst_topology_get_port_validated(mgr, port); | 2951 | port = drm_dp_mst_topology_get_port_validated(mgr, port); |
2952 | if (!port) | 2952 | if (!port) |
2953 | return connector_status_disconnected; | 2953 | return connector_status_disconnected; |
@@ -3013,7 +3013,7 @@ struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_ | |||
3013 | { | 3013 | { |
3014 | struct edid *edid = NULL; | 3014 | struct edid *edid = NULL; |
3015 | 3015 | ||
3016 | /* we need to search for the port in the mgr in case its gone */ | 3016 | /* we need to search for the port in the mgr in case it's gone */ |
3017 | port = drm_dp_mst_topology_get_port_validated(mgr, port); | 3017 | port = drm_dp_mst_topology_get_port_validated(mgr, port); |
3018 | if (!port) | 3018 | if (!port) |
3019 | return NULL; | 3019 | return NULL; |
@@ -3180,7 +3180,7 @@ EXPORT_SYMBOL(drm_dp_atomic_find_vcpi_slots); | |||
3180 | * Releases any VCPI slots that have been allocated to a port in the atomic | 3180 | * Releases any VCPI slots that have been allocated to a port in the atomic |
3181 | * state. Any atomic drivers which support MST must call this function in | 3181 | * state. Any atomic drivers which support MST must call this function in |
3182 | * their &drm_connector_helper_funcs.atomic_check() callback when the | 3182 | * their &drm_connector_helper_funcs.atomic_check() callback when the |
3183 | * connector will no longer have VCPI allocated (e.g. because it's CRTC was | 3183 | * connector will no longer have VCPI allocated (e.g. because its CRTC was |
3184 | * removed) when it had VCPI allocated in the previous atomic state. | 3184 | * removed) when it had VCPI allocated in the previous atomic state. |
3185 | * | 3185 | * |
3186 | * It is OK to call this even if @port has been removed from the system. | 3186 | * It is OK to call this even if @port has been removed from the system. |
@@ -3268,7 +3268,7 @@ bool drm_dp_mst_allocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, | |||
3268 | DRM_DEBUG_KMS("initing vcpi for pbn=%d slots=%d\n", | 3268 | DRM_DEBUG_KMS("initing vcpi for pbn=%d slots=%d\n", |
3269 | pbn, port->vcpi.num_slots); | 3269 | pbn, port->vcpi.num_slots); |
3270 | 3270 | ||
3271 | /* Keep port allocated until it's payload has been removed */ | 3271 | /* Keep port allocated until its payload has been removed */ |
3272 | drm_dp_mst_get_port_malloc(port); | 3272 | drm_dp_mst_get_port_malloc(port); |
3273 | drm_dp_mst_topology_put_port(port); | 3273 | drm_dp_mst_topology_put_port(port); |
3274 | return true; | 3274 | return true; |
@@ -3300,7 +3300,7 @@ EXPORT_SYMBOL(drm_dp_mst_get_vcpi_slots); | |||
3300 | void drm_dp_mst_reset_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port) | 3300 | void drm_dp_mst_reset_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port) |
3301 | { | 3301 | { |
3302 | /* | 3302 | /* |
3303 | * A port with VCPI will remain allocated until it's VCPI is | 3303 | * A port with VCPI will remain allocated until its VCPI is |
3304 | * released, no verified ref needed | 3304 | * released, no verified ref needed |
3305 | */ | 3305 | */ |
3306 | 3306 | ||
@@ -3317,7 +3317,7 @@ void drm_dp_mst_deallocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, | |||
3317 | struct drm_dp_mst_port *port) | 3317 | struct drm_dp_mst_port *port) |
3318 | { | 3318 | { |
3319 | /* | 3319 | /* |
3320 | * A port with VCPI will remain allocated until it's VCPI is | 3320 | * A port with VCPI will remain allocated until its VCPI is |
3321 | * released, no verified ref needed | 3321 | * released, no verified ref needed |
3322 | */ | 3322 | */ |
3323 | 3323 | ||