From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E1E6C433B4 for ; Fri, 21 May 2021 01:16:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 51BEB61244 for ; Fri, 21 May 2021 01:16:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236511AbhEUBSA (ORCPT ); Thu, 20 May 2021 21:18:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60834 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236106AbhEUBR5 (ORCPT ); Thu, 20 May 2021 21:17:57 -0400 Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 91309C061574; Thu, 20 May 2021 18:16:35 -0700 (PDT) Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4FmTG80RMQz9sV5; Fri, 21 May 2021 11:16:32 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=canb.auug.org.au; s=201702; t=1621559793; bh=0WNkIgrA5cfmh3dmtALKkENB1bfAKE9i33zwcoPdfNE=; h=Date:From:To:Cc:Subject:From; b=naCHoUABSw8zQLb3bEhbRCRnS5kjvp2zFRi5996J338KmrLaOpEZ4Vajaq+XBrq2/ HaITpAVVYsZMtFLd2qZuaQfIeANZtVAHAeDIqf8XOU1ntu7DRaD/MGa3KAT/FO7fCy gT974IUryYPpxWR9LRO5AXgtroikkExXyMtO9MZgWfVLZR6AmRvdTOZfGcJNs2iQ9r hb+l56TkvayW+/9LViPn+jwt2dT2dP5Z5go5xjp2+s5KsDPFtdYJmk5ST0xT8ByFfn IC1RcjEqSQr77qkhsCilDsFBd02o1aIUezVEM00985l+9Fa0hCy9LAeFmSs3HN9T5s x7t9zUL5FMpjQ== Date: Fri, 21 May 2021 11:16:31 +1000 From: Stephen Rothwell To: Alex Deucher , Daniel Vetter , Intel Graphics , DRI Cc: Alex Deucher , Andrey Grodzovsky , Christian =?UTF-8?B?S8O2bmln?= , Linux Kernel Mailing List , Linux Next Mailing List Subject: linux-next: manual merge of the amdgpu tree with the drm-misc tree Message-ID: <20210521111631.76bc1636@canb.auug.org.au> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/GIQsj9oI_7T=LGV07W5ScTp"; protocol="application/pgp-signature"; micalg=pgp-sha256 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --Sig_/GIQsj9oI_7T=LGV07W5ScTp Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi all, Today's linux-next merge of the amdgpu tree got a conflict in: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c between commit: 35bba8313b95 ("drm/amdgpu: Convert driver sysfs attributes to static attr= ibutes") from the drm-misc tree and commit: a614b336f1c1 ("drm/amdgpu: fix coding style and documentation in amdgpu_g= tt_mgr.c") from the amdgpu tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. --=20 Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c index a4404da8ca6d,8860545344c7..000000000000 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c @@@ -75,75 -80,6 +80,16 @@@ static DEVICE_ATTR(mem_info_gtt_total,=20 static DEVICE_ATTR(mem_info_gtt_used, S_IRUGO, amdgpu_mem_info_gtt_used_show, NULL); =20 +static struct attribute *amdgpu_gtt_mgr_attributes[] =3D { + &dev_attr_mem_info_gtt_total.attr, + &dev_attr_mem_info_gtt_used.attr, + NULL +}; + +const struct attribute_group amdgpu_gtt_mgr_attr_group =3D { + .attrs =3D amdgpu_gtt_mgr_attributes +}; + - static const struct ttm_resource_manager_func amdgpu_gtt_mgr_func; - /** - * amdgpu_gtt_mgr_init - init GTT manager and DRM MM - * - * @adev: amdgpu_device pointer - * @gtt_size: maximum size of GTT - * - * Allocate and initialize the GTT manager. - */ - int amdgpu_gtt_mgr_init(struct amdgpu_device *adev, uint64_t gtt_size) - { - struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; - struct ttm_resource_manager *man =3D &mgr->manager; - uint64_t start, size; -=20 - man->use_tt =3D true; - man->func =3D &amdgpu_gtt_mgr_func; -=20 - ttm_resource_manager_init(man, gtt_size >> PAGE_SHIFT); -=20 - start =3D AMDGPU_GTT_MAX_TRANSFER_SIZE * AMDGPU_GTT_NUM_TRANSFER_WINDOWS; - size =3D (adev->gmc.gart_size >> PAGE_SHIFT) - start; - drm_mm_init(&mgr->mm, start, size); - spin_lock_init(&mgr->lock); - atomic64_set(&mgr->available, gtt_size >> PAGE_SHIFT); -=20 - ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, &mgr->manager); - ttm_resource_manager_set_used(man, true); - return 0; - } -=20 - /** - * amdgpu_gtt_mgr_fini - free and destroy GTT manager - * - * @adev: amdgpu_device pointer - * - * Destroy and free the GTT manager, returns -EBUSY if ranges are still - * allocated inside it. - */ - void amdgpu_gtt_mgr_fini(struct amdgpu_device *adev) - { - struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; - struct ttm_resource_manager *man =3D &mgr->manager; - int ret; -=20 - ttm_resource_manager_set_used(man, false); -=20 - ret =3D ttm_resource_manager_evict_all(&adev->mman.bdev, man); - if (ret) - return; -=20 - spin_lock(&mgr->lock); - drm_mm_takedown(&mgr->mm); - spin_unlock(&mgr->lock); -=20 - ttm_resource_manager_cleanup(man); - ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, NULL); - } -=20 /** * amdgpu_gtt_mgr_has_gart_addr - Check if mem has address space * @@@ -306,3 -249,76 +259,61 @@@ static const struct ttm_resource_manage .free =3D amdgpu_gtt_mgr_del, .debug =3D amdgpu_gtt_mgr_debug }; +=20 + /** + * amdgpu_gtt_mgr_init - init GTT manager and DRM MM + * + * @adev: amdgpu_device pointer + * @gtt_size: maximum size of GTT + * + * Allocate and initialize the GTT manager. + */ + int amdgpu_gtt_mgr_init(struct amdgpu_device *adev, uint64_t gtt_size) + { + struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; + struct ttm_resource_manager *man =3D &mgr->manager; + uint64_t start, size; - int ret; +=20 + man->use_tt =3D true; + man->func =3D &amdgpu_gtt_mgr_func; +=20 + ttm_resource_manager_init(man, gtt_size >> PAGE_SHIFT); +=20 + start =3D AMDGPU_GTT_MAX_TRANSFER_SIZE * AMDGPU_GTT_NUM_TRANSFER_WINDOWS; + size =3D (adev->gmc.gart_size >> PAGE_SHIFT) - start; + drm_mm_init(&mgr->mm, start, size); + spin_lock_init(&mgr->lock); + atomic64_set(&mgr->available, gtt_size >> PAGE_SHIFT); +=20 - ret =3D device_create_file(adev->dev, &dev_attr_mem_info_gtt_total); - if (ret) { - DRM_ERROR("Failed to create device file mem_info_gtt_total\n"); - return ret; - } - ret =3D device_create_file(adev->dev, &dev_attr_mem_info_gtt_used); - if (ret) { - DRM_ERROR("Failed to create device file mem_info_gtt_used\n"); - return ret; - } - + ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, &mgr->manager); + ttm_resource_manager_set_used(man, true); + return 0; + } +=20 + /** + * amdgpu_gtt_mgr_fini - free and destroy GTT manager + * + * @adev: amdgpu_device pointer + * + * Destroy and free the GTT manager, returns -EBUSY if ranges are still + * allocated inside it. + */ + void amdgpu_gtt_mgr_fini(struct amdgpu_device *adev) + { + struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; + struct ttm_resource_manager *man =3D &mgr->manager; + int ret; +=20 + ttm_resource_manager_set_used(man, false); +=20 + ret =3D ttm_resource_manager_evict_all(&adev->mman.bdev, man); + if (ret) + return; +=20 + spin_lock(&mgr->lock); + drm_mm_takedown(&mgr->mm); + spin_unlock(&mgr->lock); +=20 - device_remove_file(adev->dev, &dev_attr_mem_info_gtt_total); - device_remove_file(adev->dev, &dev_attr_mem_info_gtt_used); - + ttm_resource_manager_cleanup(man); + ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, NULL); + } --Sig_/GIQsj9oI_7T=LGV07W5ScTp Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmCnCe8ACgkQAVBC80lX 0GwKIwgAhjuZMVGTmOGOWLUbWqTbS90TLgG+5O1tgSLqsHhxQuJ7OuX2TXivSEQ9 7WrzDwBVJOtEsz0mBk02/XHYjBW/mdpSCjb0so92d3GnIC+FtSeztwbl5dY5jgur CnKWE0QI7V/z9ckGH+cgfgUE3QNgzjRzLdTjebRn5pKYP4gh1FWujBCS3g96BK3U EEBjRtSwWiccwejdjbqZz/gfhWX+jJ/m/bH6N3J5stYUINgY9hyH8fVSw2z8PgrX kFWRirmVbGAu6KCG7W2qLT5yha/jA9im7m28mXh616v6wY0YFCxWdRnmH8CnCAIp r6hNVjLCvObBYMS2c7Mux4H08qF6Dw== =3Byw -----END PGP SIGNATURE----- --Sig_/GIQsj9oI_7T=LGV07W5ScTp-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5883CC43460 for ; Fri, 21 May 2021 01:16:41 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5878061353 for ; Fri, 21 May 2021 01:16:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5878061353 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=canb.auug.org.au Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 93E466F58A; Fri, 21 May 2021 01:16:39 +0000 (UTC) Received: from ozlabs.org (ozlabs.org [IPv6:2401:3900:2:1::2]) by gabe.freedesktop.org (Postfix) with ESMTPS id BC2B46F58A; Fri, 21 May 2021 01:16:35 +0000 (UTC) Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4FmTG80RMQz9sV5; Fri, 21 May 2021 11:16:32 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=canb.auug.org.au; s=201702; t=1621559793; bh=0WNkIgrA5cfmh3dmtALKkENB1bfAKE9i33zwcoPdfNE=; h=Date:From:To:Cc:Subject:From; b=naCHoUABSw8zQLb3bEhbRCRnS5kjvp2zFRi5996J338KmrLaOpEZ4Vajaq+XBrq2/ HaITpAVVYsZMtFLd2qZuaQfIeANZtVAHAeDIqf8XOU1ntu7DRaD/MGa3KAT/FO7fCy gT974IUryYPpxWR9LRO5AXgtroikkExXyMtO9MZgWfVLZR6AmRvdTOZfGcJNs2iQ9r hb+l56TkvayW+/9LViPn+jwt2dT2dP5Z5go5xjp2+s5KsDPFtdYJmk5ST0xT8ByFfn IC1RcjEqSQr77qkhsCilDsFBd02o1aIUezVEM00985l+9Fa0hCy9LAeFmSs3HN9T5s x7t9zUL5FMpjQ== Date: Fri, 21 May 2021 11:16:31 +1000 From: Stephen Rothwell To: Alex Deucher , Daniel Vetter , Intel Graphics , DRI Subject: linux-next: manual merge of the amdgpu tree with the drm-misc tree Message-ID: <20210521111631.76bc1636@canb.auug.org.au> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/GIQsj9oI_7T=LGV07W5ScTp"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alex Deucher , Linux Next Mailing List , Christian =?UTF-8?B?S8O2bmln?= , Linux Kernel Mailing List Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" --Sig_/GIQsj9oI_7T=LGV07W5ScTp Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi all, Today's linux-next merge of the amdgpu tree got a conflict in: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c between commit: 35bba8313b95 ("drm/amdgpu: Convert driver sysfs attributes to static attr= ibutes") from the drm-misc tree and commit: a614b336f1c1 ("drm/amdgpu: fix coding style and documentation in amdgpu_g= tt_mgr.c") from the amdgpu tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. --=20 Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c index a4404da8ca6d,8860545344c7..000000000000 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c @@@ -75,75 -80,6 +80,16 @@@ static DEVICE_ATTR(mem_info_gtt_total,=20 static DEVICE_ATTR(mem_info_gtt_used, S_IRUGO, amdgpu_mem_info_gtt_used_show, NULL); =20 +static struct attribute *amdgpu_gtt_mgr_attributes[] =3D { + &dev_attr_mem_info_gtt_total.attr, + &dev_attr_mem_info_gtt_used.attr, + NULL +}; + +const struct attribute_group amdgpu_gtt_mgr_attr_group =3D { + .attrs =3D amdgpu_gtt_mgr_attributes +}; + - static const struct ttm_resource_manager_func amdgpu_gtt_mgr_func; - /** - * amdgpu_gtt_mgr_init - init GTT manager and DRM MM - * - * @adev: amdgpu_device pointer - * @gtt_size: maximum size of GTT - * - * Allocate and initialize the GTT manager. - */ - int amdgpu_gtt_mgr_init(struct amdgpu_device *adev, uint64_t gtt_size) - { - struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; - struct ttm_resource_manager *man =3D &mgr->manager; - uint64_t start, size; -=20 - man->use_tt =3D true; - man->func =3D &amdgpu_gtt_mgr_func; -=20 - ttm_resource_manager_init(man, gtt_size >> PAGE_SHIFT); -=20 - start =3D AMDGPU_GTT_MAX_TRANSFER_SIZE * AMDGPU_GTT_NUM_TRANSFER_WINDOWS; - size =3D (adev->gmc.gart_size >> PAGE_SHIFT) - start; - drm_mm_init(&mgr->mm, start, size); - spin_lock_init(&mgr->lock); - atomic64_set(&mgr->available, gtt_size >> PAGE_SHIFT); -=20 - ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, &mgr->manager); - ttm_resource_manager_set_used(man, true); - return 0; - } -=20 - /** - * amdgpu_gtt_mgr_fini - free and destroy GTT manager - * - * @adev: amdgpu_device pointer - * - * Destroy and free the GTT manager, returns -EBUSY if ranges are still - * allocated inside it. - */ - void amdgpu_gtt_mgr_fini(struct amdgpu_device *adev) - { - struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; - struct ttm_resource_manager *man =3D &mgr->manager; - int ret; -=20 - ttm_resource_manager_set_used(man, false); -=20 - ret =3D ttm_resource_manager_evict_all(&adev->mman.bdev, man); - if (ret) - return; -=20 - spin_lock(&mgr->lock); - drm_mm_takedown(&mgr->mm); - spin_unlock(&mgr->lock); -=20 - ttm_resource_manager_cleanup(man); - ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, NULL); - } -=20 /** * amdgpu_gtt_mgr_has_gart_addr - Check if mem has address space * @@@ -306,3 -249,76 +259,61 @@@ static const struct ttm_resource_manage .free =3D amdgpu_gtt_mgr_del, .debug =3D amdgpu_gtt_mgr_debug }; +=20 + /** + * amdgpu_gtt_mgr_init - init GTT manager and DRM MM + * + * @adev: amdgpu_device pointer + * @gtt_size: maximum size of GTT + * + * Allocate and initialize the GTT manager. + */ + int amdgpu_gtt_mgr_init(struct amdgpu_device *adev, uint64_t gtt_size) + { + struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; + struct ttm_resource_manager *man =3D &mgr->manager; + uint64_t start, size; - int ret; +=20 + man->use_tt =3D true; + man->func =3D &amdgpu_gtt_mgr_func; +=20 + ttm_resource_manager_init(man, gtt_size >> PAGE_SHIFT); +=20 + start =3D AMDGPU_GTT_MAX_TRANSFER_SIZE * AMDGPU_GTT_NUM_TRANSFER_WINDOWS; + size =3D (adev->gmc.gart_size >> PAGE_SHIFT) - start; + drm_mm_init(&mgr->mm, start, size); + spin_lock_init(&mgr->lock); + atomic64_set(&mgr->available, gtt_size >> PAGE_SHIFT); +=20 - ret =3D device_create_file(adev->dev, &dev_attr_mem_info_gtt_total); - if (ret) { - DRM_ERROR("Failed to create device file mem_info_gtt_total\n"); - return ret; - } - ret =3D device_create_file(adev->dev, &dev_attr_mem_info_gtt_used); - if (ret) { - DRM_ERROR("Failed to create device file mem_info_gtt_used\n"); - return ret; - } - + ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, &mgr->manager); + ttm_resource_manager_set_used(man, true); + return 0; + } +=20 + /** + * amdgpu_gtt_mgr_fini - free and destroy GTT manager + * + * @adev: amdgpu_device pointer + * + * Destroy and free the GTT manager, returns -EBUSY if ranges are still + * allocated inside it. + */ + void amdgpu_gtt_mgr_fini(struct amdgpu_device *adev) + { + struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; + struct ttm_resource_manager *man =3D &mgr->manager; + int ret; +=20 + ttm_resource_manager_set_used(man, false); +=20 + ret =3D ttm_resource_manager_evict_all(&adev->mman.bdev, man); + if (ret) + return; +=20 + spin_lock(&mgr->lock); + drm_mm_takedown(&mgr->mm); + spin_unlock(&mgr->lock); +=20 - device_remove_file(adev->dev, &dev_attr_mem_info_gtt_total); - device_remove_file(adev->dev, &dev_attr_mem_info_gtt_used); - + ttm_resource_manager_cleanup(man); + ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, NULL); + } --Sig_/GIQsj9oI_7T=LGV07W5ScTp Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmCnCe8ACgkQAVBC80lX 0GwKIwgAhjuZMVGTmOGOWLUbWqTbS90TLgG+5O1tgSLqsHhxQuJ7OuX2TXivSEQ9 7WrzDwBVJOtEsz0mBk02/XHYjBW/mdpSCjb0so92d3GnIC+FtSeztwbl5dY5jgur CnKWE0QI7V/z9ckGH+cgfgUE3QNgzjRzLdTjebRn5pKYP4gh1FWujBCS3g96BK3U EEBjRtSwWiccwejdjbqZz/gfhWX+jJ/m/bH6N3J5stYUINgY9hyH8fVSw2z8PgrX kFWRirmVbGAu6KCG7W2qLT5yha/jA9im7m28mXh616v6wY0YFCxWdRnmH8CnCAIp r6hNVjLCvObBYMS2c7Mux4H08qF6Dw== =3Byw -----END PGP SIGNATURE----- --Sig_/GIQsj9oI_7T=LGV07W5ScTp-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 82D72C433B4 for ; Fri, 21 May 2021 01:16:45 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E4BBB61074 for ; Fri, 21 May 2021 01:16:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E4BBB61074 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=canb.auug.org.au Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3957B6F59B; Fri, 21 May 2021 01:16:40 +0000 (UTC) Received: from ozlabs.org (ozlabs.org [IPv6:2401:3900:2:1::2]) by gabe.freedesktop.org (Postfix) with ESMTPS id BC2B46F58A; Fri, 21 May 2021 01:16:35 +0000 (UTC) Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4FmTG80RMQz9sV5; Fri, 21 May 2021 11:16:32 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=canb.auug.org.au; s=201702; t=1621559793; bh=0WNkIgrA5cfmh3dmtALKkENB1bfAKE9i33zwcoPdfNE=; h=Date:From:To:Cc:Subject:From; b=naCHoUABSw8zQLb3bEhbRCRnS5kjvp2zFRi5996J338KmrLaOpEZ4Vajaq+XBrq2/ HaITpAVVYsZMtFLd2qZuaQfIeANZtVAHAeDIqf8XOU1ntu7DRaD/MGa3KAT/FO7fCy gT974IUryYPpxWR9LRO5AXgtroikkExXyMtO9MZgWfVLZR6AmRvdTOZfGcJNs2iQ9r hb+l56TkvayW+/9LViPn+jwt2dT2dP5Z5go5xjp2+s5KsDPFtdYJmk5ST0xT8ByFfn IC1RcjEqSQr77qkhsCilDsFBd02o1aIUezVEM00985l+9Fa0hCy9LAeFmSs3HN9T5s x7t9zUL5FMpjQ== Date: Fri, 21 May 2021 11:16:31 +1000 From: Stephen Rothwell To: Alex Deucher , Daniel Vetter , Intel Graphics , DRI Message-ID: <20210521111631.76bc1636@canb.auug.org.au> MIME-Version: 1.0 Subject: [Intel-gfx] linux-next: manual merge of the amdgpu tree with the drm-misc tree X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alex Deucher , Andrey Grodzovsky , Linux Next Mailing List , Christian =?UTF-8?B?S8O2bmln?= , Linux Kernel Mailing List Content-Type: multipart/mixed; boundary="===============1551947293==" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" --===============1551947293== Content-Type: multipart/signed; boundary="Sig_/GIQsj9oI_7T=LGV07W5ScTp"; protocol="application/pgp-signature"; micalg=pgp-sha256 --Sig_/GIQsj9oI_7T=LGV07W5ScTp Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi all, Today's linux-next merge of the amdgpu tree got a conflict in: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c between commit: 35bba8313b95 ("drm/amdgpu: Convert driver sysfs attributes to static attr= ibutes") from the drm-misc tree and commit: a614b336f1c1 ("drm/amdgpu: fix coding style and documentation in amdgpu_g= tt_mgr.c") from the amdgpu tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. --=20 Cheers, Stephen Rothwell diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c index a4404da8ca6d,8860545344c7..000000000000 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c @@@ -75,75 -80,6 +80,16 @@@ static DEVICE_ATTR(mem_info_gtt_total,=20 static DEVICE_ATTR(mem_info_gtt_used, S_IRUGO, amdgpu_mem_info_gtt_used_show, NULL); =20 +static struct attribute *amdgpu_gtt_mgr_attributes[] =3D { + &dev_attr_mem_info_gtt_total.attr, + &dev_attr_mem_info_gtt_used.attr, + NULL +}; + +const struct attribute_group amdgpu_gtt_mgr_attr_group =3D { + .attrs =3D amdgpu_gtt_mgr_attributes +}; + - static const struct ttm_resource_manager_func amdgpu_gtt_mgr_func; - /** - * amdgpu_gtt_mgr_init - init GTT manager and DRM MM - * - * @adev: amdgpu_device pointer - * @gtt_size: maximum size of GTT - * - * Allocate and initialize the GTT manager. - */ - int amdgpu_gtt_mgr_init(struct amdgpu_device *adev, uint64_t gtt_size) - { - struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; - struct ttm_resource_manager *man =3D &mgr->manager; - uint64_t start, size; -=20 - man->use_tt =3D true; - man->func =3D &amdgpu_gtt_mgr_func; -=20 - ttm_resource_manager_init(man, gtt_size >> PAGE_SHIFT); -=20 - start =3D AMDGPU_GTT_MAX_TRANSFER_SIZE * AMDGPU_GTT_NUM_TRANSFER_WINDOWS; - size =3D (adev->gmc.gart_size >> PAGE_SHIFT) - start; - drm_mm_init(&mgr->mm, start, size); - spin_lock_init(&mgr->lock); - atomic64_set(&mgr->available, gtt_size >> PAGE_SHIFT); -=20 - ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, &mgr->manager); - ttm_resource_manager_set_used(man, true); - return 0; - } -=20 - /** - * amdgpu_gtt_mgr_fini - free and destroy GTT manager - * - * @adev: amdgpu_device pointer - * - * Destroy and free the GTT manager, returns -EBUSY if ranges are still - * allocated inside it. - */ - void amdgpu_gtt_mgr_fini(struct amdgpu_device *adev) - { - struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; - struct ttm_resource_manager *man =3D &mgr->manager; - int ret; -=20 - ttm_resource_manager_set_used(man, false); -=20 - ret =3D ttm_resource_manager_evict_all(&adev->mman.bdev, man); - if (ret) - return; -=20 - spin_lock(&mgr->lock); - drm_mm_takedown(&mgr->mm); - spin_unlock(&mgr->lock); -=20 - ttm_resource_manager_cleanup(man); - ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, NULL); - } -=20 /** * amdgpu_gtt_mgr_has_gart_addr - Check if mem has address space * @@@ -306,3 -249,76 +259,61 @@@ static const struct ttm_resource_manage .free =3D amdgpu_gtt_mgr_del, .debug =3D amdgpu_gtt_mgr_debug }; +=20 + /** + * amdgpu_gtt_mgr_init - init GTT manager and DRM MM + * + * @adev: amdgpu_device pointer + * @gtt_size: maximum size of GTT + * + * Allocate and initialize the GTT manager. + */ + int amdgpu_gtt_mgr_init(struct amdgpu_device *adev, uint64_t gtt_size) + { + struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; + struct ttm_resource_manager *man =3D &mgr->manager; + uint64_t start, size; - int ret; +=20 + man->use_tt =3D true; + man->func =3D &amdgpu_gtt_mgr_func; +=20 + ttm_resource_manager_init(man, gtt_size >> PAGE_SHIFT); +=20 + start =3D AMDGPU_GTT_MAX_TRANSFER_SIZE * AMDGPU_GTT_NUM_TRANSFER_WINDOWS; + size =3D (adev->gmc.gart_size >> PAGE_SHIFT) - start; + drm_mm_init(&mgr->mm, start, size); + spin_lock_init(&mgr->lock); + atomic64_set(&mgr->available, gtt_size >> PAGE_SHIFT); +=20 - ret =3D device_create_file(adev->dev, &dev_attr_mem_info_gtt_total); - if (ret) { - DRM_ERROR("Failed to create device file mem_info_gtt_total\n"); - return ret; - } - ret =3D device_create_file(adev->dev, &dev_attr_mem_info_gtt_used); - if (ret) { - DRM_ERROR("Failed to create device file mem_info_gtt_used\n"); - return ret; - } - + ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, &mgr->manager); + ttm_resource_manager_set_used(man, true); + return 0; + } +=20 + /** + * amdgpu_gtt_mgr_fini - free and destroy GTT manager + * + * @adev: amdgpu_device pointer + * + * Destroy and free the GTT manager, returns -EBUSY if ranges are still + * allocated inside it. + */ + void amdgpu_gtt_mgr_fini(struct amdgpu_device *adev) + { + struct amdgpu_gtt_mgr *mgr =3D &adev->mman.gtt_mgr; + struct ttm_resource_manager *man =3D &mgr->manager; + int ret; +=20 + ttm_resource_manager_set_used(man, false); +=20 + ret =3D ttm_resource_manager_evict_all(&adev->mman.bdev, man); + if (ret) + return; +=20 + spin_lock(&mgr->lock); + drm_mm_takedown(&mgr->mm); + spin_unlock(&mgr->lock); +=20 - device_remove_file(adev->dev, &dev_attr_mem_info_gtt_total); - device_remove_file(adev->dev, &dev_attr_mem_info_gtt_used); - + ttm_resource_manager_cleanup(man); + ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_TT, NULL); + } --Sig_/GIQsj9oI_7T=LGV07W5ScTp Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmCnCe8ACgkQAVBC80lX 0GwKIwgAhjuZMVGTmOGOWLUbWqTbS90TLgG+5O1tgSLqsHhxQuJ7OuX2TXivSEQ9 7WrzDwBVJOtEsz0mBk02/XHYjBW/mdpSCjb0so92d3GnIC+FtSeztwbl5dY5jgur CnKWE0QI7V/z9ckGH+cgfgUE3QNgzjRzLdTjebRn5pKYP4gh1FWujBCS3g96BK3U EEBjRtSwWiccwejdjbqZz/gfhWX+jJ/m/bH6N3J5stYUINgY9hyH8fVSw2z8PgrX kFWRirmVbGAu6KCG7W2qLT5yha/jA9im7m28mXh616v6wY0YFCxWdRnmH8CnCAIp r6hNVjLCvObBYMS2c7Mux4H08qF6Dw== =3Byw -----END PGP SIGNATURE----- --Sig_/GIQsj9oI_7T=LGV07W5ScTp-- --===============1551947293== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx --===============1551947293==--