From patchwork Tue Aug 8 22:34:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 132970 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2456144vqr; Tue, 8 Aug 2023 16:30:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFetDiquA1IS5ALLAd43eKqnkpH6PPsx7fFq6xfp8gHteFF1IllzrxOuye0oqhrP9YGEUPR X-Received: by 2002:a17:906:1d0:b0:99b:64d0:f6c8 with SMTP id 16-20020a17090601d000b0099b64d0f6c8mr878009ejj.50.1691537419773; Tue, 08 Aug 2023 16:30:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691537419; cv=none; d=google.com; s=arc-20160816; b=KbCLj1uzVhD/GfuvIIi2xTZre6CxVxPQagHS/dLmvV2MCulKr7FUJIZUuptImuP8rE oooPUJv6ruz0cUoesGrFQexiifOBor9BfwQZQJqHvIOuow59wIoHSjh8xxdW20cID5Ah CvjoZ3Om+m4F6DBbQzde6dP1i4EQV+yIpWG45zhpq/ralFhlIGwHIrJU49rnM4v4tEA4 4k57UKkc/FA1ZZ9OS+rlFpCaiUjJJS67vbjRZ7kxo5q0KPUVhY1fByoKQo24ovLSjyw+ XYKBd8ohbTR9qD2aFO/oxCEAdlnjEil+ltNxCJhp/KGYpyabj+LHZkHzImXt+hPc8xAE q/Wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=kMZFiXLbvuUKqAxgf3kGEHVuig7HKmYmUGlXimZwqh0=; fh=qsseV3tytAHM2HZZxVXgyuVrZmCUssrmDLdACHe2FM8=; b=hmHq0IOPSGjiz2tC8SGbO32AaJVTUyJwTLhNsqCNOCuz9ejKFB0x/XrgujeZtOk31P Xn932QzMo2Jr9KwwPo0486EWU99XdZRreE5BRiRUnuTCqOW8dYAtqDsBNb9y13e4Z2Sj 4JQI39MqIATlLQCXsdgAhElOfXn077LCdEKGAjpzFsk81CrZCyTaEmIzitwhmd6Pmn4x EOerp/M4xPHQRo9IKqihB1Xv3plDXXNmjU96AfkKWlSEoaqSZ0iirr5KSoTCJs1+P5mA igVputFXcYyhsoJcWg6/8Di2uC04QoZqn2cByf8eRdsLr3MI3EXJP+HmRwZ2/CaMnU+T JTeA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=gYYYZz7s; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ox3-20020a170907100300b0099ca94b4d01si6497228ejb.705.2023.08.08.16.29.55; Tue, 08 Aug 2023 16:30:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=gYYYZz7s; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230379AbjHHWeb (ORCPT + 99 others); Tue, 8 Aug 2023 18:34:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50352 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230230AbjHHWe3 (ORCPT ); Tue, 8 Aug 2023 18:34:29 -0400 Received: from out-85.mta1.migadu.com (out-85.mta1.migadu.com [IPv6:2001:41d0:203:375::55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AFF92FD for ; Tue, 8 Aug 2023 15:34:28 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1691534065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kMZFiXLbvuUKqAxgf3kGEHVuig7HKmYmUGlXimZwqh0=; b=gYYYZz7sgbjkXiOvct7Hq2K9qMFVYi6dEUWlDONqX31wbF397lhaoHM3Gu25Ys7eZvako7 sYZPMfyIWVfvIbJjpAJLLiU9lLXTr2G54lAaEnB4MeUCQBwZcDHl5k+G/QwNGqjjikkze3 sR6CG5IdMwL+A7es2aH1iHntSoZprGQ= From: Sui Jingfeng To: Bjorn Helgaas Cc: Dave Airlie , Daniel Vetter , linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng , Andi Shyti Subject: [PATCH v2 01/11] PCI/VGA: Use unsigned type for the io_state variable Date: Wed, 9 Aug 2023 06:34:02 +0800 Message-Id: <20230808223412.1743176-2-sui.jingfeng@linux.dev> In-Reply-To: <20230808223412.1743176-1-sui.jingfeng@linux.dev> References: <20230808223412.1743176-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773705541202869459 X-GMAIL-MSGID: 1773705541202869459 From: Sui Jingfeng The io_state variable in the vga_arb_write() function is declared with unsigned int type, while the vga_str_to_iostate() function takes 'int *' type. To keep them consistent, this patch replaceis the third argument of vga_str_to_iostate() function with 'unsigned int *' type. Reviewed-by: Andi Shyti Signed-off-by: Sui Jingfeng Reviewed-by: Ilpo Järvinen --- drivers/pci/vgaarb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c index 5a696078b382..c1bc6c983932 100644 --- a/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c @@ -77,7 +77,7 @@ static const char *vga_iostate_to_str(unsigned int iostate) return "none"; } -static int vga_str_to_iostate(char *buf, int str_size, int *io_state) +static int vga_str_to_iostate(char *buf, int str_size, unsigned int *io_state) { /* we could in theory hand out locks on IO and mem * separately to userspace but it can cause deadlocks */ From patchwork Tue Aug 8 22:34:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 132958 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2450439vqr; Tue, 8 Aug 2023 16:15:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGLA/dmgDaXKAOEC9BHMHS9ktQffKAXYZmtxJwm9/gn9N3v/obtx0NgqvjniWSqqahbKi8F X-Received: by 2002:a05:6808:20f:b0:3a4:f7b:4490 with SMTP id l15-20020a056808020f00b003a40f7b4490mr1157284oie.57.1691536527237; Tue, 08 Aug 2023 16:15:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691536527; cv=none; d=google.com; s=arc-20160816; b=WbYGbuEBrrIvq5IavxKSWORGcT+AtyugEn5ljIbVkzt2O7796RpgJFk+SvtznK4LdU spzkq9j2PYgtQkoKuXO4oMKVCb+2Y0UTTlCv+mTVobABNW5F5zOcWOBwgW1+cVCvkuvx fzWx1CcH9s/xURBj8UGNyLaC1mPhNMmDhj9va5aLsPwhXhjVrS4uHCqJAsJhVmmxjXX3 8xpUemXp1AVqoocMeom0YLAWd/Z8Z8HAr2prfBxe4u2Ey77ilAHRf0reUMy8VDIl1AGd RJSwlXFhi7IyweSLEPi61JtB+aMjg7shlUMo0fmygqYo9egaiDaPKva7Wld42apOzho3 yuug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=UkFV97CQa3g6DrhggAXuzog1hzg5W10mASK1ByxDhpo=; fh=h/qQBkFaKiogfCTyanXYN9NAO5ByXUFFi2AYXRuKhCY=; b=vqkyzcHtiVYT4BSJLpJ9ein2PEjmoHKCjRmwxMn07B8CDA6HaRf8M3hXY1Z0xU5IPp tJIs2kxW26UJXLrcoBAalhpGnI3QrRyruq+ZVoVXhKzcB0r86RE/xWIq5vpUwfdasUWd NBRVSOybEk/kkBdpLkXfB1rDkSoxclbKQmXSvWA+jcvdWHUe1+9nz5cJPONb64znymTO x9ktSj1Wxc16gAIwIqZLkn4rdmk82dB/pjX9mavfQRCmyAjOvIoFGDyr2YkNhf0r+B2w iS8fFqRsPTl1HM13/TwWx6pctEuChad24l5qklca2aW206NnmGL0U17bfiD0qjvUrlbK Jlaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=PHfyGfjJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z20-20020a17090ad79400b002567ce1c798si146944pju.137.2023.08.08.16.15.14; Tue, 08 Aug 2023 16:15:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=PHfyGfjJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230359AbjHHWec (ORCPT + 99 others); Tue, 8 Aug 2023 18:34:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45128 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230233AbjHHWe3 (ORCPT ); Tue, 8 Aug 2023 18:34:29 -0400 Received: from out-127.mta1.migadu.com (out-127.mta1.migadu.com [IPv6:2001:41d0:203:375::7f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BF9EFE for ; Tue, 8 Aug 2023 15:34:29 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1691534067; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UkFV97CQa3g6DrhggAXuzog1hzg5W10mASK1ByxDhpo=; b=PHfyGfjJY9Ur7O6u9zSuqLtFOfBXyBXUUFDLn09wdIeOTXwBdqdeMkEVbAfYkp+pfrdwJh D5tcQm5d30zgqXzASPmeEsy3pgGMANJ4IzoPHXwSO2Y+GD73xe/yMnpf71ZJqNKtBbj1lo lXO2AMWaiQes21PRybH44bgkLzjtuk4= From: Sui Jingfeng To: Bjorn Helgaas Cc: Dave Airlie , Daniel Vetter , linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng Subject: [PATCH v2 02/11] PCI: Add the pci_get_class_masked() helper Date: Wed, 9 Aug 2023 06:34:03 +0800 Message-Id: <20230808223412.1743176-3-sui.jingfeng@linux.dev> In-Reply-To: <20230808223412.1743176-1-sui.jingfeng@linux.dev> References: <20230808223412.1743176-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773704605196204368 X-GMAIL-MSGID: 1773704605196204368 From: Sui Jingfeng Because there is no good way to get the mask member used to searching for devices that conform to a specific PCI class code, an application needs to process all PCI display devices can achieve its goal as follows: pdev = NULL; do { pdev = pci_get_class_masked(PCI_BASE_CLASS_DISPLAY << 16, 0xFF0000, pdev); if (pdev) do_something_for_pci_display_device(pdev); } while (pdev); While previously, we just can not ignore Sub-Class code and the Programming Interface byte when do the searching. Signed-off-by: Sui Jingfeng --- drivers/pci/search.c | 30 ++++++++++++++++++++++++++++++ include/linux/pci.h | 7 +++++++ 2 files changed, 37 insertions(+) diff --git a/drivers/pci/search.c b/drivers/pci/search.c index b4c138a6ec02..f1c15aea868b 100644 --- a/drivers/pci/search.c +++ b/drivers/pci/search.c @@ -334,6 +334,36 @@ struct pci_dev *pci_get_device(unsigned int vendor, unsigned int device, } EXPORT_SYMBOL(pci_get_device); +/** + * pci_get_class_masked - begin or continue searching for a PCI device by class and mask + * @class: search for a PCI device with this class designation + * @from: Previous PCI device found in search, or %NULL for new search. + * + * Iterates through the list of known PCI devices. If a PCI device is + * found with a matching @class, the reference count to the device is + * incremented and a pointer to its device structure is returned. + * Otherwise, %NULL is returned. + * A new search is initiated by passing %NULL as the @from argument. + * Otherwise if @from is not %NULL, searches continue from next device + * on the global list. The reference count for @from is always decremented + * if it is not %NULL. + */ +struct pci_dev *pci_get_class_masked(unsigned int class, unsigned int mask, + struct pci_dev *from) +{ + struct pci_device_id id = { + .vendor = PCI_ANY_ID, + .device = PCI_ANY_ID, + .subvendor = PCI_ANY_ID, + .subdevice = PCI_ANY_ID, + .class_mask = mask, + .class = class, + }; + + return pci_get_dev_by_id(&id, from); +} +EXPORT_SYMBOL(pci_get_class_masked); + /** * pci_get_class - begin or continue searching for a PCI device by class * @class: search for a PCI device with this class designation diff --git a/include/linux/pci.h b/include/linux/pci.h index 0ff7500772e6..b20e7ba844bf 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -1180,6 +1180,9 @@ struct pci_dev *pci_get_slot(struct pci_bus *bus, unsigned int devfn); struct pci_dev *pci_get_domain_bus_and_slot(int domain, unsigned int bus, unsigned int devfn); struct pci_dev *pci_get_class(unsigned int class, struct pci_dev *from); +struct pci_dev *pci_get_class_masked(unsigned int class, unsigned int mask, + struct pci_dev *from); + int pci_dev_present(const struct pci_device_id *ids); int pci_bus_read_config_byte(struct pci_bus *bus, unsigned int devfn, @@ -1895,6 +1898,10 @@ static inline struct pci_dev *pci_get_class(unsigned int class, struct pci_dev *from) { return NULL; } +static inline struct pci_dev *pci_get_class_masked(unsigned int class, + unsigned int mask, + struct pci_dev *from) +{ return NULL; } static inline int pci_dev_present(const struct pci_device_id *ids) { return 0; } From patchwork Tue Aug 8 22:34:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 133010 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2500980vqr; Tue, 8 Aug 2023 18:32:53 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFiObEXr06wUs+yZwMWJ4XW55SP7YjLt9FBi4bH2kyFR2NGZ5nPR6hpMNMEc8euiG1ylENt X-Received: by 2002:a17:906:218a:b0:988:6491:98e1 with SMTP id 10-20020a170906218a00b00988649198e1mr951626eju.42.1691544772747; Tue, 08 Aug 2023 18:32:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691544772; cv=none; d=google.com; s=arc-20160816; b=HSVWtr2ZaUAm9rGqB8nzS8H+5RS9Lt1k0j7kxaDa9/Er+Y9AWvnGbOSfePx8SWCVDS Si3Wu6+IiBdZTURxJd2xiLsOpPz+Ws3X3B0UkOL4LnK9qbAwbkOzB3hk6WfUMxgvJanV ZMLG0q7scmhm9bSMA+PkUx6tkbNvHzkrXQi4jCJ2Oe+IYhIDCCO1A8N25IB+dmcndYpy HliczTp8hM1XpOorT6Vcd/4FBjZsJiLlE7IaEPHM6h4Es1RfEhPk5IUzneNSa3fxSMIs zJeoxaI1oGjwffqwh7bS112EoxW6uDPMF5H5f4cbxwpw46/B2A+CdZsVCWYRMitadejy 4BYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=noQeSrC40sd/EXkeg8fxahy+pA50ftyssyowKNSXpwM=; fh=zKhj6+xSEqABOWzFWt365x9j+71pDpY8YwR0FbB59ZY=; b=ALvQjn57PTpv91h6GBOUSpQmrTHjvEbEsD+DBBA08Y8PA8htvxWgDL1btN8YugPcpx z84a1z2PlRz/fANKU7Kc/x7kX4YERxupKwtFhhaDmY8pMnfqj1NRf9chjqWeeiW3nmp4 GQVYWayVUM0Rk5Qjk58XylrvwyDBzq20HadbS64iQ1U9j+I6Cjrrr2rTXhheWaRrzT+X i6vCvozrtwOyz1fc2cQ0lQ4oIGYOrSjnkmAnIkpu8CxE5HJpSD84OhXQNWWz2J5+Ffba M6VUHaBbrnEYdYGbIgIPdFk1w6ixzwccv7PXqfBZrBliTPNWxHywfcNKDa640PSD9SRR LzkQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=bmnuHOjN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z27-20020a170906715b00b0099bcde0f1b1si7333615ejj.152.2023.08.08.18.32.29; Tue, 08 Aug 2023 18:32:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=bmnuHOjN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230450AbjHHWeh (ORCPT + 99 others); Tue, 8 Aug 2023 18:34:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45276 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230433AbjHHWee (ORCPT ); Tue, 8 Aug 2023 18:34:34 -0400 Received: from out-71.mta1.migadu.com (out-71.mta1.migadu.com [IPv6:2001:41d0:203:375::47]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D25E6FE for ; Tue, 8 Aug 2023 15:34:32 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1691534069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=noQeSrC40sd/EXkeg8fxahy+pA50ftyssyowKNSXpwM=; b=bmnuHOjNxAVhqjQOMstFLbhvA7AheHtRPdPVazLBqkBj17xtd3uGnHL/K2InWr0ptnzDFD ObY6ZX76LkF1kTuK4SxezbX0dBOd2wGgTr9nMpWDU3JDp173MGKw9ID+4bBl63G0cBZc7O hT1KYhpjhwPNNTyUYGFhYaX3lUZEIYA= From: Sui Jingfeng To: Bjorn Helgaas Cc: Dave Airlie , Daniel Vetter , linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng , Mario Limonciello Subject: [PATCH v2 03/11] PCI/VGA: Deal with VGA class devices Date: Wed, 9 Aug 2023 06:34:04 +0800 Message-Id: <20230808223412.1743176-4-sui.jingfeng@linux.dev> In-Reply-To: <20230808223412.1743176-1-sui.jingfeng@linux.dev> References: <20230808223412.1743176-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773713251899880466 X-GMAIL-MSGID: 1773713251899880466 From: Sui Jingfeng vgaarb only cares about PCI(e) VGA devices (pdev->class == 0x0300XX) Currently, hence we only need to add VGA devices has its class code equals to 0x0300 to the arbiter. To keep align with the previous behavior. we ignore the programming interface byte (the least significant 8 bits) intentionally. After apply this patch, We will filter the unqualified devices out in the vga_arb_device_init() function. While the current implementation is to search all PCI devices in a system, this is not efficient. This also means that deleting a PCI device no longer needs to walk the list. Note that the major contribution of this patch is optimization. Reviewed-by: Mario Limonciello Signed-off-by: Sui Jingfeng --- drivers/pci/vgaarb.c | 68 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 12 deletions(-) diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c index c1bc6c983932..8742a51d450f 100644 --- a/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c @@ -754,10 +754,6 @@ static bool vga_arbiter_add_pci_device(struct pci_dev *pdev) struct pci_dev *bridge; u16 cmd; - /* Only deal with VGA class devices */ - if ((pdev->class >> 8) != PCI_CLASS_DISPLAY_VGA) - return false; - /* Allocate structure */ vgadev = kzalloc(sizeof(struct vga_device), GFP_KERNEL); if (vgadev == NULL) { @@ -1493,6 +1489,42 @@ static void vga_arbiter_notify_clients(void) spin_unlock_irqrestore(&vga_lock, flags); } +/* + * The PCI Class Code spec implies that only VGA devices with programming + * interface 0x00 can depend on the legacy VGA address range. VGA devices + * with programming interface 0x01 are 8514-compatible controllers. Since + * VGA devices with programming interface 0x00 is VGA compatible, the 'vga' + * suffix here should refer to the VGA-compatible devices after a strict + * reading of that specification. But considering the fact that there + * probably don't has a 8514-compatible controller that could be used with + * upstream kernel anymore, we would like to just ignore the programming + * interface byte. + * + * Besides, there do exist non VGA-compatible display controllers in the + * world and hardware vendors may abandon the old VGA standard someday. + * The meaning of 'vga' suffix here may change to evolve with time. + * + * A strict understanding of 'vga' certainly should be VGA-compatible, While + * a relaxed understanding of 'vga' would be PCI devices that are able to + * display. Currently, we just keep aligned to the previous behavior. + * Deal with VGA class devices. + */ +static bool pci_dev_is_vga(struct pci_dev *pdev) +{ + if ((pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA) + return true; + + /* + * The PCI_CLASS_NOT_DEFINED_VGA is defined to provide backward + * compatibility for devices that were built before the class code + * field was defined. + */ + if ((pdev->class >> 8) == PCI_CLASS_NOT_DEFINED_VGA) + return true; + + return false; +} + static int pci_notify(struct notifier_block *nb, unsigned long action, void *data) { @@ -1502,6 +1534,9 @@ static int pci_notify(struct notifier_block *nb, unsigned long action, vgaarb_dbg(dev, "%s\n", __func__); + if (!pci_dev_is_vga(pdev)) + return 0; + /* For now we're only intereted in devices added and removed. I didn't * test this thing here, so someone needs to double check for the * cases of hotplugable vga cards. */ @@ -1534,8 +1569,8 @@ static struct miscdevice vga_arb_device = { static int __init vga_arb_device_init(void) { + struct pci_dev *pdev = NULL; int rc; - struct pci_dev *pdev; rc = misc_register(&vga_arb_device); if (rc < 0) @@ -1543,13 +1578,22 @@ static int __init vga_arb_device_init(void) bus_register_notifier(&pci_bus_type, &pci_notifier); - /* We add all PCI devices satisfying VGA class in the arbiter by - * default */ - pdev = NULL; - while ((pdev = - pci_get_subsys(PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, - PCI_ANY_ID, pdev)) != NULL) - vga_arbiter_add_pci_device(pdev); + /* + * We add all PCI devices satisfying VGA class in the arbiter + * by default, but we ignore the programming interface byte + * intentionally. + */ + do { + pdev = pci_get_class_masked(PCI_CLASS_DISPLAY_VGA << 8, 0xFFFF00, pdev); + if (pdev && pci_dev_is_vga(pdev)) + vga_arbiter_add_pci_device(pdev); + } while (pdev); + + do { + pdev = pci_get_class_masked(PCI_CLASS_NOT_DEFINED_VGA << 8, 0xFFFF00, pdev); + if (pdev && pci_dev_is_vga(pdev)) + vga_arbiter_add_pci_device(pdev); + } while (pdev); pr_info("loaded\n"); return rc; From patchwork Tue Aug 8 22:34:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 132992 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2479367vqr; Tue, 8 Aug 2023 17:31:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHAWYTM+kjBrdEvJaZ1rs37/wGmy743lOmTSStDeRMbRrDbbmcyggkFGnM3/uz9vd38/bb7 X-Received: by 2002:a17:906:76d4:b0:99c:581f:7f51 with SMTP id q20-20020a17090676d400b0099c581f7f51mr925450ejn.54.1691541116291; Tue, 08 Aug 2023 17:31:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691541116; cv=none; d=google.com; s=arc-20160816; b=yGTCOPPQUefdIRKpvPFf6+uFKgBFhpAFnOjZU/Ne/tDOWvvokImvhjLYDjWVKvcZEm oqz+3iPjVINDLnAoPi67/D9L/nWqHxxO6znymkTyP5SGh8mFSTSqR63xzWuBLdHVSGkz SJPV5RMZVtQs1I1xq3Se2BVBNpO8eKPyec1hlWYhKJwWnJNHMbhesozTt+HvDzW++XMR x24+tbBOGUZkFdbs6PqqrGDnJEYKVO66H/nUW4zaGQS7djuZm3sSA9zV8g7k3+xZBzU/ sl6djb7ueDxesvHJdouimSkYFYq+0HGjBI0M3xU+n7LxtLKZfzBI4g/DhW6ybHj8YAKn enMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=mu/MhoXFJ/cEi4FsJokzAE/sQ7XHHhWDIZhXGhQKIk8=; fh=h/qQBkFaKiogfCTyanXYN9NAO5ByXUFFi2AYXRuKhCY=; b=tsN2RSIR52zE7B5txtWZ0rNJtpOI9hwo445zvlEz2+9SPZPfxyu3r/BMkW8AGH0lei FyJ+ONyZDr+F2rNgPXpon63WPUU64Joc2FkMzFW/PKqAERZqY43fhYEr/41wFSx+TKkk 9OuXpNBKHDdzW67x+tuPWHJQtwoqHIE9vCN2zqruryVrBdNXqmAVOGpS+/IRFAvsNw5n zBaZFqRca5Uz+yBmfqTQge7ONBAidsAx7liBr2yBXW+J7clxrTprJignbdU4KT82PG2F sAJqBVwMhmbf0qdgp6F+3+cugrVXDkEXNzJrD7qT432O0Lu+vC10WmeFcuP7xt14g/Dk SSuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=Adl1tcB7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z18-20020a1709063ad200b0099bcf4fc3d8si7943860ejd.330.2023.08.08.17.31.33; Tue, 08 Aug 2023 17:31:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=Adl1tcB7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231143AbjHHWej (ORCPT + 99 others); Tue, 8 Aug 2023 18:34:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45312 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230461AbjHHWeg (ORCPT ); Tue, 8 Aug 2023 18:34:36 -0400 Received: from out-123.mta1.migadu.com (out-123.mta1.migadu.com [IPv6:2001:41d0:203:375::7b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D8EE2136 for ; Tue, 8 Aug 2023 15:34:34 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1691534071; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mu/MhoXFJ/cEi4FsJokzAE/sQ7XHHhWDIZhXGhQKIk8=; b=Adl1tcB78U1uq/fZLe6GYcn43LbRpfgPBKK17xeIW5yXvQaRZ0n/Abirru9G+fZ9WkrwIg C9ZiabiIncjvC0hXZT2kaf7Z7KaAf0tycBNkaCe8u87wtDhLXUmSxsGGtI9dyQZg1sKAHZ tIGGl4udI9xcc1Tdsvdo23/Yipt8Ehs= From: Sui Jingfeng To: Bjorn Helgaas Cc: Dave Airlie , Daniel Vetter , linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng Subject: [PATCH v2 04/11] PCI/VGA: Drop the inline in the vga_update_device_decodes() function. Date: Wed, 9 Aug 2023 06:34:05 +0800 Message-Id: <20230808223412.1743176-5-sui.jingfeng@linux.dev> In-Reply-To: <20230808223412.1743176-1-sui.jingfeng@linux.dev> References: <20230808223412.1743176-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773709417495781351 X-GMAIL-MSGID: 1773709417495781351 From: Sui Jingfeng The vga_update_device_decodes() function is not performance-critical. So drop the inline. This patch also makes the parameter consistent with the argument, using the 'unsigned int' type instead of the 'signed' type to store the decode. Change the second argument of the vga_update_device_decodes() function to 'unsigned int' type. Signed-off-by: Sui Jingfeng --- drivers/pci/vgaarb.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c index 8742a51d450f..dc10a262fb5e 100644 --- a/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c @@ -860,24 +860,24 @@ static bool vga_arbiter_del_pci_device(struct pci_dev *pdev) return ret; } -/* this is called with the lock */ -static inline void vga_update_device_decodes(struct vga_device *vgadev, - int new_decodes) +/* This is called with the lock */ +static void vga_update_device_decodes(struct vga_device *vgadev, + unsigned int new_decodes) { struct device *dev = &vgadev->pdev->dev; - int old_decodes, decodes_removed, decodes_unlocked; + unsigned int old_decodes = vgadev->decodes; + unsigned int decodes_removed = ~new_decodes & old_decodes; + unsigned int decodes_unlocked = vgadev->locks & decodes_removed; - old_decodes = vgadev->decodes; - decodes_removed = ~new_decodes & old_decodes; - decodes_unlocked = vgadev->locks & decodes_removed; vgadev->decodes = new_decodes; - vgaarb_info(dev, "changed VGA decodes: olddecodes=%s,decodes=%s:owns=%s\n", - vga_iostate_to_str(old_decodes), - vga_iostate_to_str(vgadev->decodes), - vga_iostate_to_str(vgadev->owns)); + vgaarb_info(dev, + "VGA decodes changed: olddecodes=%s,decodes=%s:owns=%s\n", + vga_iostate_to_str(old_decodes), + vga_iostate_to_str(vgadev->decodes), + vga_iostate_to_str(vgadev->owns)); - /* if we removed locked decodes, lock count goes to zero, and release */ + /* If we removed locked decodes, lock count goes to zero, and release */ if (decodes_unlocked) { if (decodes_unlocked & VGA_RSRC_LEGACY_IO) vgadev->io_lock_cnt = 0; From patchwork Tue Aug 8 22:34:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 132971 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2457191vqr; Tue, 8 Aug 2023 16:32:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHTTtrLn/4yfmgvRj7i7x8axqTU3i4RbyGJWqZlrAOsGNBj8MlOvI7401YEMtCp3sBu+GSA X-Received: by 2002:a17:906:224c:b0:99c:b65b:54eb with SMTP id 12-20020a170906224c00b0099cb65b54ebmr840020ejr.59.1691537554455; Tue, 08 Aug 2023 16:32:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691537554; cv=none; d=google.com; s=arc-20160816; b=sbTzp33ZN5jLRR70Lt+egT5cABeApMZx4DNPXl7uMi/TAPCK4rVzt+B/SUeTwMOt8k oT3QuUWMBodDCuKu5eymB1tsy+TRoN3bOAYGK+DGwNUX5KweQCBaj0lEaMD8ufVP7n96 on8jiVHrV7iMasCkiekVzJcPaBsdI7Twolpp6d7nES1a15eVsJ0hGCK77Ye5lQ9jty1O Z13oz1hAhq083Q3tS9yN9s3Y4qSIti3OEDus1n3tfqCUpNayPkNZM7G+Q1ugpoJXbOEo d/icpYBikWnhbVPdaQJjAKEx5uW81dhZJHlLGyK2jmsF/J9wmj/dUk2jgDGMzvm7WheQ VNYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=HQgYw5lX3SkYq1STywg88ED6q5FjX9omCE5FKYEvLx8=; fh=h/qQBkFaKiogfCTyanXYN9NAO5ByXUFFi2AYXRuKhCY=; b=cvKwsukAPBuF4An+ChQaxdflbvGN5fjPmcdSYXd7+WGY6noJmjk+fqQcxeN7CQAtuX aIBZcSr7Lwk46YOZidwnPyZQZkHcagafSRcXzLAtFoz0UTu/82I7binACLS++t5O4/aQ vZe5je7zkv6lzvvi4M8Nk7nqYgCA6YEPpWnkRsuCH74mBUod9CW6Ot53QNFCUhgktmuX X9KapPgMbx0gOfOXgxJ6M/Q50hkbMfXFtOsjPfj8+1eSptlN8ugUvM/sST57aKwcqPKO Tq4brD2M72R+VktNYGWRr5EqV0YIRmLb4+R/qv/pY9aZrwNgV49OMAeZ44ZqfC3tvbei EpLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b="V2b/yZWh"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n5-20020a170906378500b009888bb065eesi8066106ejc.60.2023.08.08.16.32.10; Tue, 08 Aug 2023 16:32:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b="V2b/yZWh"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231225AbjHHWel (ORCPT + 99 others); Tue, 8 Aug 2023 18:34:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45322 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230463AbjHHWeg (ORCPT ); Tue, 8 Aug 2023 18:34:36 -0400 Received: from out-106.mta1.migadu.com (out-106.mta1.migadu.com [IPv6:2001:41d0:203:375::6a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F5FA137 for ; Tue, 8 Aug 2023 15:34:34 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1691534073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HQgYw5lX3SkYq1STywg88ED6q5FjX9omCE5FKYEvLx8=; b=V2b/yZWh7iqOPKRM+woaS0Pcn2y/ZwlopGA/To5CR6hBItv7RHn++t0bdatVP+jBdJY3WF XEy5JoecUt0pwfcntmWSCZuzjtsjWYXbh4aYIVQPplR1enGjSuBkUvCm7NtvjmK/1e2a/q t2IOEGUJZhKpiH+y+nQ3gBn4OCPe5HA= From: Sui Jingfeng To: Bjorn Helgaas Cc: Dave Airlie , Daniel Vetter , linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng Subject: [PATCH v2 05/11] PCI/VGA: Move the new_state assignment out of the loop Date: Wed, 9 Aug 2023 06:34:06 +0800 Message-Id: <20230808223412.1743176-6-sui.jingfeng@linux.dev> In-Reply-To: <20230808223412.1743176-1-sui.jingfeng@linux.dev> References: <20230808223412.1743176-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773705683159904675 X-GMAIL-MSGID: 1773705683159904675 From: Sui Jingfeng In the vga_arbiter_notify_clients() function, the value of the 'new_state' variable will be 'false' on systems that have more than one VGA device. The value will be 'true' if there is only one VGA device or no VGA device at all. Hence, its value is not relevant to the iteration of the loop. So move the assignment clause out of the loop. For a system with multiple video cards, this patch saves unnecessary assignment. Signed-off-by: Sui Jingfeng --- drivers/pci/vgaarb.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c index dc10a262fb5e..6883067a802a 100644 --- a/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c @@ -1468,22 +1468,20 @@ static void vga_arbiter_notify_clients(void) { struct vga_device *vgadev; unsigned long flags; - uint32_t new_decodes; - bool new_state; + bool state; if (!vga_arbiter_used) return; + state = (vga_count > 1) ? false : true; + spin_lock_irqsave(&vga_lock, flags); list_for_each_entry(vgadev, &vga_list, list) { - if (vga_count > 1) - new_state = false; - else - new_state = true; if (vgadev->set_decode) { - new_decodes = vgadev->set_decode(vgadev->pdev, - new_state); - vga_update_device_decodes(vgadev, new_decodes); + unsigned int decodes; + + decodes = vgadev->set_decode(vgadev->pdev, state); + vga_update_device_decodes(vgadev, decodes); } } spin_unlock_irqrestore(&vga_lock, flags); From patchwork Tue Aug 8 22:34:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 133025 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2512957vqr; Tue, 8 Aug 2023 19:09:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG0QyQQIbYgJ9Zfs1O8pLOrPAR659B9ifqmA7IB62LTq1/3XTbr+tRy4XtLBTQ8lOoan5OB X-Received: by 2002:a05:6512:308b:b0:4f8:6d99:f4f3 with SMTP id z11-20020a056512308b00b004f86d99f4f3mr898100lfd.52.1691546958895; Tue, 08 Aug 2023 19:09:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691546958; cv=none; d=google.com; s=arc-20160816; b=xyb3LcIG3daQvrQ7/D7FH/lnN8uMkRLM73+BSsJ2hrnaj8NkBlp/jYFnX/wi0pXOnm x9oW0E2fUz9oYBRmzfFRAx+GEVz88pg5uEQoppVDvKbyNgy9kyC26n9DRzYMWTWeJfOp 6q8NxTQMurVsrZZtEdRJpIg162OQ9VQOgeGHVCxSdvXnS2cLmSy9GMZbDD8FoETsnpfU GiqnlYBq4c80FDYHrAWij8BmlPfK9PoixO3M7HIyIcO7+GHHfFZpHQFl1mHRfeGs0IcF vQY82w7shYdt7zHqtGNxbXXaERf3MxtduuBGS62p9d+FemcjHwyCfSdnDjXVuMJRUt/0 OKCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=uMmEu+HhjoXxANySD4aMeLT6mwndhCG4N8c23OUDKuI=; fh=h/qQBkFaKiogfCTyanXYN9NAO5ByXUFFi2AYXRuKhCY=; b=LR4eJg2zPPGAcGyL/9tsTVtLg5fN/BTmedpIoPaM6x4lbWWz+QocI6qPOmjTFbK7oD cxHr9SrcguFXc2erS32UWnV+xIS6aYCL34d7vT8j8NuMdeKs0bYNq2BZ9jupQwyjxxSq 9NsLm0pTVRsbiSL5JChNHLtxCKYlU5aawhGYp2Mce65zq0jC20G1Q8FesyNUAW/v67hq x1jr3bmJSohl+5eXobdA9OiH1cKWtdb5Lrd8FNje/OXWSN6eJtwIGZmfs2tqGNDCYPrU h3FriUBd1LtV8FYtZ7Z0hrx2bcRo98N3B17RT9Zak4mt1fMtFUZ5eKq/LW228t4IhKfA CdIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=Wl506kTC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b16-20020a05640202d000b005234f302c99si698088edx.499.2023.08.08.19.08.55; Tue, 08 Aug 2023 19:09:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=Wl506kTC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231286AbjHHWem (ORCPT + 99 others); Tue, 8 Aug 2023 18:34:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45422 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231132AbjHHWei (ORCPT ); Tue, 8 Aug 2023 18:34:38 -0400 Received: from out-79.mta1.migadu.com (out-79.mta1.migadu.com [IPv6:2001:41d0:203:375::4f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 19559FE for ; Tue, 8 Aug 2023 15:34:38 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1691534074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=uMmEu+HhjoXxANySD4aMeLT6mwndhCG4N8c23OUDKuI=; b=Wl506kTCXQtMlc2mHYLR0PVSvjYlKXpfKDEhL9z8b9NHnYkkOx5eYk3PeqhY98kd6c4yym sZy1+F9KWA1jTNyhfoZM+i1exotrTiU77Sr7hEtCWtHXWH1Eeuw6HRvzFWdot/X3cr72ow BgHtoJVaqPXVmlq/UafBM8KuDNeeFjg= From: Sui Jingfeng To: Bjorn Helgaas Cc: Dave Airlie , Daniel Vetter , linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng Subject: [PATCH v2 06/11] PCI/VGA: Fix two typos in the comments of pci_notify() Date: Wed, 9 Aug 2023 06:34:07 +0800 Message-Id: <20230808223412.1743176-7-sui.jingfeng@linux.dev> In-Reply-To: <20230808223412.1743176-1-sui.jingfeng@linux.dev> References: <20230808223412.1743176-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773715544283447991 X-GMAIL-MSGID: 1773715544283447991 From: Sui Jingfeng 1) s/intereted/interested 2) s/hotplugable/hot-pluggable While at it, convert the comments to the conventional multi-line style, and rewrap to fill 78 columns. Fixes: deb2d2ecd43d ("PCI/GPU: implement VGA arbitration on Linux") Signed-off-by: Sui Jingfeng Reviewed-by: Ilpo Järvinen --- drivers/pci/vgaarb.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c index 6883067a802a..811510253553 100644 --- a/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c @@ -1535,9 +1535,11 @@ static int pci_notify(struct notifier_block *nb, unsigned long action, if (!pci_dev_is_vga(pdev)) return 0; - /* For now we're only intereted in devices added and removed. I didn't - * test this thing here, so someone needs to double check for the - * cases of hotplugable vga cards. */ + /* + * For now, we're only interested in devices added and removed. + * I didn't test this thing here, so someone needs to double check + * for the cases of hot-pluggable VGA cards. + */ if (action == BUS_NOTIFY_ADD_DEVICE) notify = vga_arbiter_add_pci_device(pdev); else if (action == BUS_NOTIFY_DEL_DEVICE) From patchwork Tue Aug 8 22:34:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 132963 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2452243vqr; Tue, 8 Aug 2023 16:19:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFXm2PqdVnMb65BFE1bUZ8t30RDurMPtkuqM861myTjmyVJvaJfPYDB1WspDYm901jzhJYR X-Received: by 2002:a2e:9b04:0:b0:2b6:e105:6174 with SMTP id u4-20020a2e9b04000000b002b6e1056174mr625719lji.47.1691536781822; Tue, 08 Aug 2023 16:19:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691536781; cv=none; d=google.com; s=arc-20160816; b=dgdMAZmpAAmXIjCaIRMrTMbZKDKmsnovHuPMQYRJIpu0yCbj7vsT0a32SZRJe2xjdB Ly6BtvUR9OSwvIT59lIjlYwNENIX6DkPTyxIiRN8j2ug6/xeG5VeLCCwJs5jl8+sKSGT yEh7PbyBZpNnjWHNNfOABy8RQ+MQ26tTjEb2CcPxSzlpq64EsQvecl38/v/t6S9rQgIr lHejxgGGyD1IZ8MekmoKRwcYqMN+0DQvLN4Hrn6ZbDM0mlt30ym0v/+77oE1oOKv72tJ 8atIDoJ2H1f0sBoBQuU7Pro27lMQ7LJrHUu4tHuXffZwleNCmcHwzsviYBJWBGTRTHCP lgAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=OzZwtUzLVgyigIZtu0FTQnFL+tgS0hu77QEo/xERbug=; fh=h/qQBkFaKiogfCTyanXYN9NAO5ByXUFFi2AYXRuKhCY=; b=I2fyyOKhb07LYJ+SGUjRkyNFZj7dbXmCVfLAjOaoRZKwwlwbM+XXrVhAAUp/E+fa1k UdShTF8furcryj7aJ1xpYSiDvyZDo29NUduPh3QWjW2o/5xTEaEa77r6x44qd3l/anIr VPn87oH7g4AQuE3nrvB775Z+dsCJaFnP1MoLtPIFfKz4kJFlzfH1KQ0BDBPnP+xAhYiM 3nAi8QPAnEjJPJ/rlyrPSgent7uTZYD44hm2puyjKsE02ftjBiShwwIZLRyIJVUt5Kws dDxbPQ/W0/SfiQsfktCLf8nG6P+XbnTVU2kDYwQ2K6YCwalMSCpZoH8thqlP90dvNVok /ahQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=DGYotxqN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k18-20020a1709065fd200b00992ac0466e2si6851959ejv.653.2023.08.08.16.19.16; Tue, 08 Aug 2023 16:19:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=DGYotxqN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231269AbjHHWep (ORCPT + 99 others); Tue, 8 Aug 2023 18:34:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45440 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231208AbjHHWel (ORCPT ); Tue, 8 Aug 2023 18:34:41 -0400 Received: from out-117.mta1.migadu.com (out-117.mta1.migadu.com [IPv6:2001:41d0:203:375::75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D5D56129 for ; Tue, 8 Aug 2023 15:34:39 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1691534076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OzZwtUzLVgyigIZtu0FTQnFL+tgS0hu77QEo/xERbug=; b=DGYotxqNLyZsNF2IhhW+hGPcxHM/d9eMPF9lhqKC3341P3IrJ+qrPvpcLToq9oBZD1PR0F A2j9JANAQEm7SnZ98HhQ6RDX0BuJJNhpHUfinaFEM9j29EBLRlA84huObzAoFTeTMViyZD 1oWz4mA51DDBJiuVfb30E9SV7R7bhqY= From: Sui Jingfeng To: Bjorn Helgaas Cc: Dave Airlie , Daniel Vetter , linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng Subject: [PATCH v2 07/11] PCI/VGA: vga_client_register() return -ENODEV on failure, not -1 Date: Wed, 9 Aug 2023 06:34:08 +0800 Message-Id: <20230808223412.1743176-8-sui.jingfeng@linux.dev> In-Reply-To: <20230808223412.1743176-1-sui.jingfeng@linux.dev> References: <20230808223412.1743176-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773704872413972049 X-GMAIL-MSGID: 1773704872413972049 From: Sui Jingfeng Fixes: 934f992c763a ("drm/i915: Recognise non-VGA display devices") Signed-off-by: Sui Jingfeng --- drivers/pci/vgaarb.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c index 811510253553..a6b8c0def35d 100644 --- a/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c @@ -964,7 +964,7 @@ EXPORT_SYMBOL(vga_set_legacy_decoding); * * To unregister just call vga_client_unregister(). * - * Returns: 0 on success, -1 on failure + * Returns: 0 on success, -ENODEV on failure */ int vga_client_register(struct pci_dev *pdev, unsigned int (*set_decode)(struct pci_dev *pdev, bool decode)) @@ -975,16 +975,13 @@ int vga_client_register(struct pci_dev *pdev, spin_lock_irqsave(&vga_lock, flags); vgadev = vgadev_find(pdev); - if (!vgadev) - goto bail; - - vgadev->set_decode = set_decode; - ret = 0; - -bail: + if (vgadev) { + vgadev->set_decode = set_decode; + ret = 0; + } spin_unlock_irqrestore(&vga_lock, flags); - return ret; + return ret; } EXPORT_SYMBOL(vga_client_register); From patchwork Tue Aug 8 22:34:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 132956 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2450340vqr; Tue, 8 Aug 2023 16:15:09 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEq5KlvBkhf8RXXJdeK/fUmOZkncK6hqVoQpixre6rkrVXG2ebbdgC+xSl7T2Pmwomu931t X-Received: by 2002:a05:6a00:1941:b0:680:f6fe:8908 with SMTP id s1-20020a056a00194100b00680f6fe8908mr934417pfk.9.1691536509005; Tue, 08 Aug 2023 16:15:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691536508; cv=none; d=google.com; s=arc-20160816; b=PHxA4A+kaqfBu6GGLf0Gkso9reClDTD/7Zsf2jXv4seyFjixHbEb2QQahrZrGMQv6Y rpjE6tFFc/hHy3orB8SzXce7u/TQRaBnIkSRFcH/RfRT4RVVdIkv+D9JYkqF0XZ5sQYr KTKO0aP4FwGA4ms0g4gKwqbmU2OOHaAe/ouFvWC9cXvYwVTV+GR+6bfNahU0cu3d5TkO euAwM4mEay+SaGQdgsWGkBzLdn3K9p6koQJUMcAYcW9b+KUOH7al5LOV8YBrsddR+7QB t8CKHNqIBlNTckYZee0OWIMavCwf5zHZjVK4pZNi1kvAd5PLwu1wgMJ7isgFmSA6aVDW AFSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=HL5I7G8dsIM9Q8e95v2AAu8NCj6dOoJOu6bCCYAPQBw=; fh=h/qQBkFaKiogfCTyanXYN9NAO5ByXUFFi2AYXRuKhCY=; b=DzA8LShFF0tStZFq+0OWqsdlcvyXxsROAcmkYo1ovp8sDyBPDlucLLAtbbGgDETkmo 6DWN0yxE7VbtLi2t2GG/TUMEAY5hgy5y4e5qt8oetZR38HH2GweHxcGiN++NjaQkfWTh 4V7ZL7yATd2dBfokWzems2IrPZGWNSfm6+fkC0YEGEYCJH5x9zfav/tc7QatkeCwTCQS cNK0tsm8Os3wp6WJ4TvcHqHyaDhsXnmegKy3QQ++NwzU512zEIwol8r3EFe6MYVfL6gC 5tMCQWRnlrhEm9/gtfKJZOB8wb0XyfJHz4rUgPDfjjxH3P09gCf8dvyq/E2yFSNYTrvQ JuTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=JdE3KgMC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b67-20020a633446000000b00547b25ea099si5375009pga.682.2023.08.08.16.14.56; Tue, 08 Aug 2023 16:15:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=JdE3KgMC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231465AbjHHWer (ORCPT + 99 others); Tue, 8 Aug 2023 18:34:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45470 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231132AbjHHWen (ORCPT ); Tue, 8 Aug 2023 18:34:43 -0400 Received: from out-94.mta1.migadu.com (out-94.mta1.migadu.com [IPv6:2001:41d0:203:375::5e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD695E40 for ; Tue, 8 Aug 2023 15:34:40 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1691534078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HL5I7G8dsIM9Q8e95v2AAu8NCj6dOoJOu6bCCYAPQBw=; b=JdE3KgMCOK9a99gLEqtXjTkM6oTKGWFQ7ZBtDjo5B938KLh4I3KEf+gb7oxO+HGWfwbr13 FebIHA9+iE68toGO3+RBtqvbI+a45IPZtIgNMzmG2zeGvdsHGbysQGgPp3IMs1G5wy1d99 ydCkC3Yv99i7zinBd4y1UjMJQ/PM8tw= From: Sui Jingfeng To: Bjorn Helgaas Cc: Dave Airlie , Daniel Vetter , linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng Subject: [PATCH v2 08/11] PCI/VGA: Fix a typo to the comment of vga_default Date: Wed, 9 Aug 2023 06:34:09 +0800 Message-Id: <20230808223412.1743176-9-sui.jingfeng@linux.dev> In-Reply-To: <20230808223412.1743176-1-sui.jingfeng@linux.dev> References: <20230808223412.1743176-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773704586825454644 X-GMAIL-MSGID: 1773704586825454644 From: Sui Jingfeng Fixes: deb2d2ecd43d ("PCI/GPU: implement VGA arbitration on Linux") Signed-off-by: Sui Jingfeng --- drivers/pci/vgaarb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c index a6b8c0def35d..d80d92e8012b 100644 --- a/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c @@ -99,7 +99,7 @@ static int vga_str_to_iostate(char *buf, int str_size, unsigned int *io_state) return 1; } -/* this is only used a cookie - it should not be dereferenced */ +/* This is only used as a cookie, it should not be dereferenced */ static struct pci_dev *vga_default; /* Find somebody in our list */ From patchwork Tue Aug 8 22:34:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 132967 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2453147vqr; Tue, 8 Aug 2023 16:22:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGLho9CPGbS6Ha3l/F44GpQzrf/Zzp7S9OCrZfLX+K86D2qg/DNSnpLOM5LOOB4Orws195L X-Received: by 2002:a05:6a00:1915:b0:67a:b045:e290 with SMTP id y21-20020a056a00191500b0067ab045e290mr1125247pfi.4.1691536923408; Tue, 08 Aug 2023 16:22:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691536923; cv=none; d=google.com; s=arc-20160816; b=Y+spqHqeDQWViBTRaqG3EBewa48r8Q0elED9RFv4disqlRjExu1xxhivWq8iEX72CQ V6/dOlm5iSwwl6q/QheonNzQVqLUWGl5tAL7Xa9bA+8ZdEP0hrYEPj5+YqxJtweIpDHY ED7IrhUmd5nSlHFXoVwy+uzDSp/Z5urnnzvhZDGyDkitsZu4LFww3i0Ks1vp4tvNni4c dacHe/4aKuZyv53lrmUvNp6G6pjDmvclZXlcwRgUfvjIGGGoODKeb4wIJC3IlMIYYZ1D 2gB7o/8jLs81SZJtA7zyIZwIlWMrulayQTkkUUlPBfjFmck6PB+2r9ctWjHd/oQ7pJP7 /kCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=OARNfgYqqI88j77QXNxHtR+yC6FyBlqX15NF2v91/5s=; fh=h/qQBkFaKiogfCTyanXYN9NAO5ByXUFFi2AYXRuKhCY=; b=Y4ofmSRs3beTcOrlZWKwdfDIdfdKUD3WtKM6O2ye86cLdEEpxAf/2ce49pdqtj8PC/ JKpaL/auVP/WDqdjP4qEWrZoZzq07GQsszh1+RcDR1IryMabbIomiPh43pNCWt51W5KN /Xmhjnm3bBbpOWzE4SOiejPmDoYQ645M3tSUOaxtptjyeTC8xiMbyFyELQh1LuhAgER4 5vX/dlMgSloFLFjgvWcV4dUVmZUT5gH6muoor73HNGmwNSMB7UoIkeIkBziqqdIi4+lI zJ9z/7Th1O5iT4fjrL3q5J0I67CDPEwKVZVKihIn+30yoHMThj8Yqqe7rbHZBs/RGpBI kFlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=lozfXp23; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i12-20020a636d0c000000b0055337ca9ce9si5048203pgc.248.2023.08.08.16.21.51; Tue, 08 Aug 2023 16:22:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=lozfXp23; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231561AbjHHWe4 (ORCPT + 99 others); Tue, 8 Aug 2023 18:34:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48634 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231594AbjHHWev (ORCPT ); Tue, 8 Aug 2023 18:34:51 -0400 Received: from out-122.mta1.migadu.com (out-122.mta1.migadu.com [IPv6:2001:41d0:203:375::7a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C5A9F1BCD for ; Tue, 8 Aug 2023 15:34:43 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1691534080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OARNfgYqqI88j77QXNxHtR+yC6FyBlqX15NF2v91/5s=; b=lozfXp23rVPsktvtX0gQPBInuNuig15+ZDtuPcOb13UrzI+pPqoY2CJAbTcGLRNR3hpifa Lk4NFkJOW+/QvdT7VW8ZrfhLaMqDztMIWavX2Oj+hUmGh41afMdVPFemFneKZ857g5VIxG EVKpXS7FQqH0cq3Yd+NENo3KiAtV904= From: Sui Jingfeng To: Bjorn Helgaas Cc: Dave Airlie , Daniel Vetter , linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng Subject: [PATCH v2 09/11] PCI/VGA: Fix a typo to the comments in vga_str_to_iostate() function Date: Wed, 9 Aug 2023 06:34:10 +0800 Message-Id: <20230808223412.1743176-10-sui.jingfeng@linux.dev> In-Reply-To: <20230808223412.1743176-1-sui.jingfeng@linux.dev> References: <20230808223412.1743176-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773705021147360256 X-GMAIL-MSGID: 1773705021147360256 From: Sui Jingfeng s/chekcing/checking While at it, convert the comments to the conventional multi-line style, and rewrap to fill 78 columns. Fixes: deb2d2ecd43d ("PCI/GPU: implement VGA arbitration on Linux") Signed-off-by: Sui Jingfeng --- drivers/pci/vgaarb.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c index d80d92e8012b..9f5cf6a6e3a2 100644 --- a/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c @@ -79,14 +79,16 @@ static const char *vga_iostate_to_str(unsigned int iostate) static int vga_str_to_iostate(char *buf, int str_size, unsigned int *io_state) { - /* we could in theory hand out locks on IO and mem - * separately to userspace but it can cause deadlocks */ + /* + * In theory, we could hand out locks on IO and MEM separately to + * userspace, but this can cause deadlocks. + */ if (strncmp(buf, "none", 4) == 0) { *io_state = VGA_RSRC_NONE; return 1; } - /* XXX We're not chekcing the str_size! */ + /* XXX We're not checking the str_size! */ if (strncmp(buf, "io+mem", 6) == 0) goto both; else if (strncmp(buf, "io", 2) == 0) From patchwork Tue Aug 8 22:34:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 132997 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2483540vqr; Tue, 8 Aug 2023 17:44:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEAepfIIHijnUo4vhIaXJ6kKLbhIyx/TZ0q94fFd292NeJtSzecwy1lgptqN75dQ/aA+9eU X-Received: by 2002:a17:906:74cb:b0:991:fef4:bb7 with SMTP id z11-20020a17090674cb00b00991fef40bb7mr945772ejl.73.1691541840494; Tue, 08 Aug 2023 17:44:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691541840; cv=none; d=google.com; s=arc-20160816; b=P1UBUuc98o9lQi3gFORdnhdm/vDioS/CRl/CDb1NZDzmawPaqZYwAnfMAbTxctBS2g hksAjKod7mZAknyFsZgGQEw/n9zKfSqXylfRMTrPfkVDQZSze8lwbZQn7GbSZEBfXe2H yAvZM78GZAqFgYBmKncRjEZhIbNSAkzBFLZcWosnLKyKlEIiSOnPs05ZP3wlP1oB9SzF m/ugb4YdJZBN/hy40ikHgHAbtkgiwux/7ruhiZ2JCzHBdnyzDT4bei/frDSbV1chFdmF q1nxBz2XXfdK5HxKC7kzZpY4eVfK0L2RRZa42KtIQQp+vxuDrQwHv5ys/tYt988J5HjL AEgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=H4g+gRjFecZE2l454iUAcMz9yAShEeOm1Ufke43adhQ=; fh=qsseV3tytAHM2HZZxVXgyuVrZmCUssrmDLdACHe2FM8=; b=GGonI4GZHP6+bhvMWFRPuwcZJ2E2s4xohkIuGSi3ajkF6JJBPm9nm/vRxA98t0SvNn q8XsfBuUAQSdlpXnh5YNsixXvfW/qyYe4mp/ZJLTlI3QAG3xzjEdEVFVu4blUXV0q2U/ 3BSxifmdxquvaQp3HukWt8+Y4Lr/kn004/kN815cvt5bfHs3T1RHTDsn7DMjA/eEe0bW Ne4239ocdjmuPJE/IrOGYU44/y6sZZ4vSaP9JYsKYkbo+2gb2Ldl++Ihpkjk0itoHc2t 9Hc7DwRN/GkfhCJrxOE6rRzh+ZAQF1cvTR9RSceng6AXNvv4y4Uya5NKbs2VYYL6SDYX B/Qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=YymOgW8C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c7-20020a170906154700b00987e4102ebfsi7204276ejd.993.2023.08.08.17.43.36; Tue, 08 Aug 2023 17:44:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=YymOgW8C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231664AbjHHWfE (ORCPT + 99 others); Tue, 8 Aug 2023 18:35:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54020 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231346AbjHHWez (ORCPT ); Tue, 8 Aug 2023 18:34:55 -0400 Received: from out-76.mta1.migadu.com (out-76.mta1.migadu.com [IPv6:2001:41d0:203:375::4c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 90FA41FDE for ; Tue, 8 Aug 2023 15:34:45 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1691534082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=H4g+gRjFecZE2l454iUAcMz9yAShEeOm1Ufke43adhQ=; b=YymOgW8CFZULQYY6dN/q81w8GNnnaoKcCtuwAOpZoPcfZRCwupzLz8LVeGNPr64w3kasiZ y8xw8VbZCIEvk3ZloPLmkXO8nt5a5azIgveuyIphmOID5DM9vU4jYwtHs9EnRxBhmmEVvV I55Y9CN3mCApYRXMkTVkQL8eqUVm1xA= From: Sui Jingfeng To: Bjorn Helgaas Cc: Dave Airlie , Daniel Vetter , linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng , Andi Shyti Subject: [PATCH v2 10/11] PCI/VGA: Tidy up the code and comment format Date: Wed, 9 Aug 2023 06:34:11 +0800 Message-Id: <20230808223412.1743176-11-sui.jingfeng@linux.dev> In-Reply-To: <20230808223412.1743176-1-sui.jingfeng@linux.dev> References: <20230808223412.1743176-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773710177285893521 X-GMAIL-MSGID: 1773710177285893521 From: Sui Jingfeng This patch replaces the leading space with a tab and removes the double blank line and fix various typos, no functional change. Reviewed-by: Andi Shyti Signed-off-by: Sui Jingfeng Reviewed-by: Ilpo Järvinen --- drivers/pci/vgaarb.c | 90 ++++++++++++++++++++++++------------------ include/linux/vgaarb.h | 4 +- 2 files changed, 53 insertions(+), 41 deletions(-) diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c index 9f5cf6a6e3a2..a2f6e0e6b634 100644 --- a/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c @@ -30,14 +30,13 @@ #include #include #include - #include - #include static void vga_arbiter_notify_clients(void); + /* - * We keep a list of all vga devices in the system to speed + * We keep a list of all VGA devices in the system to speed * up the various operations of the arbiter */ struct vga_device { @@ -61,7 +60,6 @@ static bool vga_arbiter_used; static DEFINE_SPINLOCK(vga_lock); static DECLARE_WAIT_QUEUE_HEAD(vga_wait_queue); - static const char *vga_iostate_to_str(unsigned int iostate) { /* Ignore VGA_RSRC_IO and VGA_RSRC_MEM */ @@ -195,14 +193,16 @@ int vga_remove_vgacon(struct pci_dev *pdev) #endif EXPORT_SYMBOL(vga_remove_vgacon); -/* If we don't ever use VGA arb we should avoid - turning off anything anywhere due to old X servers getting - confused about the boot device not being VGA */ +/* + * If we don't ever use vgaarb, we should avoid turning off anything anywhere. + * Due to old X servers getting confused about the boot device not being VGA. + */ static void vga_check_first_use(void) { - /* we should inform all GPUs in the system that - * VGA arb has occurred and to try and disable resources - * if they can */ + /* + * We should inform all GPUs in the system that + * vgaarb has occurred and to try and disable resources if they can + */ if (!vga_arbiter_used) { vga_arbiter_used = true; vga_arbiter_notify_clients(); @@ -218,7 +218,8 @@ static struct vga_device *__vga_tryget(struct vga_device *vgadev, unsigned int pci_bits; u32 flags = 0; - /* Account for "normal" resources to lock. If we decode the legacy, + /* + * Account for "normal" resources to lock. If we decode the legacy, * counterpart, we need to request it as well */ if ((rsrc & VGA_RSRC_NORMAL_IO) && @@ -238,7 +239,8 @@ static struct vga_device *__vga_tryget(struct vga_device *vgadev, if (wants == 0) goto lock_them; - /* We don't need to request a legacy resource, we just enable + /* + * We don't need to request a legacy resource, we just enable * appropriate decoding and go */ legacy_wants = wants & VGA_RSRC_LEGACY_MASK; @@ -254,7 +256,8 @@ static struct vga_device *__vga_tryget(struct vga_device *vgadev, if (vgadev == conflict) continue; - /* We have a possible conflict. before we go further, we must + /* + * We have a possible conflict. before we go further, we must * check if we sit on the same bus as the conflicting device. * if we don't, then we must tie both IO and MEM resources * together since there is only a single bit controlling @@ -265,13 +268,15 @@ static struct vga_device *__vga_tryget(struct vga_device *vgadev, lwants = VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM; } - /* Check if the guy has a lock on the resource. If he does, + /* + * Check if the guy has a lock on the resource. If he does, * return the conflicting entry */ if (conflict->locks & lwants) return conflict; - /* Ok, now check if it owns the resource we want. We can + /* + * Ok, now check if it owns the resource we want. We can * lock resources that are not decoded, therefore a device * can own resources it doesn't decode. */ @@ -279,14 +284,16 @@ static struct vga_device *__vga_tryget(struct vga_device *vgadev, if (!match) continue; - /* looks like he doesn't have a lock, we can steal + /* + * Looks like he doesn't have a lock, we can steal * them from him */ flags = 0; pci_bits = 0; - /* If we can't control legacy resources via the bridge, we + /* + * If we can't control legacy resources via the bridge, we * also need to disable normal decoding. */ if (!conflict->bridge_has_one_vga) { @@ -313,7 +320,8 @@ static struct vga_device *__vga_tryget(struct vga_device *vgadev, } enable_them: - /* ok dude, we got it, everybody conflicting has been disabled, let's + /* + * Ok dude, we got it, everybody conflicting has been disabled, let's * enable us. Mark any bits in "owns" regardless of whether we * decoded them. We can lock resources we don't decode, therefore * we must track them via "owns". @@ -355,7 +363,8 @@ static void __vga_put(struct vga_device *vgadev, unsigned int rsrc) vgaarb_dbg(dev, "%s\n", __func__); - /* Update our counters, and account for equivalent legacy resources + /* + * Update our counters, and account for equivalent legacy resources * if we decode them */ if ((rsrc & VGA_RSRC_NORMAL_IO) && vgadev->io_norm_cnt > 0) { @@ -373,7 +382,8 @@ static void __vga_put(struct vga_device *vgadev, unsigned int rsrc) if ((rsrc & VGA_RSRC_LEGACY_MEM) && vgadev->mem_lock_cnt > 0) vgadev->mem_lock_cnt--; - /* Just clear lock bits, we do lazy operations so we don't really + /* + * Just clear lock bits, we do lazy operations so we don't really * have to bother about anything else at this point */ if (vgadev->io_lock_cnt == 0) @@ -381,7 +391,8 @@ static void __vga_put(struct vga_device *vgadev, unsigned int rsrc) if (vgadev->mem_lock_cnt == 0) vgadev->locks &= ~VGA_RSRC_LEGACY_MEM; - /* Kick the wait queue in case somebody was waiting if we actually + /* + * Kick the wait queue in case somebody was waiting if we actually * released something */ if (old_locks != vgadev->locks) @@ -449,8 +460,8 @@ int vga_get(struct pci_dev *pdev, unsigned int rsrc, int interruptible) if (conflict == NULL) break; - - /* We have a conflict, we wait until somebody kicks the + /* + * We have a conflict, we wait until somebody kicks the * work queue. Currently we have one work queue that we * kick each time some resources are released, but it would * be fairly easy to have a per device one so that we only @@ -667,7 +678,7 @@ static bool vga_is_boot_device(struct vga_device *vgadev) } /* - * vgadev has neither IO nor MEM enabled. If we haven't found any + * Vgadev has neither IO nor MEM enabled. If we haven't found any * other VGA devices, it is the best candidate so far. */ if (!boot_vga) @@ -708,7 +719,7 @@ static void vga_arbiter_check_bridge_sharing(struct vga_device *vgadev) bus = same_bridge_vgadev->pdev->bus; bridge = bus->self; - /* see if the share a bridge with this device */ + /* See if the share a bridge with this device */ if (new_bridge == bridge) { /* * If their direct parent bridge is the same @@ -779,9 +790,10 @@ static bool vga_arbiter_add_pci_device(struct pci_dev *pdev) vgadev->decodes = VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM | VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM; - /* by default mark it as decoding */ + /* By default, mark it as decoding */ vga_decode_count++; - /* Mark that we "own" resources based on our enables, we will + /* + * Mark that we "own" resources based on our enables, we will * clear that below if the bridge isn't forwarding */ pci_read_config_word(pdev, PCI_COMMAND, &cmd); @@ -888,7 +900,7 @@ static void vga_update_device_decodes(struct vga_device *vgadev, __vga_put(vgadev, decodes_unlocked); } - /* change decodes counter */ + /* Change decodes counter */ if (old_decodes & VGA_RSRC_LEGACY_MASK && !(new_decodes & VGA_RSRC_LEGACY_MASK)) vga_decode_count--; @@ -912,14 +924,15 @@ static void __vga_set_legacy_decoding(struct pci_dev *pdev, if (vgadev == NULL) goto bail; - /* don't let userspace futz with kernel driver decodes */ + /* Don't let userspace futz with kernel driver decodes */ if (userspace && vgadev->set_decode) goto bail; - /* update the device decodes + counter */ + /* Update the device decodes + counter */ vga_update_device_decodes(vgadev, decodes); - /* XXX if somebody is going from "doesn't decode" to "decodes" state + /* + * XXX if somebody is going from "doesn't decode" to "decodes" state * here, additional care must be taken as we may have pending owner * ship of non-legacy region ... */ @@ -954,9 +967,9 @@ EXPORT_SYMBOL(vga_set_legacy_decoding); * @set_decode callback: If a client can disable its GPU VGA resource, it * will get a callback from this to set the encode/decode state. * - * Rationale: we cannot disable VGA decode resources unconditionally some single - * GPU laptops seem to require ACPI or BIOS access to the VGA registers to - * control things like backlights etc. Hopefully newer multi-GPU laptops do + * Rationale: we cannot disable VGA decode resources unconditionally, some + * single GPU laptops seem to require ACPI or BIOS access to the VGA registers + * to control things like backlights etc. Hopefully newer multi-GPU laptops do * something saner, and desktops won't have any special ACPI for this. The * driver will get a callback when VGA arbitration is first used by userspace * since some older X servers have issues. @@ -1074,7 +1087,6 @@ static int vga_pci_str_to_vars(char *buf, int count, unsigned int *domain, int n; unsigned int slot, func; - n = sscanf(buf, "PCI:%x:%x:%x.%x", domain, bus, &slot, &func); if (n != 4) return 0; @@ -1113,7 +1125,8 @@ static ssize_t vga_arb_read(struct file *file, char __user *buf, /* Find card vgadev structure */ vgadev = vgadev_find(pdev); if (vgadev == NULL) { - /* Wow, it's not in the list, that shouldn't happen, + /* + * Wow, it's not in the list, that shouldn't happen, * let's fix us up and return invalid card */ spin_unlock_irqrestore(&vga_lock, flags); @@ -1309,7 +1322,7 @@ static ssize_t vga_arb_write(struct file *file, const char __user *buf, curr_pos += 7; remaining -= 7; pr_debug("client 0x%p called 'target'\n", priv); - /* if target is default */ + /* If target is default */ if (!strncmp(curr_pos, "default", 7)) pdev = pci_dev_get(vga_default_device()); else { @@ -1426,7 +1439,6 @@ static int vga_arb_open(struct inode *inode, struct file *file) priv->cards[0].io_cnt = 0; priv->cards[0].mem_cnt = 0; - return 0; } @@ -1460,7 +1472,7 @@ static int vga_arb_release(struct inode *inode, struct file *file) } /* - * callback any registered clients to let them know we have a + * Callback any registered clients to let them know we have a * change in VGA cards */ static void vga_arbiter_notify_clients(void) diff --git a/include/linux/vgaarb.h b/include/linux/vgaarb.h index b4b9137f9792..6d5465f8c3f2 100644 --- a/include/linux/vgaarb.h +++ b/include/linux/vgaarb.h @@ -96,7 +96,7 @@ static inline int vga_client_register(struct pci_dev *pdev, static inline int vga_get_interruptible(struct pci_dev *pdev, unsigned int rsrc) { - return vga_get(pdev, rsrc, 1); + return vga_get(pdev, rsrc, 1); } /** @@ -111,7 +111,7 @@ static inline int vga_get_interruptible(struct pci_dev *pdev, static inline int vga_get_uninterruptible(struct pci_dev *pdev, unsigned int rsrc) { - return vga_get(pdev, rsrc, 0); + return vga_get(pdev, rsrc, 0); } static inline void vga_client_unregister(struct pci_dev *pdev) From patchwork Tue Aug 8 22:34:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 132957 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2450404vqr; Tue, 8 Aug 2023 16:15:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEEiAe3OTvAO5ycTs39oXgIQl6JYjDgfJEnDtl7TcAVF5UfXN6+LkHVHAxM9N/XKdWKoxiJ X-Received: by 2002:a05:6871:707:b0:1ba:cc77:1d81 with SMTP id f7-20020a056871070700b001bacc771d81mr1309822oap.46.1691536519829; Tue, 08 Aug 2023 16:15:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691536519; cv=none; d=google.com; s=arc-20160816; b=XAN6ZeHqgzYtksFaNM0dVE+X64NXTQlS69Db14h2qtXt2c6DJIvV6BkRSexbrA9LzE uowQTDDZdab/0YPcsHj3kw5euqlkE6XTnhDGkknowonfLurQUpgSHUKxxebhca4Nrbfc gm0olEz3BksGDwoH2gwbtqyWBqQCYg7GO46U8YrG9YVobAa+Fg/jlpIgHAvFffT3/qp5 M07XFFUTPAncrB4J6uUi6UaiyDE43bxMdMWwbk+ES2DTafn2IZO12+DP066dlU7QYyoS MYKvrvZ1Ozp8ZLE6WSpd3hbHjIhmT0cKtKfH7X4QDK1XywZXVDBv7FX6/jxHCsXs5sHy KgmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=n2KFV/GN0Dmb6et1uDl+6TYtEpvdFh6+eq04+vTqbWA=; fh=qsseV3tytAHM2HZZxVXgyuVrZmCUssrmDLdACHe2FM8=; b=NgYHWfeAcFTRc+I180mduPH3JZJhKh12vfBVebOPNi1LzH3wFpxi7f8kAfOuimpqUX QB0jJzEgZzMV9lw40gle7SrWcrlMJajbCs2rhrNRVm3ADW0FtWVK3IPCwxmw/moQTM3E sb/KQnPPQWG2g9Wi8N+09Vr6hVD7eWbBlNXefgnZlXEjYSCW7vcCAO3gTur/uupDnBLx rh135Yu+xrNiBG9ucP6koQe8U8B9CXQEhJl+S9ZyakkVzooJztJHvwdeuDzihi/Cnysm ps3lBz6qHEaIMK/YKH+OuYF6fumP4OFb+SoS2z2Y4ALqhgaSEiesQpAxZZ6QC3kbydh3 D08g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=VzX0NaB3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v24-20020a63f218000000b005653443511bsi14545pgh.74.2023.08.08.16.15.06; Tue, 08 Aug 2023 16:15:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=VzX0NaB3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231346AbjHHWfX (ORCPT + 99 others); Tue, 8 Aug 2023 18:35:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48676 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231868AbjHHWfM (ORCPT ); Tue, 8 Aug 2023 18:35:12 -0400 Received: from out-69.mta1.migadu.com (out-69.mta1.migadu.com [IPv6:2001:41d0:203:375::45]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5380219BF for ; Tue, 8 Aug 2023 15:34:58 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1691534084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=n2KFV/GN0Dmb6et1uDl+6TYtEpvdFh6+eq04+vTqbWA=; b=VzX0NaB351C6DD8+HdAwI+2BBgaKp2DsPKyaTS6As2g7L5PxYjrvf5vfDSVgcA0J8YI6PJ GA6YFt8Nh5z4a8MaCiHjB2y67MO/1paidHZYY/cbgJNT8C4i9ceGIzVl/Ji2kJbAJAJ+a+ MLiStpKVoDyv4jBAwc2FEAMw/u4IdxM= From: Sui Jingfeng To: Bjorn Helgaas Cc: Dave Airlie , Daniel Vetter , linux-pci@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng , Andi Shyti Subject: [PATCH v2 11/11] PCI/VGA: Replace full MIT license text with SPDX identifier Date: Wed, 9 Aug 2023 06:34:12 +0800 Message-Id: <20230808223412.1743176-12-sui.jingfeng@linux.dev> In-Reply-To: <20230808223412.1743176-1-sui.jingfeng@linux.dev> References: <20230808223412.1743176-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773704598121503124 X-GMAIL-MSGID: 1773704598121503124 From: Sui Jingfeng Per Documentation/process/license-rules.rst, the SPDX MIT identifier is equivalent to including the entire MIT license text from LICENSES/preferred/MIT. Replace the MIT license text with the equivalent SPDX identifier. Signed-off-by: Sui Jingfeng Reviewed-by: Andi Shyti --- include/linux/vgaarb.h | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/include/linux/vgaarb.h b/include/linux/vgaarb.h index 6d5465f8c3f2..97129a1bbb7d 100644 --- a/include/linux/vgaarb.h +++ b/include/linux/vgaarb.h @@ -1,3 +1,5 @@ +/* SPDX-License-Identifier: MIT */ + /* * The VGA aribiter manages VGA space routing and VGA resource decode to * allow multiple VGA devices to be used in a system in a safe way. @@ -5,27 +7,6 @@ * (C) Copyright 2005 Benjamin Herrenschmidt * (C) Copyright 2007 Paulo R. Zanoni * (C) Copyright 2007, 2009 Tiago Vignatti - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS - * IN THE SOFTWARE. - * */ #ifndef LINUX_VGA_H