From patchwork Mon Apr 11 09:40:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12808776 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 28B2EC433F5 for ; Mon, 11 Apr 2022 09:40:52 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.302797.516570 (Exim 4.92) (envelope-from ) id 1ndqXA-00029h-PC; Mon, 11 Apr 2022 09:40:32 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 302797.516570; Mon, 11 Apr 2022 09:40:32 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ndqXA-00029a-M4; Mon, 11 Apr 2022 09:40:32 +0000 Received: by outflank-mailman (input) for mailman id 302797; Mon, 11 Apr 2022 09:40:30 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ndqX8-00029U-OG for xen-devel@lists.xenproject.org; Mon, 11 Apr 2022 09:40:30 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 6c71e83e-b97b-11ec-a405-831a346695d4; Mon, 11 Apr 2022 11:40:29 +0200 (CEST) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-am5eur02lp2059.outbound.protection.outlook.com [104.47.4.59]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-40-c9mMjQfyOAqrDY-zPijx3w-1; Mon, 11 Apr 2022 11:40:28 +0200 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) by VI1PR04MB4255.eurprd04.prod.outlook.com (2603:10a6:803:3f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.29; Mon, 11 Apr 2022 09:40:25 +0000 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5592:2abe:fb16:6cd1]) by DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5592:2abe:fb16:6cd1%6]) with mapi id 15.20.5144.029; Mon, 11 Apr 2022 09:40:25 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 6c71e83e-b97b-11ec-a405-831a346695d4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1649670029; 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=uRgxPutiiXf/saj/uPcnRpqmyyUE+aGnEJJuikrPuyY=; b=boReclB7xzohkKsbguMNvdfBtD6ydU6AM3Ta2mygW9/xzHzyTipfza4CwKMG7lkFwRqmjr or32k2ep0j/IVkzCvFGXmPaWmq7KUn5Zwl/jMDdXD98hrYV91ge/kwxbf/ED7tJ/kuKIx3 LP2auhQtuScgzKNTvaIwwe3WMguixzY= X-MC-Unique: c9mMjQfyOAqrDY-zPijx3w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cj7XvMeYAotiN0cRAts3A3/X/fxFqCpO3A77Ueeylxp3ti7SZIAHoHk7JIF07kIffBBdAKUifSmEafLJ9UnDR9BPN7AVa8O2EAvR3UR9boq2lQB71YdYDVY4lmYqIeSe5xL/4AvWHM5Ep+SDTzGfWqJcXYyq2Eq8H1LLqprLzo8WjI+ZflQMnktVgV4LdH6gV2StBpJ6KvkqxKPuKLKigAwpQqRgXoEhBx5TzlWjRQXrIdW4jaVf+ZBkNReLaQutS3Wo/x0LFKilBK6dVf95fGhxXKDvM1b/CQeenHRxkefRGADz1JVSJ0xFqKMRY8d5KeQcm636x3kB7TKMcpGsQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uRgxPutiiXf/saj/uPcnRpqmyyUE+aGnEJJuikrPuyY=; b=aIKHyWPNH//hDystYO6BUpgaOVIUMXoLK712SjMlBuTndoSHCyWgaeFQtWmefNnYsSiMm2KOASReqe16Hh90abcf8Td0aGet714jP88YQocmEtBeI9iPpjRPFoD2DV3VtHEEwk2yKOn7wXnk7gPB3risP2g/293oxgXsBkvW5dH3nEgvNVba1ppqCHuXkyRE13Nv/1yRmnMWXk8eNjko72kfuo/qPK9Ur4HonFd/H+0s6vMRP/DelyPPAeg/9DtUHHMrR/OPM4rZFH+HHCKHEj1DDKGrDVzJxPpJkOv6ALvAnXjh6aeEVfMpnmg0J/WKMibWa6xhKbbGWneZTn6VwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <452b42cb-56a5-3f28-989f-c02e53334447@suse.com> Date: Mon, 11 Apr 2022 11:40:24 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: [PATCH 7/8] PCI: replace stray uses of PCI_{DEVFN,BDF}2() Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Kevin Tian , Paul Durrant , Julien Grall , Stefano Stabellini , Volodymyr Babchuk , Bertrand Marquis , Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= References: <4785ba7d-8759-7441-4ac8-0866489707b6@suse.com> In-Reply-To: <4785ba7d-8759-7441-4ac8-0866489707b6@suse.com> X-ClientProxiedBy: AM6PR10CA0067.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:80::44) To DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 200dc4f4-e19b-4789-641f-08da1b9f4e89 X-MS-TrafficTypeDiagnostic: VI1PR04MB4255:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NvkFD4KO5QOPvZAK6YRJN3ZgJ6X9LbusCnJGo8mIZUVh/ii4FQ4UktnlyYv7iLik+Cs2zKKGDOGw1yBQCXYWKWzIspXpDtGaVwpJ0D/cPlOnZM5/3XrSA5AmIWHfFyPO2QudY2EWoNsGCce3EI0u9Gifbe+cuTVKflmTinCAidpMVocuCWlHa/kaS8F6+ISIkb45mltR3uAgWVk1uPRkNcx+aJ0T7759shX7ekOdgECl2jIsynl1KIQnKJQ+fQVvhh725K8Hrg0CItGouEJBUBDDQMPI/H+QwXUNfsKPsOP6hyA/Qbt45nCQOv6TCFEZUvmkw2A+/N6tKscmd+9WgU7BOqZGRxsbjOcUbBTPkzq7Vl08kaT9R7KTJZtTOiuzJ/lIVwxoG5COCrXct0bSoeUOcSmUYriUJIFB419b3ua1YnHdPU0df6/8RwPSh5+o6qykE2EsFZjio8leouvQ3aY4vSeEESRo9jLSzCDn8sVFK3GgPink6n2n4rluAUk2J1dHUsjAyRPm/j0lz3BOnoJItpLQzAHh6cEm79cwnOXth7d+Tbkmsw0JdRIKCh4UrQ3xUOuVPfPTONPZHXXgvhVcwYgDWMIke1Kv0i+POu0wNO9o3brK3WIAROt0iBvCdXs+WzCUWtwjVqeP0Qn8alxlExlZirznG5LTqhbo2j3fgXtv+pJ8GgsLJHTDv8kOFzWklM7qAgFkwy/r1FfJc3/ff88gyNK9wpU3DzHb11NL7pvDG3Cr5UeGpY/VNmMM X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8616.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(86362001)(8936002)(7416002)(31696002)(38100700002)(2906002)(5660300002)(6512007)(66476007)(316002)(6506007)(26005)(54906003)(6916009)(2616005)(186003)(36756003)(508600001)(6486002)(66946007)(66556008)(4326008)(8676002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?jR7GfE2K28+3uRyXEi0N0zNbhXnn?= =?utf-8?q?A+GQT9zU2QjIXrn0ytyuWvy67TA2gWJjb89OcxYy/cgFBlkEuh7hMHKK9MEaafmCB?= =?utf-8?q?hXeR8K+3rvxc8pE7Itl+6fOYJKZ5o5R/Pr8IYClpo6w3DOhGL2OEV/QRIBbU+pfxr?= =?utf-8?q?7SLSSXf9RbS0n+CziCOJscNCdIDysHRWR/hOppaTpbKlHsUAaqGpbxRqthwLyyDN2?= =?utf-8?q?4q9bdxB7asZyKqjd/4XVuLBo3Vy7qmvZEnf0kVvado9CLDunhTD2z0lm0QJB2nuuh?= =?utf-8?q?ltaxZfKGq5aqPPyOclHO1gAtNCmZdAWPPe7FnAEh2lSxRRHlo4AMJFRIiKgXxr410?= =?utf-8?q?IXaIjnyzScng4h8ha9++QGtN5+mWP23Eti4loZoc5fAAQ48p+eXKBhcvgFLAefE3l?= =?utf-8?q?nn94TqGXKGWwL0v74k575xj8Z0uxD09Ublrma+Zze8zqTZ50aBfAi0+aQeT63kqvW?= =?utf-8?q?7pTyzvzlI2bk0J66ktSkcoXLzlMl4ESpla/rZmZKujjyUH8z6WqlSDtn3fFIu8FXJ?= =?utf-8?q?Y0WhhjrdUjNFIFHSOVLcGRT2nijyTG1B5fehvlKsaKV9GJX5z8cXFWzOsz+Fc4iv1?= =?utf-8?q?JA9fc80K3hLQ+e5dwDDKuhTaxg68x/s9K7Z53eivzyOJVcK7dY9m5P+B14124Shpe?= =?utf-8?q?R5ZqQzi7mQgayKtjy2F8RbXqeRF/xrz8+mkEl8wCxpiN+rLywJe9yRcFUvEhMHQew?= =?utf-8?q?cijJH6pshsL8XqMO2mjkf/hy/nL++UboS57THWMSyFCfbLgRmFqfYb3VVS5PdHRX9?= =?utf-8?q?jKrwzHxX4UegnvOD3wn68IpR0yyrydF3vcsDGwuWe3aPXbozizOZD2ZsmfRnM2qvN?= =?utf-8?q?toAO0428m6YKYIwbRliIvaA1CGEf8Ak6WyW8E6eTNOigcVgjVu171T44PKswOWnF9?= =?utf-8?q?HAKO19kx70lhq4bR/3O5TOvc+0mYYJfSw6Nr2dtWMuO9Y/paWNBZlKyVuCS73qpzW?= =?utf-8?q?0YnVyGZC0DROjD5GqiA6mTMU9lQT//52c1bjzltnZ9Eiv+m+2mSG4UHH51dLK7iLf?= =?utf-8?q?AVN7kP53S1UfTzPwE7u2LUqe/pfdLmj9yptfuQz91VfduKfGayf+ofCsxDoyAd1A5?= =?utf-8?q?ckG/oGK+ZkpEl8FXY2zlK0Y9nQK9rmXSLw9ytrtVoP4ue0lDK0TKg40q0ouhUs+Tw?= =?utf-8?q?b6LDtunzXG1hvlj0dB9KOVN7uYCiiRXGYBlP70kTF6o0sSM80dT6FrxD/lP0pfFzF?= =?utf-8?q?CnzEu5UlW4uKDTcBybc4S8DHCoN/yaIPA+nwgMlvdpQ2PNxkxAMWX6yyDNMbjGRHa?= =?utf-8?q?+t3lY5WpayCOTN5udxQb4rzjW5bWKkc1fwEEUmf6ZkaUywITSILMqMbdME1zetOGP?= =?utf-8?q?c7AWuAPePStsbsAY4phdFGFXchezqQRWMMw2uvI5R+RSJ+2M8MXJKGHkwozyLnNfN?= =?utf-8?q?pdwB677uRfyxuP1T/nJn76237pmGd0F9GzvCqd82QtAxRzxLP+/O7krHW2cKPx9rD?= =?utf-8?q?PODu669AJSx2VkbNoSkCRCwAQS3TKQsWD6axIRJrKq1dAQVl5itSI+bMCoIVrN5ZZ?= =?utf-8?q?pXkgMKUSFZrT0MhjIR5lqmZorm49CRAhacK0AOSsEY5KGRajdNYK9VRtnt033bGMa?= =?utf-8?q?VujmxUFqNPXdSeVJRCICvIbSz2muRbiVoVkJbxeBZvg/L1NjWR4XQrLyMlxnATgee?= =?utf-8?q?oUoxgrPwThgSamrDIwpwfqQ3GvnMWPEg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 200dc4f4-e19b-4789-641f-08da1b9f4e89 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8616.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2022 09:40:25.8816 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: u9iOVVYnU3u5MogYqurO8HqxYoN6UhHKXvtwQEukx0Qv3tnbHdLIlU71b4d/qgTzLZEcnBobTKIGPH9vXrfm4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4255 There's no good reason to use these when we already have a pci_sbdf_t type object available. This extends to the use of PCI_BUS() in pci_ecam_map_bus() as well. No change to generated code (with gcc11 at least, and I have to admit that I didn't expect compilers to necessarily be able to spot the optimization potential on the original code). Signed-off-by: Jan Beulich Reviewed-by: Roger Pau Monné Reviewed-by: Kevin Tian --- Note that the Arm changes are "blind": I haven't been able to spot a way to at least compile test the changes there; the code looks to be entirely dead. --- a/xen/arch/arm/pci/ecam.c +++ b/xen/arch/arm/pci/ecam.c @@ -28,8 +28,7 @@ void __iomem *pci_ecam_map_bus(struct pc container_of(bridge->ops, const struct pci_ecam_ops, pci_ops); unsigned int devfn_shift = ops->bus_shift - 8; void __iomem *base; - - unsigned int busn = PCI_BUS(sbdf.bdf); + unsigned int busn = sbdf.bus; if ( busn < cfg->busn_start || busn > cfg->busn_end ) return NULL; @@ -37,7 +36,7 @@ void __iomem *pci_ecam_map_bus(struct pc busn -= cfg->busn_start; base = cfg->win + (busn << ops->bus_shift); - return base + (PCI_DEVFN2(sbdf.bdf) << devfn_shift) + where; + return base + (sbdf.df << devfn_shift) + where; } bool __init pci_ecam_need_p2m_hwdom_mapping(struct domain *d, --- a/xen/arch/x86/msi.c +++ b/xen/arch/x86/msi.c @@ -839,7 +839,7 @@ static int msix_capability_init(struct p pbus = dev->info.physfn.bus; pslot = PCI_SLOT(dev->info.physfn.devfn); pfunc = PCI_FUNC(dev->info.physfn.devfn); - vf = PCI_BDF2(dev->bus, dev->devfn); + vf = dev->sbdf.bdf; } table_paddr = read_pci_mem_bar(seg, pbus, pslot, pfunc, bir, vf); --- a/xen/drivers/passthrough/vtd/qinval.c +++ b/xen/drivers/passthrough/vtd/qinval.c @@ -267,7 +267,7 @@ int qinval_device_iotlb_sync(struct vtd_ qinval_entry->q.dev_iotlb_inv_dsc.lo.res_1 = 0; qinval_entry->q.dev_iotlb_inv_dsc.lo.max_invs_pend = pdev->ats.queue_depth; qinval_entry->q.dev_iotlb_inv_dsc.lo.res_2 = 0; - qinval_entry->q.dev_iotlb_inv_dsc.lo.sid = PCI_BDF2(pdev->bus, pdev->devfn); + qinval_entry->q.dev_iotlb_inv_dsc.lo.sid = pdev->sbdf.bdf; qinval_entry->q.dev_iotlb_inv_dsc.lo.res_3 = 0; qinval_entry->q.dev_iotlb_inv_dsc.hi.size = size;