Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933168AbbKRQzM (ORCPT ); Wed, 18 Nov 2015 11:55:12 -0500 Received: from mail-bl2on0087.outbound.protection.outlook.com ([65.55.169.87]:7168 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751349AbbKRQzI (ORCPT ); Wed, 18 Nov 2015 11:55:08 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Subject: Re: [PATCH V5 8/9] PCI: OF: Move of_pci_dma_configure() to pci_dma_configure() To: Arnd Bergmann , Robin Murphy References: <1446072654-5608-1-git-send-email-Suravee.Suthikulpanit@amd.com> <564B4111.6010805@arm.com> <564C6860.4000002@arm.com> <3822315.uJPjk3L2zB@wuerfel> CC: , , , , , , , , , , , , From: Suravee Suthikulanit Message-ID: <564CAD63.3020306@amd.com> Date: Wed, 18 Nov 2015 10:54:59 -0600 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <3822315.uJPjk3L2zB@wuerfel> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BLUPR0301CA0030.namprd03.prod.outlook.com (25.162.113.168) To SN1PR12MB0446.namprd12.prod.outlook.com (25.162.105.14) X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0446;2:Bl5h1J7qXhIsDnAAPHtf+DJvC9E2alAY9AWYjcBvDecQDi5tw8IprZ4L+mVb4UIY8GpEdnFd+r5PZ3eyMDkvz4oeoGTpGZAZSCD9NjPlIdLzZujk4ME3757L+5DzLQsssamGZSDxt3q7j4k+mjOhZCqtPI83ypPH8zGP40uETmQ=;3:1SqK/uB9sQR2Tj9jnCLgIYHhIXf4DPvg4NzYNz2FM1rDMYIjPivvUROaxl17iENLsQ1XTZz6y2ZJ762xwMnBAJ+v8dsMqD8Y0VKGWCv5we1OzN9oWAXywfBI1SEbj1m+T+bW8Ie5OKentx9i6JojeQ==;25:sYMYaNEm4ND7IfmBTOyHB7YRNfT0G+tmZxdUCvrWmWstMup3cLYMYx18RFCdCDmIyzUTfmxuYEGCsPfZwlsa16ZuMrxtlO48wFQ6zMFuptBe6jCp16MDgAJYUNWL2Rz0qtJ4+ndg2yeUuw8/3gKCmZLSw4StStGel3dBiDml/D/vNDUiX3S8LXIaPehr4yepT7YpYuRMZqeGLWuwK5tvYta+hTb0YSt8PKBuktAitmCcnrXQqiTEVunn/Ei49VIttMW5Ys1OnWLZXu8LaBz2BA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0446; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0446;20:xzuD0pDhyg+kahyq7eilsslpcJ+0OmdBhi6/E6Hiq2wNLhkEwG/hKTb5j9bU8QWtK3FvM9W1ICzRZp2pgKhEzBaLT7KmcvhJuiyDSHGbth3TK41dTc4eARsqWzBnnCZDmizkugvgyC4lx5AnxtU/HvL8cCWUF2cvECS8iD3L5Y008L7IPVNM4u35QblyK0WGzB1/huZta1H0UH1VHPcNlBA3gXCEofxMmmgXJsSfoBA4L91+rTGmIABplOzYd2b30Sw+Ndb5vq2hVKR5BvLIlJ22toYyTDy+CRIdGZ3LtVAUh7oYoLJ0K416opX1CoaTIy/YkIkb+fVpYyWYXxonVLpFW83Aqm4qOr+JioWtB/Tr1KcgpFUtKCmY62OsNkuu5jkrMKBNXVKkmLIWXHGwQxwQZRWyeNk4g1ZMUW9vjnW8M2I9bdFyFjE3BWnY/ikeNzJLbEAFhBQH7kX0D05741/Sf3BcUHW8lDXBQLxLSiL47eVIyEa63lAWodz8aEFo;4:1El7qU4A08g+GBsrzXbdemdw4AJ5qRk3Cfs9vuenMTG3POlFm8FXagK8I+EeHFNGoiiGAkQHQTraVd2Z66QSHoXzKNzf/kQMuxEV7qwKdwz8BjGLOCOiwYNf9ODzQXJDqBcZXRGBcAqTrwRTE6pS4A6MD+18ggSiAXOBqqwoD/vWKbQG95CdqXr/cJy8Us3K9w4LgmTkx3lIX9CfKoN1NHhiDqYr3KJZXFfVXNRWD5ANLAD39Q1qDm72kODiS6JyKn2nWt6Uf8jBqpD7YIErXIAGeBfHQP+/SskJHblf1ivpBepoYRtgYCj3cwR948cu98jQhQ5oLG4sM42Y0irCSxNmJhC3vWvoWZEp9OcN8sQYZePhlRlSoH8WCeksi/nu X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(211936372134217)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001);SRVR:SN1PR12MB0446;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0446; X-Forefront-PRVS: 0764C4A8CD X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(6009001)(377454003)(24454002)(199003)(164054003)(52604005)(479174004)(189002)(53754006)(230700001)(86362001)(80316001)(77096005)(59896002)(2950100001)(19580405001)(42186005)(23746002)(33656002)(93886004)(106356001)(19580395003)(83506001)(40100003)(87976001)(50986999)(76176999)(87266999)(54356999)(122386002)(65816999)(101416001)(586003)(5008740100001)(105586002)(5004730100002)(97736004)(5007970100001)(92566002)(5001920100001)(4001350100001)(50466002)(5001770100001)(189998001)(81156007)(5001960100002)(66066001)(47776003)(65806001)(65956001)(36756003)(64126003)(3846002)(6116002);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0446;H:[10.236.18.83];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;SN1PR12MB0446;23:/aeZu03LhUjtQMQ9WlHpVQPzkbYuhI8Yhh57T?= =?Windows-1252?Q?o4LtpCl3IVlbnljwgEbftGLOpzuU6tLzNrUlPyEw6WI30L3YxOdaF8/+?= =?Windows-1252?Q?fSWDlO+yEJ2vDz6T424K+M9aowhbteVrii3uLJusmMgehXRM1naQzRMH?= =?Windows-1252?Q?p18SGl8LrwqOBt6Or52i8E9fIUpZkG2LmlLWKSz9qa63ouV6725nRYaQ?= =?Windows-1252?Q?utBKt6Hy9CeHaly3oJWOAh/YUScjr0Tem9IPxl/n/G0Qz0RXY1ItO1L8?= =?Windows-1252?Q?BOERgUGWU3Zlwvhg5v3tTE3L966HVERqinEU1feWdkoPY3GqVf53VBHA?= =?Windows-1252?Q?5lVivvnZwFPcDo/7b2yoSl4ZOAxWB6s+UVowfCiSAcnWmbtO7eQ3VCwu?= =?Windows-1252?Q?SJHdSKvJUqBi8gs78phFjVnOq48HnwEHm15W0HonXeNl1yE6LpMbY9tk?= =?Windows-1252?Q?pDw7MBD1pXFcTCS4b91O3GRN4SLdGo/YH5FljJZnf2eBx/5QPNa9Nq/T?= =?Windows-1252?Q?uL/tKqMEQnGAKRryoltSPUA37ASdBSlyWrxnH3TYmtQJnspgx0DMwjtV?= =?Windows-1252?Q?fi06fbgYOSULCo5JVF47puSHd8NzmCmLFBt133yzOt/AAdMP6YZilhP8?= =?Windows-1252?Q?RO71GHe8xuhQoZWzBCcLdw10tewcejIZ6Gr6gXsk6NHcVVXuHmtcjkFz?= =?Windows-1252?Q?ri8Oc5SFpoLneKwqF3RtO4b2xhGN6LEyvlH19O55D/BoYI5FBuSADF2T?= =?Windows-1252?Q?E/V7Lffi4ESxMa+2SVrd4bpA6DT4j8V+fG858dSJkCJTwU8sKAXY3gJF?= =?Windows-1252?Q?6TZsgZft5wlaJmwobjp81aJV3YQWqmhhm2Y7QEfVoUoSyD49okQuk3uV?= =?Windows-1252?Q?Nb+2B2glaAZ/gAVJWs2H4bI9WNe1XMttC/box2NEzi2mUz9oXt5yhKok?= =?Windows-1252?Q?H/8BTmG0jUMhxx8y7eklLK3/7B2n9rDljC+unduM3nwkcOhFi4+2TRq7?= =?Windows-1252?Q?Gfa0oUtRh+OXceIdGPh2R5CKsBGvAQ8yEsasN1uJnSm8fBAv+c3qk3sp?= =?Windows-1252?Q?XMgxEpB/RSGaQP/zQj6J1noHsatKgyXF7ufVB8jOj48CXuBqUXDtzhmI?= =?Windows-1252?Q?qobmCxMQw3pP1AMQVjtf7mvI5RPj3DUBuzHbH+MkqHs/MBosH5dNcUWt?= =?Windows-1252?Q?6tFTUV7FzxQGBT9iCHjfk6qPDvHuH1wfyqUmqCeatNCjjhN/7y4ZW4Kb?= =?Windows-1252?Q?tUOt5IqJEY7RZDFpUci/sb8+dGDhOAEMPeWQpwAmT2tNEiHerHS0jzxV?= =?Windows-1252?Q?mwSZdE8s7GfMfGnORohZuIckvnjXJyOzutfKWuNBppshCBc0SCpVvRrA?= =?Windows-1252?Q?xwT6pwO6UEhmQfFDqss7cgRyXHahsfQ4EAr2R3JVgCzB4BlwF/SAsITA?= =?Windows-1252?Q?imax1MIAfZ9tl1zqD8UmcubmbzPvVSjtFLVbDodHdw+nzmMDOweWqTI9?= =?Windows-1252?Q?kmONsdDB3pxWcao2CaXt4uHY91VQyrsuodU75iXhpHaFfJ9YQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0446;5:QcTFihpYiXfyGpWIBnYLORYMuMlmbWcLMlOikwimS54+6K4c3mbOOy/hI7xjpyNiAgqmLTMlo0ff3vdhHdPeKQbCWc0Msd4ATLGT1xheQKhKZj3Y0ofToBwiFtCKDkisaY0N227FO5coDlyaIPxsqg==;24:qHnaBngXc4N0Fqkuc+gMr6ismJRr16D+lPkLN6k+EJFcTloq2m2lTSBj4Cpv6K15YTDRYndT8skly+7B0NWhK0+HDN9TqU2U2bd2XGrueJk=;20:kE1ruHaCST/frHQ3ojmBaKKSVzZywn4UJpdRux8ZqU1m85kaGVALZAvyYijeFW8buQ6pSKk21FYYR7YjamNqhplkXu3zvEt6iaRKgO5+e6HVCGu9+gGj5a35Zn1vYbRLGr6+ousZ3P8N32rbM3Q/xnCrrVe2FLfmyzpvMa5/CvhJd/g5XtBzZ1NQ8K/LaTMvVO8056/e6E8CtYQEUA3plZbC8mkq3UIA4cJjCXr1krxAC/mqQ+2ne9tSZQPYvfLA X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Nov 2015 16:55:03.6259 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0446 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2254 Lines: 54 Hi All, On 11/18/2015 6:41 AM, Arnd Bergmann wrote: > On Wednesday 18 November 2015 12:00:32 Robin Murphy wrote: >> On 17/11/15 15:00, Robin Murphy wrote: >>> On 28/10/15 22:50, Suravee Suthikulpanit wrote: >>>> Signed-off-by: Suravee Suthikulpanit >>>> Acked-by: Rob Herring >>>> Acked-by: Bjorn Helgaas >>>> Reviewed-by: Hanjun Guo >>>> CC: Rafael J. Wysocki >> [...] >>>> +/** >>>> + * pci_dma_configure - Setup DMA configuration >>>> + * @dev: ptr to pci_dev struct of the PCI device >>>> + * >>>> + * Function to update PCI devices's DMA configuration using the same >>>> + * info from the OF node of host bridge's parent (if any). >>>> + */ >>>> +static void pci_dma_configure(struct pci_dev *dev) >>>> +{ >>>> + struct device *bridge = pci_get_host_bridge_device(dev); >>>> + >>>> + if (IS_ENABLED(CONFIG_OF) && dev->dev.of_node) { >>> >>> Previously I was seeing of_dma_configure, and thus of_iommu_configure, >>> called for every PCI device on Juno. The check above now prevents this >>> happening, since the PCI devices are probed directly from the bus and >>> don't have OF nodes of their own. They now get left in some >>> half-configured state where arch_setup_dma_ops isn't called either. >> >> Just to follow up on that, Arnd's patch to tidy up dma_get_ops (now >> queued[1]) makes this even worse, since preventing arch_setup_dma_ops >> being called means the PCI devices now get the dummy DMA ops which leave >> the drivers failing to probe at all, IOMMU hacks or not > > Ok, glad we found that with my patch then. We really have to > configure the DMA (offset/size/coherency/iommu) for all devices that might > be masters, otherwise things can randomly go wrong. > > ARnd Robin is correct. Thanks for catching the bug. Rafael, do you want me to submit just the fixed-up patch on top of what we had earlier. Or do you want a new revision (V6)? Thanks, Suravee -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/