Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp2483645lqt; Mon, 22 Apr 2024 12:00:16 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCW/v7nQbEFy3SvfImwxdJmXbDjAaG9dxMFcZPeTP5LlzSCwSSyXExiLrchPNR9uUIRCItkTlG99Gi+t25ErFnZbZSAMc5bNBOqq8akp7Q== X-Google-Smtp-Source: AGHT+IHM0i0WOy+IK7n347TDFTIDiBAAs8yy+q9Um/gRLzao+h4+ddYzE3QV9MZHSnmukxU/Zy+q X-Received: by 2002:a05:6a20:3256:b0:1a7:84e8:8037 with SMTP id hm22-20020a056a20325600b001a784e88037mr10805555pzc.41.1713812415685; Mon, 22 Apr 2024 12:00:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713812415; cv=pass; d=google.com; s=arc-20160816; b=J7WLUcLa9cruPdmb56T/o+H/cyq5MShtKy+TahFa1OS8oPsdOiSG0S9tPBfy+eCj72 AGij+tavv//K2YUDpSJvWemde5ID1PsFN1ZZiZZC0cKjTQiom0TOfgZmJPoN6vOT92s3 Y7aZ0qEC0xTtifwd58bHmkWh35HYyhRDdDjsotkemT6NL52QzRmD6FSAJl76KAMuO2JY NAHnDS9cps11pN9CXeV7EteiE2C5yOegqLWFUC+cX/NYrsi+vpBhS3PiHVTpr13311dm wSOmCBdozjLdMDtl04++W5F1c4uUCgAl2P0VvmfC/8E91chkVkZ4bfMIUvlRXW2dSIxE qxRg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:dkim-signature:message-id; bh=XEt+IUNNZ0s58xLemUV9lCabZNCE/TtBPyT3EKRdZWM=; fh=Gth+Bex4PGJh08MgV6YpxIFb7kZRkTi/SRuv9MvQj9g=; b=XPM7ZCdFjnIRGAqWK0QfPnxdr12VRNCpsdVSk+Mf6Fby02/Jno/RWaZK65PT6OPRpa xRBorB/nBx1Sf+IDL5zRG5QyR2Pn0JGY6Xwrya6RWqHzfQRhmy3XP3qIK/BtYaLkwd7r +U+Lbr2ZLVRhTucQ+mBbqQ6NObeatesF9BUpQc8zmy2sHsH1+jQ4fPPj1/g6++Roznky anEN5ZoAJORkZHn+vY1EIOayR1rIMpIgZ89kf3EHmAKbXOphUi8wvRYP/3FqSZdD63/l 7/V6B3j07VjmgVw8PeXfVaHEVBFqiKwzxEwCvJPbctvunMzwpPo8XCjvT7FjgLzARlu5 d4iA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=PxXZV2b5; arc=pass (i=1 spf=pass spfdomain=linux.dev dkim=pass dkdomain=linux.dev dmarc=pass fromdomain=linux.dev); spf=pass (google.com: domain of linux-kernel+bounces-153874-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-153874-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id y37-20020a634b25000000b005e43cb39729si7965741pga.870.2024.04.22.12.00.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 12:00:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-153874-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=PxXZV2b5; arc=pass (i=1 spf=pass spfdomain=linux.dev dkim=pass dkdomain=linux.dev dmarc=pass fromdomain=linux.dev); spf=pass (google.com: domain of linux-kernel+bounces-153874-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-153874-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 0E70A2881F3 for ; Mon, 22 Apr 2024 18:51:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 56B321553BA; Mon, 22 Apr 2024 18:48:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="PxXZV2b5" Received: from out-173.mta0.migadu.com (out-173.mta0.migadu.com [91.218.175.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F6AF15539D for ; Mon, 22 Apr 2024 18:48:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713811698; cv=none; b=idgndGlxCUYL9aIYWqNVnCdolQUW+dxlMUOqu1wVKncAPEAB0Dp+/6xLEK/t+HNE4OY2ysWYCQEXwC92b94W5cZVhKXHbu+DlzxpSFeZ8gdlFVup6p4JUf5yYL8ozUU+7zWY6echQTudewhl8eZCSYAtN9Z4rVcTbdjcvaKdWmg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713811698; c=relaxed/simple; bh=ddXHa4rfbhfTPXo1QCqQLVUeH3qumUcibVvlFy1xjy0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=nr3g5PxSH/mHW8y1gLXD+SG/YhEvXdu3kHvqcuIhaqO5XoSuB8sxTAVWCgL4YbiC4Zng0CC5lVjnTg0fbFTP3qmXIuzaa+XZGXyfYSf+nhjXEtRKpgq8eWH18XUOXw2Ze5LSvcpTAMf+5ikzL73Jiq8fsCg+we87pi+wOoNeCEs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=PxXZV2b5; arc=none smtp.client-ip=91.218.175.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Message-ID: <4cfbbbd5-fd76-4426-a6be-ad6a82dae8bf@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1713811695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XEt+IUNNZ0s58xLemUV9lCabZNCE/TtBPyT3EKRdZWM=; b=PxXZV2b564EDYUZ1cMNfuPA3OWIDzAXHwpCVn9d5yL26gmg5e/sP0UhkD+uek5jr3Zs5u4 6xKjAZ8B9lK6jeZJ6Uz89ckvuGiQ+NYt0bpU8AiZGzU20cQ5D7SQ6xsJr5AtBludBQf8U9 +68nXwN+aEtknkmVAbIUP9zzmmEbyLM= Date: Mon, 22 Apr 2024 14:48:11 -0400 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Subject: Re: [PATCH v3 00/13] drm: zynqmp_dp: IRQ cleanups and debugfs support To: Laurent Pinchart , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , dri-devel@lists.freedesktop.org, Tomi Valkeinen Cc: David Airlie , Daniel Vetter , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Michal Simek References: <20240422184553.3573009-1-sean.anderson@linux.dev> Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Sean Anderson In-Reply-To: <20240422184553.3573009-1-sean.anderson@linux.dev> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT On 4/22/24 14:45, Sean Anderson wrote: > This series cleans up the zyqnmp_dp IRQ and locking situation. Once > that's done, it adds debugfs support. The intent is to enable compliance > testing or to help debug signal-integrity issues. > > Last time I discussed converting the HPD work(s) to a threaded IRQ. I > did not end up doing that for this series since the steps would be > > - Add locking > - Move link retraining to a work function > - Harden the IRQ > - Merge the works into a threaded IRQ (omitted) > > Which with the exception of the final step is the same as leaving those > works as-is. Conversion to a threaded IRQ can be done as a follow-up. > > Changes in v3: > - Store base pointers in zynqmp_disp directly > - Don't delay work > - Convert to a hard IRQ > - Use AUX IRQs instead of polling > - Take dp->lock in zynqmp_dp_hpd_work_func > > Changes in v2: > - Fix kerneldoc > - Rearrange zynqmp_dp for better padding > - Split off the HPD IRQ work into another commit > - Expand the commit message > - Document hpd_irq_work > - Document debugfs files > - Add ignore_aux_errors and ignore_hpd debugfs files to replace earlier > implicit functionality > - Attempt to fix unreproducable, spurious build warning > - Drop "Optionally ignore DPCD errors" in favor of a debugfs file > directly affecting zynqmp_dp_aux_transfer. > > Sean Anderson (13): > drm: xlnx: Store base pointers in zynqmp_disp directly > drm: xlnx: Fix kerneldoc > drm: zynqmp_dp: Downgrade log level for aux retries message > drm: zynqmp_dp: Adjust training values per-lane > drm: zynqmp_dp: Rearrange zynqmp_dp for better padding > drm: zynqmp_dp: Don't delay work > drm: zynqmp_dp: Add locking > drm: zynqmp_dp: Don't retrain the link in our IRQ > drm: zynqmp_dp: Convert to a hard IRQ > drm: zynqmp_dp: Use AUX IRQs instead of polling > drm: zynqmp_dp: Split off several helper functions > drm: zynqmp_dp: Take dp->lock in zynqmp_dp_hpd_work_func > drm: zynqmp_dp: Add debugfs interface for compliance testing > > Documentation/gpu/drivers.rst | 1 + > Documentation/gpu/zynqmp.rst | 149 +++++ > MAINTAINERS | 1 + > drivers/gpu/drm/xlnx/zynqmp_disp.c | 44 +- > drivers/gpu/drm/xlnx/zynqmp_dp.c | 909 +++++++++++++++++++++++++--- > drivers/gpu/drm/xlnx/zynqmp_dpsub.h | 1 + > drivers/gpu/drm/xlnx/zynqmp_kms.h | 4 +- > 7 files changed, 1000 insertions(+), 109 deletions(-) > create mode 100644 Documentation/gpu/zynqmp.rst > +CC Tomi, who I forgot to add initially...