Received: by 2002:a05:7412:251c:b0:e2:908c:2ebd with SMTP id w28csp2320445rda; Tue, 24 Oct 2023 21:44:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE3yyHQaTC8HhqKtd6KgcSHz/YETe67ujYvqdac/WNBVLF5DfJbl///lfN8Mq6PipWtu4Sr X-Received: by 2002:a25:25c9:0:b0:da0:478a:940 with SMTP id l192-20020a2525c9000000b00da0478a0940mr3383374ybl.41.1698209081715; Tue, 24 Oct 2023 21:44:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698209081; cv=none; d=google.com; s=arc-20160816; b=xLHHmTzLRQda8+sbZ9ceHHkRGbcRsdPSTIG+iYxnynTRJdl3iwBTdkBtZO8E4GMMWK 7iPbPyw/XbnPptqfn24sJZ4MG5lLxnb8+KyxYNmUtYgiY6gC8PkY/Ytd9npbiFX+pjrq /iVVbSl12Oc/QuylMs5/jrfT0NdLKYIvi+bQE7F5pL7JqFeNEgQSof/11Le7iLiU7U+l UO9WfkO6V5feUqwz9COi3/jEcQoQvZn/+PAs0FvSWE02vyUeHypEy1eJIiRuKx8Ki8sQ 6GFnCCOXOQskkzuTlL+SOTrdUNKNt6vt15rVcgf+YQexcfRy3Og81P66klKx8np1xJxk 3sJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:subject:cc:to:from:date :dkim-signature; bh=eZaO9fpaQtji7iLDzW5eW+yJsGU0yPYdhQ1Im0uTBXY=; fh=Yq9NgPdPNJ3f/a3H+WZ8kcj6ghWN4WvEK/lYOs8bYXI=; b=OnJcaEzpO6Plg3Du34wJ2tPz9CCCHUdeLT6XKHU4N9/Ru2XjkwWaKnPPmLFT0Pk+Zc H88SuK79u4Ht4+WFGEUjs7fkVAIa9Y+59Nnwu5yjyTT2me2yDSgqCkBXha11Cg3pncQw 7wUuTr0R56Z8FHceZKGFpbVI9bZsoDRoKomXWomKXm4qi/Sj0s8ZFTIJZsLOBAkAIjcP cexddzC+wNqxQ+k9S0W36GJB7ioOH3T0BQSLMK8asbtMzlGvNR2KGSvBegFu/1DNvppt jL3cjpjdpHmG0tGRdWh1bpDen73lDk0pkC8xgrD6r+ecGROb+rf/iYNHI8Q4w/IegDc3 eDlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@canb.auug.org.au header.s=201702 header.b="A/kR7n4F"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canb.auug.org.au Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id n197-20020a25d6ce000000b00d9ccb10a9absi8894536ybg.646.2023.10.24.21.44.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Oct 2023 21:44:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@canb.auug.org.au header.s=201702 header.b="A/kR7n4F"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canb.auug.org.au Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id B42CE801BCA5; Tue, 24 Oct 2023 21:44:38 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229688AbjJYEo1 (ORCPT + 99 others); Wed, 25 Oct 2023 00:44:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43666 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229456AbjJYEoZ (ORCPT ); Wed, 25 Oct 2023 00:44:25 -0400 Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EFAA09D; Tue, 24 Oct 2023 21:44:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canb.auug.org.au; s=201702; t=1698209061; bh=eZaO9fpaQtji7iLDzW5eW+yJsGU0yPYdhQ1Im0uTBXY=; h=Date:From:To:Cc:Subject:From; b=A/kR7n4Fqm+3+zX8QhC1OL94pWVBzrjn0966h8GQg5NF+nHdkyMLlLKva4KDX8V8J bCmC2UG8Ru/E+TMStx96l158icAiWj1nO5CbjqhjVeX773M+YRPXaamavdn22RruBY cIvDQ/ECYMc/Sa9g4Cb+wq1OMxwoBZChhGUuhy7ZU/YoMRKio5Egfpy/H7bp7jDwIn K8t5GIP1U1vlKClws8tPJwQQuvQo/mQj3H3HrLmLb4acmmVAzEupk8UyNKBwcvod87 8/1DaQMnEwuhbggOYr2dYBlOjjnZ5ois8aOB4mccY3MgddCdNDVHzp46eFuGCsAP/C 004nXsmwcJBaQ== 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 X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4SFbtX3Zgvz4wcc; Wed, 25 Oct 2023 15:44:20 +1100 (AEDT) Date: Wed, 25 Oct 2023 15:44:20 +1100 From: Stephen Rothwell To: Jason Gunthorpe , Joerg Roedel Cc: Jason Gunthorpe , Joerg Roedel , Linux Kernel Mailing List , Linux Next Mailing List , Lu Baolu , Nicolin Chen , Yi Liu Subject: linux-next: manual merge of the iommufd tree with the iommu tree Message-ID: <20231025154420.718e27af@canb.auug.org.au> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/2_R1etV5rzCjR+kCHxkEtiB"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Tue, 24 Oct 2023 21:44:38 -0700 (PDT) --Sig_/2_R1etV5rzCjR+kCHxkEtiB Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi all, Today's linux-next merge of the iommufd tree got a conflict in: include/linux/iommu.h between commits: 1c68cbc64fe6 ("iommu: Add IOMMU_DOMAIN_PLATFORM") 4601cd2d7c4c ("iommu: Add ops->domain_alloc_paging()") from the iommu tree and commits: 1621aef1fbfe ("iommu: Add IOMMU_DOMAIN_NESTED") 909f4abd1097 ("iommu: Add new iommu op to create domains owned by userspa= ce") 17dd7701a2e7 ("iommu: Pass in parent domain with user_data to domain_allo= c_user op") from the iommufd 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 include/linux/iommu.h index b5b254e205c6,f347bf31761f..000000000000 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@@ -64,8 -66,10 +66,11 @@@ struct iommu_domain_geometry=20 #define __IOMMU_DOMAIN_DMA_FQ (1U << 3) /* DMA-API uses flush queue */ =20 #define __IOMMU_DOMAIN_SVA (1U << 4) /* Shared process address space */ +#define __IOMMU_DOMAIN_PLATFORM (1U << 5) =20 + #define __IOMMU_DOMAIN_NESTED (1U << 5) /* User-managed address space ne= sted + on a stage-2 translation */ +=20 #define IOMMU_DOMAIN_ALLOC_FLAGS ~__IOMMU_DOMAIN_DMA_FQ /* * This are the possible domain-types @@@ -94,7 -96,7 +99,8 @@@ __IOMMU_DOMAIN_DMA_API | \ __IOMMU_DOMAIN_DMA_FQ) #define IOMMU_DOMAIN_SVA (__IOMMU_DOMAIN_SVA) +#define IOMMU_DOMAIN_PLATFORM (__IOMMU_DOMAIN_PLATFORM) + #define IOMMU_DOMAIN_NESTED (__IOMMU_DOMAIN_NESTED) =20 struct iommu_domain { unsigned type; @@@ -238,9 -327,19 +331,21 @@@ static inline int __iommu_copy_struct_f * op is allocated in the iommu driver and freed by the caller = after * use. The information type is one of enum iommu_hw_info_type = defined * in include/uapi/linux/iommufd.h. - * @domain_alloc: allocate iommu domain + * @domain_alloc: allocate and return an iommu domain if success. Otherwi= se + * NULL is returned. The domain is not fully initialized u= ntil + * the caller iommu_domain_alloc() returns. + * @domain_alloc_paging: Allocate an iommu_domain that can be used for + * UNMANAGED, DMA, and DMA_FQ domain types. + * @domain_alloc_user: Allocate an iommu domain corresponding to the input + * parameters as defined in include/uapi/linux/iommuf= d.h. + * Unlike @domain_alloc, it is called only by IOMMUFD= and + * must fully initialize the new domain before return. + * Upon success, if the @user_data is valid and the @= parent + * points to a kernel-managed domain, the new domain = must be + * IOMMU_DOMAIN_NESTED type; otherwise, the @parent m= ust be + * NULL while the @user_data can be optionally provid= ed, the + * new domain must support __IOMMU_DOMAIN_PAGING. + * Upon failure, ERR_PTR must be returned. * @probe_device: Add device to iommu driver handling * @release_device: Remove device from iommu driver handling * @probe_finalize: Do final setup work after the device is added to an I= OMMU @@@ -275,7 -372,9 +380,10 @@@ struct iommu_ops=20 =20 /* Domain allocation and freeing by the iommu driver */ struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type); + struct iommu_domain *(*domain_alloc_paging)(struct device *dev); + struct iommu_domain *(*domain_alloc_user)( + struct device *dev, u32 flags, struct iommu_domain *parent, + const struct iommu_user_data *user_data); =20 struct iommu_device *(*probe_device)(struct device *dev); void (*release_device)(struct device *dev); --Sig_/2_R1etV5rzCjR+kCHxkEtiB Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmU4nSQACgkQAVBC80lX 0GzuGwf/a5Qrp7MTssRYjN59+BHB0B9kOwo/YsfBQsuqTIV4QIGaVobvw/8cShVD OLb96Yw2E5YDogZeIcLqnDkGwsUgwtEn3gkGEFF6CF/g8UuTooHvu3d6ZV70bvuv sXPKDe/xvy8nNFpedbavpoSHjRbD+eNz31BCfyEKSvRwDgOWA+UbeifUPmgU3Hvr KVQiEinGvwxy9DpjOsDOU7ghUeJj7Y50SGtOUhkZbsiJBRWRA1xKJA3dtv1lUPB2 6L77W/L8O7w1Kqp3Vavu8rYXexmbeX4sOnUqDhvZXfWrRSWQJNJ0qfmzCn7fYPul jrcS8e9Kc0qB+d1Z0qXiK9pdL9l0BQ== =DnE6 -----END PGP SIGNATURE----- --Sig_/2_R1etV5rzCjR+kCHxkEtiB--