Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp10041563rwd; Wed, 21 Jun 2023 15:37:21 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4DbPzdUmeZMNlVzQClk+xv+wp7jHFHuWQa2hRlxapUNOgA3nNN8oagCMig1U+eWRJfvxi8 X-Received: by 2002:a17:902:dace:b0:1b6:783d:9ba7 with SMTP id q14-20020a170902dace00b001b6783d9ba7mr10408239plx.27.1687387040927; Wed, 21 Jun 2023 15:37:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687387040; cv=none; d=google.com; s=arc-20160816; b=w3ztIqAraCYEzByDzWijV8UzGVOXIQVyBrqUU7QFtDxiKPYmBLTVqiOS0QOgM0Lb5S dimeJ2Qj/IZZkjyKsk17gDiGlk+n1q3WSJsh7fO47pSMfRHs+jK5DsvZwO6HiH56ZCTk PivQyDO/C1BSxubNmn4G2ximFSzkCQRKCmnpK55xcLtyW8QhxT/2XhRqlEYj9dRD/1d9 J2ETxFfSKJmgKMY2haWeMIwtnP5WuR/xphgZICJOIk/sVxzPA+cjyVoH1E5d9D+oGi64 Y4v4IkKFKYfmzc/BNd7Mv+zOIZrK5qqkIZhh9DBGytMhoCxrYWC9X5zW+PKFVYdwRhrs 959g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:organization:references:in-reply-to:date :cc:to:from:subject:message-id:dkim-signature; bh=FmN6vynnk346Zef3QsDpwSts1f6YVa3MgD/3b47GBZg=; b=DSBFBI4xVUby0m6unSrZ2NG1NcgoTNLJT317GQKKuuGFAfnNKih/WdpCK0FVVBwB0z XDhmyhDRNuJh5CG9WCaVeNSzxMKBAMM2kOulJGjpOghuRkd6fDJkxrYNbYdCnDcrNJE1 xIia/iJMTBgJALKkw04O97Kz9HV6NdoCMdeDQj5COGS0mAzbCdIsjs4joBH4ZCX1CT19 ZgRgLaMHlwVJMr3Uiiewr9qHpdEfauSv3Ih7tkPWh5YU1TYfXljJ+Hq+I+BDQpPNKcy4 auFH79q9eSNZ5sgAMQlrTnEEBuqXTK2a2dywyhW8BFdfmcvXRnhm0zzGVOsmrB4NieIn fqPA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=HfM52FwF; 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=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c18-20020a170903235200b001a97bf417cdsi5778227plh.571.2023.06.21.15.37.05; Wed, 21 Jun 2023 15:37:20 -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=@redhat.com header.s=mimecast20190719 header.b=HfM52FwF; 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=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229437AbjFUWNA (ORCPT + 99 others); Wed, 21 Jun 2023 18:13:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34410 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229840AbjFUWM5 (ORCPT ); Wed, 21 Jun 2023 18:12:57 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B6ADAE57 for ; Wed, 21 Jun 2023 15:12:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1687385525; 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=FmN6vynnk346Zef3QsDpwSts1f6YVa3MgD/3b47GBZg=; b=HfM52FwF/SXT7KHOKtoABEPsU3kI3Je5zdnbtTBuCv7m87AO+wbueicHQv37L5MOk17tCd qwdjBnEVX7dq2Y5X7QbKh6DFV29pJWY29XqxdNhAelW3PC91io7pRXaqzHZDIi2GSazwVQ 9ifGlVX3/3/tGdrV/gwZDAePtviTI3s= Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-161-qRzhIFpCNcGu8Uw2xdf0Wg-1; Wed, 21 Jun 2023 18:12:04 -0400 X-MC-Unique: qRzhIFpCNcGu8Uw2xdf0Wg-1 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-62fe5abe808so91126d6.1 for ; Wed, 21 Jun 2023 15:12:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687385523; x=1689977523; h=mime-version:user-agent:content-transfer-encoding:organization :references:in-reply-to:date:cc:to:from:subject:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FmN6vynnk346Zef3QsDpwSts1f6YVa3MgD/3b47GBZg=; b=fzgLZh6UoryzpGL9wZvpJIrLqespc2sBzucucn4m3O3Zrs2n+F55xYVjkgKn62DIWY y3JpMCCf0bwIRhQks5RyN/bxEbfRzxCzcJkoO3kmfYD5Go7FD5+qSfCuUhyUio1i3Mu6 DYKyvtV3WrECKksjV6bAMWcQO/ae2fyB4y4m3nnzQwD6D/rs+kwJsDR+dJG99UfOfm61 Z+4mz2r7uk5k7qEI+JjGemESH9SrQCEXN5vL8o4va3VTOGbYxLZFYsGlb97rdVbidKDO tRu6CKPGwc7HxnCGw0xaJqo/GJhDNHthxH9/PxdAS1bxPscgfrixjS5ZjxVdXxetU4v5 oDLA== X-Gm-Message-State: AC+VfDyOtrdJpm+LBzX9AC4nUqg1UEj5vk7j6m8TFHznJ1jCyGJz2M3p 0uf6EHY7t5CimQ5GhvSS7NmtQl8iJIMsKaaXYk0Lto2ysUWejlDVmiFkNnngLtSOLx1kIPMzWj+ 75SS43Mg81ik0nThUO/sdar/s X-Received: by 2002:a05:6214:29e1:b0:62d:f04b:b51 with SMTP id jv1-20020a05621429e100b0062df04b0b51mr17438824qvb.29.1687385523582; Wed, 21 Jun 2023 15:12:03 -0700 (PDT) X-Received: by 2002:a05:6214:29e1:b0:62d:f04b:b51 with SMTP id jv1-20020a05621429e100b0062df04b0b51mr17438789qvb.29.1687385523319; Wed, 21 Jun 2023 15:12:03 -0700 (PDT) Received: from ?IPv6:2600:4040:5c62:8200::feb? ([2600:4040:5c62:8200::feb]) by smtp.gmail.com with ESMTPSA id p6-20020a0cf546000000b00623819de804sm2982153qvm.127.2023.06.21.15.12.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jun 2023 15:12:02 -0700 (PDT) Message-ID: <0afadc69f99a36bc9d03ecf54ff25859dbc10e28.camel@redhat.com> Subject: Re: [PATCH v6 0/8] PCI/VGA: introduce is_boot_device function callback to vga_client_register From: Lyude Paul To: Sui Jingfeng <15330273260@189.cn>, Alex Deucher , Christian Konig , Pan Xinhui , David Airlie , Daniel Vetter , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , Ben Skeggs , Karol Herbst , Bjorn Helgaas , Alex Williamson , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Hawking Zhang , Mario Limonciello , Lijo Lazar , YiPeng Chai , Andrey Grodzovsky , Somalapuram Amaranath , Bokun Zhang , Ville Syrjala , Li Yi , Sui Jingfeng , Jason Gunthorpe , Kevin Tian , Cornelia Huck , Yishai Hadas , Abhishek Sahu , Yi Liu Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org, linux-pci@vger.kernel.org, kvm@vger.kernel.org, loongson-kernel@lists.loongnix.cn Date: Wed, 21 Jun 2023 18:11:59 -0400 In-Reply-To: <20230612192550.197053-1-15330273260@189.cn> References: <20230612192550.197053-1-15330273260@189.cn> Organization: Red Hat Inc. Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.3 (3.48.3-1.fc38) MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 For the nouveau bits: Reviewed-by: Lyude Paul On Tue, 2023-06-13 at 03:25 +0800, Sui Jingfeng wrote: > From: Sui Jingfeng >=20 > The vga_is_firmware_default() function is arch-dependent, it's probably > wrong if we simply remove the arch guard. As the VRAM BAR which contains > firmware framebuffer may move, while the lfb_base and lfb_size members of > the screen_info does not change accordingly. In short, it should take the > re-allocation of the PCI BAR into consideration. >=20 > With the observation that device drivers or video aperture helpers may > have better knowledge about which PCI bar contains the firmware fb, > which could avoid the need to iterate all of the PCI BARs. But as a PCI > function at pci/vgaarb.c, vga_is_firmware_default() is not suitable to > make such an optimization since it is loaded too early. >=20 > There are PCI display controllers that don't have a dedicated VRAM bar, > this function will lose its effectiveness in such a case. Luckily, the > device driver can provide an accurate workaround. >=20 > Therefore, this patch introduces a callback that allows the device driver > to tell the VGAARB if the device is the default boot device. Also honor > the comment: "Clients have two callback mechanisms they can use" >=20 > Sui Jingfeng (8): > PCI/VGA: Use unsigned type for the io_state variable > PCI/VGA: Deal only with VGA class devices > PCI/VGA: Tidy up the code and comment format > PCI/VGA: Replace full MIT license text with SPDX identifier > video/aperture: Add a helper to detect if an aperture contains > firmware FB > PCI/VGA: Introduce is_boot_device function callback to > vga_client_register > drm/amdgpu: Implement the is_boot_device callback function > drm/radeon: Implement the is_boot_device callback function >=20 > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 12 +- > drivers/gpu/drm/drm_aperture.c | 16 +++ > drivers/gpu/drm/i915/display/intel_vga.c | 3 +- > drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +- > drivers/gpu/drm/radeon/radeon_device.c | 12 +- > drivers/pci/vgaarb.c | 153 +++++++++++++-------- > drivers/vfio/pci/vfio_pci_core.c | 2 +- > drivers/video/aperture.c | 29 ++++ > include/drm/drm_aperture.h | 2 + > include/linux/aperture.h | 7 + > include/linux/vgaarb.h | 35 ++--- > 11 files changed, 184 insertions(+), 89 deletions(-) >=20 --=20 Cheers, Lyude Paul (she/her) Software Engineer at Red Hat