Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp1137498ybl; Tue, 13 Aug 2019 07:58:38 -0700 (PDT) X-Google-Smtp-Source: APXvYqyrwbHyPG0TB4eent1Rzq0Ashvnz0Iv0n0+vJDadoZ3xRj9rBtdlAjJfoD83zk0i+p4QUzN X-Received: by 2002:a17:902:bb8d:: with SMTP id m13mr5920498pls.307.1565708318476; Tue, 13 Aug 2019 07:58:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565708318; cv=none; d=google.com; s=arc-20160816; b=eynM+vBaZGxclNnmaidNhz+VTZ9X3j4fPNpqnysSdi6uqm/hllkvw++lfYf9wIMmWf NYXfDsIpYupN7q3i3F4AUN6IXFNC4k1y14efVJgyFRLSjFOAXmdcMYUtR3Ej30TyZerg nidmLeKP/4P74oHqR7e8pJMktsjUdC8t+G/FcsXtmuNtFtqtS9aCroVJ64mFZLlN1GSJ 4Ba6Kj7b0Yw3Z9Nuyzq8LNIzzP7c4m2wdDLADl50luYjWcj0OjghQGVnp9cA88JftQYQ arilDKN1ZmTUC/UlYJ+HOmQ5WitTz8IdzuvCVZ8tm9TsMsgkvc0a8yYZTFhEiJZi0axR RqbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:mail-followup-to:message-id:subject:cc:to:from:date :dkim-signature; bh=6wLnnK/l8H+MAZNrHDyoquiU2XSQhj8zFU+j5+WzSvQ=; b=VVLGd2cRTwNWRGSS7SGPNG29+o2EXapHFz66IW1dezaMW4JbysjfkuT6S/q1iIQNpi ozdIw/leSCN9fOQkwkA1+YljlOoOWUickMq++7ymgkLG/HVa1y80wxlMoKPwPPQ7DjK5 BbqsXup9Lwft3ifFjInlq3wVzEWJ33chKM0Y5WP1/r+qCtJCtYdI8Lga44CZ2WARNizY OOw/VDwsbv9qJotv2qAjkF7JsNP6a1MZT8tire5yC9Iyl7mAaTLurvDKeyHbm5JMZU6p gQzrFmu7f7wicMTAk+M8hId9iXP51lA95yn4ywZA2UU1BTask9mz2OJOF7iTyeY1okP1 Tyrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@ffwll.ch header.s=google header.b=L08sAdPz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m22si64906486pgh.190.2019.08.13.07.58.22; Tue, 13 Aug 2019 07:58:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@ffwll.ch header.s=google header.b=L08sAdPz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729710AbfHMO40 (ORCPT + 99 others); Tue, 13 Aug 2019 10:56:26 -0400 Received: from mail-ed1-f65.google.com ([209.85.208.65]:38966 "EHLO mail-ed1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729539AbfHMO40 (ORCPT ); Tue, 13 Aug 2019 10:56:26 -0400 Received: by mail-ed1-f65.google.com with SMTP id e16so13932574edv.6 for ; Tue, 13 Aug 2019 07:56:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=6wLnnK/l8H+MAZNrHDyoquiU2XSQhj8zFU+j5+WzSvQ=; b=L08sAdPzzFznlmk4G+Dh6cPYVhdA6h8RbEyUzysstNPVcKewLg+5JHxR1bvJEsfcid /Y8yrFbCBWBtGwRP1FJwpb5zJMD6AuOTIYuierBhQu+v+uVNesLNJySsrKZOXyT/+HdE UVVFLKm3a8SO7flfnP/D50I+i0mLLOxRwD468= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=6wLnnK/l8H+MAZNrHDyoquiU2XSQhj8zFU+j5+WzSvQ=; b=cyYTFPmVmVt+xb5Xk1vMRZYMr0YZjfjoOaBqZmCpWoMON5ZBHNLNdYWHAJyxObEYwu 95vqFzERxWYq3YRecdqaXzTaCaMa7CPK0phvuAZToLOdC+5UQjTexsev3YV0xCySrM17 O5khMFQwoxqrXz9UycW3aBrTTt0RilppghX/8/7NL3Msa5gwjhjbrCJFYHWKCQp3Y9tH lQjfXr9cFp6C2PHZHGyaAEYK6hrgbzV4gpwOqbTcngxohP/sBqMVyMxLJMKYw6HDS3FX toG4p1AogB+RXuWWpNmubonn814UgPrL3LWO6CVyjtYQFIBsi4hl6aTTqEo+abA1cczl DxQw== X-Gm-Message-State: APjAAAXmT/eqjuA+cEVeCmmQlJMXXBtgK0EgfAnlhYTECVtcPOC+TVPn RMsWMCCHM/YCZrouwCEXrUHvtA== X-Received: by 2002:a17:906:2551:: with SMTP id j17mr11334783ejb.36.1565708183663; Tue, 13 Aug 2019 07:56:23 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:569e:0:3106:d637:d723:e855]) by smtp.gmail.com with ESMTPSA id d20sm1567405ejb.75.2019.08.13.07.56.22 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 13 Aug 2019 07:56:22 -0700 (PDT) Date: Tue, 13 Aug 2019 16:56:20 +0200 From: Daniel Vetter To: Lyude Paul Cc: dri-devel@lists.freedesktop.org, Juston Li , Imre Deak , Ville =?iso-8859-1?Q?Syrj=E4l=E4?= , Harry Wentland , Maarten Lankhorst , Maxime Ripard , Sean Paul , David Airlie , Daniel Vetter , linux-kernel@vger.kernel.org Subject: Re: [PATCH 09/26] drm/dp_mst: Remove huge conditional in drm_dp_mst_handle_up_req() Message-ID: <20190813145620.GY7444@phenom.ffwll.local> Mail-Followup-To: Lyude Paul , dri-devel@lists.freedesktop.org, Juston Li , Imre Deak , Ville =?iso-8859-1?Q?Syrj=E4l=E4?= , Harry Wentland , Maarten Lankhorst , Maxime Ripard , Sean Paul , David Airlie , linux-kernel@vger.kernel.org References: <20190718014329.8107-1-lyude@redhat.com> <20190718014329.8107-10-lyude@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20190718014329.8107-10-lyude@redhat.com> X-Operating-System: Linux phenom 4.19.0-5-amd64 User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 17, 2019 at 09:42:32PM -0400, Lyude Paul wrote: > Which reduces indentation and makes this function more legible. Indeed, nice one. Reviewed-by: Daniel Vetter > > Cc: Juston Li > Cc: Imre Deak > Cc: Ville Syrj?l? > Cc: Harry Wentland > Signed-off-by: Lyude Paul > --- > drivers/gpu/drm/drm_dp_mst_topology.c | 90 +++++++++++++-------------- > 1 file changed, 45 insertions(+), 45 deletions(-) > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c > index 57c9c605ee17..b867a2e8f779 100644 > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > @@ -3126,7 +3126,9 @@ static int drm_dp_mst_handle_down_rep(struct drm_dp_mst_topology_mgr *mgr) > > static int drm_dp_mst_handle_up_req(struct drm_dp_mst_topology_mgr *mgr) > { > - int ret = 0; > + struct drm_dp_sideband_msg_req_body msg; > + struct drm_dp_mst_branch *mstb = NULL; > + bool seqno; > > if (!drm_dp_get_one_sb_msg(mgr, true)) { > memset(&mgr->up_req_recv, 0, > @@ -3134,62 +3136,60 @@ static int drm_dp_mst_handle_up_req(struct drm_dp_mst_topology_mgr *mgr) > return 0; > } > > - if (mgr->up_req_recv.have_eomt) { > - struct drm_dp_sideband_msg_req_body msg; > - struct drm_dp_mst_branch *mstb = NULL; > - bool seqno; > - > - if (!mgr->up_req_recv.initial_hdr.broadcast) { > - mstb = drm_dp_get_mst_branch_device(mgr, > - mgr->up_req_recv.initial_hdr.lct, > - mgr->up_req_recv.initial_hdr.rad); > - if (!mstb) { > - DRM_DEBUG_KMS("Got MST reply from unknown device %d\n", mgr->up_req_recv.initial_hdr.lct); > - memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); > - return 0; > - } > - } > + if (!mgr->up_req_recv.have_eomt) > + return 0; > > - seqno = mgr->up_req_recv.initial_hdr.seqno; > - drm_dp_sideband_parse_req(&mgr->up_req_recv, &msg); > + if (!mgr->up_req_recv.initial_hdr.broadcast) { > + mstb = drm_dp_get_mst_branch_device(mgr, > + mgr->up_req_recv.initial_hdr.lct, > + mgr->up_req_recv.initial_hdr.rad); > + if (!mstb) { > + DRM_DEBUG_KMS("Got MST reply from unknown device %d\n", mgr->up_req_recv.initial_hdr.lct); > + memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); > + return 0; > + } > + } > > - if (msg.req_type == DP_CONNECTION_STATUS_NOTIFY) { > - drm_dp_send_up_ack_reply(mgr, mgr->mst_primary, msg.req_type, seqno, false); > + seqno = mgr->up_req_recv.initial_hdr.seqno; > + drm_dp_sideband_parse_req(&mgr->up_req_recv, &msg); > > - if (!mstb) > - mstb = drm_dp_get_mst_branch_device_by_guid(mgr, msg.u.conn_stat.guid); > + if (msg.req_type == DP_CONNECTION_STATUS_NOTIFY) { > + drm_dp_send_up_ack_reply(mgr, mgr->mst_primary, msg.req_type, seqno, false); > > - if (!mstb) { > - DRM_DEBUG_KMS("Got MST reply from unknown device %d\n", mgr->up_req_recv.initial_hdr.lct); > - memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); > - return 0; > - } > + if (!mstb) > + mstb = drm_dp_get_mst_branch_device_by_guid(mgr, msg.u.conn_stat.guid); > > - drm_dp_update_port(mstb, &msg.u.conn_stat); > + if (!mstb) { > + DRM_DEBUG_KMS("Got MST reply from unknown device %d\n", mgr->up_req_recv.initial_hdr.lct); > + memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); > + return 0; > + } > > - DRM_DEBUG_KMS("Got CSN: pn: %d ldps:%d ddps: %d mcs: %d ip: %d pdt: %d\n", msg.u.conn_stat.port_number, msg.u.conn_stat.legacy_device_plug_status, msg.u.conn_stat.displayport_device_plug_status, msg.u.conn_stat.message_capability_status, msg.u.conn_stat.input_port, msg.u.conn_stat.peer_device_type); > - drm_kms_helper_hotplug_event(mgr->dev); > + drm_dp_update_port(mstb, &msg.u.conn_stat); > > - } else if (msg.req_type == DP_RESOURCE_STATUS_NOTIFY) { > - drm_dp_send_up_ack_reply(mgr, mgr->mst_primary, msg.req_type, seqno, false); > - if (!mstb) > - mstb = drm_dp_get_mst_branch_device_by_guid(mgr, msg.u.resource_stat.guid); > + DRM_DEBUG_KMS("Got CSN: pn: %d ldps:%d ddps: %d mcs: %d ip: %d pdt: %d\n", msg.u.conn_stat.port_number, msg.u.conn_stat.legacy_device_plug_status, msg.u.conn_stat.displayport_device_plug_status, msg.u.conn_stat.message_capability_status, msg.u.conn_stat.input_port, msg.u.conn_stat.peer_device_type); > + drm_kms_helper_hotplug_event(mgr->dev); > > - if (!mstb) { > - DRM_DEBUG_KMS("Got MST reply from unknown device %d\n", mgr->up_req_recv.initial_hdr.lct); > - memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); > - return 0; > - } > + } else if (msg.req_type == DP_RESOURCE_STATUS_NOTIFY) { > + drm_dp_send_up_ack_reply(mgr, mgr->mst_primary, msg.req_type, seqno, false); > + if (!mstb) > + mstb = drm_dp_get_mst_branch_device_by_guid(mgr, msg.u.resource_stat.guid); > > - DRM_DEBUG_KMS("Got RSN: pn: %d avail_pbn %d\n", msg.u.resource_stat.port_number, msg.u.resource_stat.available_pbn); > + if (!mstb) { > + DRM_DEBUG_KMS("Got MST reply from unknown device %d\n", mgr->up_req_recv.initial_hdr.lct); > + memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); > + return 0; > } > > - if (mstb) > - drm_dp_mst_topology_put_mstb(mstb); > - > - memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); > + DRM_DEBUG_KMS("Got RSN: pn: %d avail_pbn %d\n", msg.u.resource_stat.port_number, msg.u.resource_stat.available_pbn); > } > - return ret; > + > + if (mstb) > + drm_dp_mst_topology_put_mstb(mstb); > + > + memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); > + > + return 0; > } > > /** > -- > 2.21.0 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch