From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760798AbbJ3UAh (ORCPT ); Fri, 30 Oct 2015 16:00:37 -0400 Received: from mail-bn1bbn0108.outbound.protection.outlook.com ([157.56.111.108]:9280 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1760691AbbJ3T7W (ORCPT ); Fri, 30 Oct 2015 15:59:22 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none;freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; From: "J. German Rivera" To: , , , CC: , , , , , , , , , , , , , , "J. German Rivera" Subject: [PATCH v2 06/11] staging: fsl-mc: Changed DPRC built-in portal's mc_io to be atomic Date: Fri, 30 Oct 2015 14:43:32 -0500 Message-ID: <1446234217-25512-7-git-send-email-German.Rivera@freescale.com> X-Mailer: git-send-email 2.3.3 In-Reply-To: <1446234217-25512-1-git-send-email-German.Rivera@freescale.com> References: <1446234217-25512-1-git-send-email-German.Rivera@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD034;1:4diQUhCF/7C3Z+mqgcqt6rQJ+SPNxgsrc4Aj4VJqUEFLo69fJKOsS1c258v7oLmVywRXSBX7XQ41E4dlg2WxYjIwfSAwOCs4eF8ra0O5cK+DwWdKK2QSxduBHJ/S/itHlFo0WjBfOztp4Tyi0Q2ABmNo3kJTeN6Antk8If9SM0EPMbzzixmVu+uNkylSBWGScMGUwrNtaH3Og6fn2BczWxG/ytTfitPY5IrfT2PJ0tHhY2YtUK/aVX3cmkqckKV2ZABPqbQkYzzzrU2YjP9xLCXVItTUt2mdMFtO3uUm4beos17P0YoogugODnXWqAOrnSDIOhfl2C8LtULAVMX4A2E6EnzX9oLLp07RSLuQ2zr3qW9jtVgv4LX7yVjfBBDq060TGFimstTeaAKaXSFwvQ== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(105606002)(229853001)(19580405001)(47776003)(5007970100001)(19580395003)(86362001)(5003940100001)(6806005)(11100500001)(575784001)(76176999)(77096005)(36756003)(2201001)(50226001)(5001770100001)(5008740100001)(5001920100001)(189998001)(81156007)(2950100001)(104016004)(97736004)(92566002)(107886002)(48376002)(106466001)(4001430100002)(87936001)(50986999)(5001960100002)(85426001)(50466002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR03MB509;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB509;2:HxAozY0o+lZgaNAt4hraKKufae9i97PLLZuS4z4M3k4htJ12ACd7URQXTQhGzXCo4z3n23WSEEBPlCJFNYtFDyhwdpKZcoL5KnPKkmui8/OfAn1qHj7rwILLI3UPBBdJiN3gA+TIsN4U8vHUEgJYR1Pxs7zLn/r9haZ3QCAaZS0=;3:epMtGHniWoqzCeidTaTA3QP6ENonXXjlsYuNfwjqrHUGB78HV/EAb8Q2fGUrNr3DS+sR0+IlMRnrEs4ZDOxKbFoatJiDw0X5ZY4HCZJ6QB3EOyahTMbwVIjxIVGJNpgx9qfNFYCcnDPKIm1eoyE9BqoCqotgsAh4Ws0rDmrARWrr968ks6NcMjsPObGvcP5Xb6MojPpU7CFcze2nE1llv4TYAVORJlxoedafDIF/u9Y=;25:elEXhJ/ERBz9l9bY3vUMIwK45dNmSrhDOlpP2yd36o1aBs7K4nhmxY88uPjAu1zMNOMjdPhtON07UurHvBT6mGBBRUbXfWXUbnzUB5MDaicQOacXhmx1Uv2Z9izoTepgOg/g0oAkThxSaCEh10XTZxltr7XzMUIah4DAPI4XkZnEdf9oWNP2XHeIpmd2bzj1fnrSxy/pXVhVGPn+rscG3NJxw2PxkKfrXUgql+rKggYB1HkV/C+QSkW3B3hRGs+Wa3bilcAd0JiMCUhbGJXrlw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB509; X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB509;20:zbguWntfxWKP67EcjrYeST2vElM2VOzeyYXAID1TycWM7tepakP+uTtG7lPdvlF+Rko7QuMjEa4Uw8dI9kwVQHv40cJUbfR+6euVFQbHTlxUeiJRGnOGUP3m7WJrZTI19/xHcPB9eM86sbiFMknMvWrrUQXoyod70XdYQNoq19HgniVIlFGiLhCwgt33H21Q3Qqdjr+Lt6NW2bMK8al5FJAnXUTEQa8x5CdyhGG1MHPQbGrSD00kRotcHgAl+RN++ZsRlP6aswy44vjcmagVF68tejlRUlu+sUrDGp8jwyKvDKx0A2CPzxazLJJ0Mp426IPW0yih8sbmLthVG4L6/jfmTZnnYYjrLrWPaRvMtXs=;4:m+qjG3ii0SPFsZq4B+H2JHWF5pxWCRvjinFkuBc1yJj6aLCabkcRwQx8zgY+H4qLH1Pff5/ugW9xkaBzhFT/z5f53GrocK51ZsFjvgCyyPap6NbjdMuyx90xVNmZwL9SdYdDXjHRVNQg2mMcUOhWzY41HJw0yB+4SfCMSfm53PwjglhOyhJ04KcJNiUB9SvDIwHFpci6/2M48Ew4kC1qAggoN3Ex0w26DU9/nFQm/KeQkOPDFjHm6cju9+vfMPPEQoOK4DrqM699JnWt8F58mdg5Pcc0g2f6BVipHueDZ9Tv//8j48HfEcBlofY4USx1soU+Z1a5sCZfeyp0xGjMFFU9NKQYxaNNGYT1LWQR74tdFwWUNtGYuvof9/XyP2gz+IP13ysh3jCc2dBrrNJwaQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046)(102215026);SRVR:DM2PR03MB509;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB509; X-Forefront-PRVS: 07459438AA X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR03MB509;23:SvUtPheMt/N/kmqe0XVqnw++2sPcXiccD9eLNjelle?= =?us-ascii?Q?2DZT5+hD3p9bRPIMBahVbYBVmUiWYGbEBZCt5oYMudrBmQq1Wij3rjkiviEx?= =?us-ascii?Q?I2EBM8/+1scwKDO5rHvUDT9W3AT3pTevF+a7gRVfEI7JtLYd1ps16u0y3hBA?= =?us-ascii?Q?mkS4hMI8A58pjMU5ASlUhlDwg4Ebsnhv1dFx1Ts1RPqyL8T0s/MgtC2jvIle?= =?us-ascii?Q?O7BXnS+2V6RkL8VsGMrxb2lQcaBh91JiMxKyAqPIXbknIjMshonH2sUaHPdx?= =?us-ascii?Q?CN+0YHJ/CWW4Bd9SgDpQo2o7juMhla2XJsJD8U2qrbUob7+jA+syMfZ1V6cV?= =?us-ascii?Q?oIqX4A56hIU47dg1KRVnFE8DCoKwqKJ07zGeAnFeLLge2UFC1jHxdlIAVuh9?= =?us-ascii?Q?hlT+/lJrxkuwtauioy+oFCSdVKD8AALoSVRsZS//UL4/TK9Mc4WlUG1LQHlP?= =?us-ascii?Q?FluDtxnUwW6Qo0VZ768F5hwfHkJnjXSkBLmF5aOAuYsWZe+2ZTHjxAPrLLx5?= =?us-ascii?Q?fWX9md5HmxcV/0CVk6xfPu/ErO1PQSADcaDlELRJYrhPMdVCGcGiGvqK0cj2?= =?us-ascii?Q?suROMTsf47YLip7sbjSpcO4FMqZrrGBmpCN5kPZu1DttdzIPmRbrDcHnN7W2?= =?us-ascii?Q?BTbaqHPQRuGace5gAscEBQhUUmTq/cacZjC+qujtoHa8F3Cdrl9mcEHA99NV?= =?us-ascii?Q?HCaUcOoclUAs1gOmHEWhdKLe9fGZ1NClwmr8vgZiB/liLXz9Jrxy4dUZk1kD?= =?us-ascii?Q?PovnwobLf53eoFBUiax0jqPm5hWjCEz6Nd2BpdA1jN9Xm4Kryf57nhlx1WeR?= =?us-ascii?Q?U/7BaFcV7WLXpDEuz5AvpsLs22kB/fD/wXGYuhe92KG3zUy0uxajcIepB1C7?= =?us-ascii?Q?4nQorSGa92j2wKUYnMqCUcucjesiyKnJn5Sv2UKkBgLDN4x+YceDTcAReS0N?= =?us-ascii?Q?02/WANvMILVRuSgoace9Ds8OG7wKGVPXTbh/SHH+eINaYJmJD/JEKbmhTgSG?= =?us-ascii?Q?HkEAMePMcVkWfmwDAZbnes2GfFscuUyAJlxjxf03OAH4jpkG/mHyadFP3+eW?= =?us-ascii?Q?C2C83jS3eFUuhU7SjqtlGFrOTBPSrUiBzba84A4ESEw8gVUiU5OdWbyZ/2Sm?= =?us-ascii?Q?VpyXINNkDdvtp2UzcF2vc6FEhkwZY6?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB509;5:VIrh0OiEVwq2/NbTGdOp9UBnUiZ+17SSrr4hyCIJIv8oDPi3jdjqLhBTFD0c3K4QA800Sdc6iO27T9sdDBMbAIELPeFEJlaSzpzF3ULqfg6dZTxhMohvBoUk8Ag2x/aFvI2uUfsLbiZD3imscXgyKQ==;24:F+BHOKFOXCHX7XLXleaDsBPScHC3Z3LkfqJmnb8KZpNznYx6ia60awkjDbhCLorWlACU2LEXCnTJW2kmkzQWm2UJzbixxeN4+z/y6EXkuoY=;20:zctkuo4s1/fciD5+8vKiKO4M/SU9//zewgkZJvZjh8N99CU8pQpTHhlDkccQ3Bc/1Cfob43cHiWFTGW7hkBcxg== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2015 19:59:12.1655 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR03MB509 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The DPRC built-in portal's mc_io is used to send commands to the MC to program MSIs for MC objects. This is done by the fsl_mc_msi_write_msg() callback, which is invoked by the generic MSI layer with interrupts disabled. As a result, the mc_io used in fsl_mc_msi_write_msg needs to be an atomic mc_io. Signed-off-by: J. German Rivera --- Changes in v2: none drivers/staging/fsl-mc/bus/dprc-driver.c | 4 +++- drivers/staging/fsl-mc/bus/mc-bus.c | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/staging/fsl-mc/bus/dprc-driver.c b/drivers/staging/fsl-mc/bus/dprc-driver.c index a9ead0d..7bb30dd 100644 --- a/drivers/staging/fsl-mc/bus/dprc-driver.c +++ b/drivers/staging/fsl-mc/bus/dprc-driver.c @@ -396,7 +396,9 @@ static int dprc_probe(struct fsl_mc_device *mc_dev) error = fsl_create_mc_io(&mc_dev->dev, mc_dev->regions[0].start, region_size, - NULL, 0, &mc_dev->mc_io); + NULL, + FSL_MC_IO_ATOMIC_CONTEXT_PORTAL, + &mc_dev->mc_io); if (error < 0) return error; } diff --git a/drivers/staging/fsl-mc/bus/mc-bus.c b/drivers/staging/fsl-mc/bus/mc-bus.c index 84db55b..d34f1af 100644 --- a/drivers/staging/fsl-mc/bus/mc-bus.c +++ b/drivers/staging/fsl-mc/bus/mc-bus.c @@ -702,7 +702,8 @@ static int fsl_mc_bus_probe(struct platform_device *pdev) mc_portal_phys_addr = res.start; mc_portal_size = resource_size(&res); error = fsl_create_mc_io(&pdev->dev, mc_portal_phys_addr, - mc_portal_size, NULL, 0, &mc_io); + mc_portal_size, NULL, + FSL_MC_IO_ATOMIC_CONTEXT_PORTAL, &mc_io); if (error < 0) return error; -- 2.3.3