Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755339AbbLDDkq (ORCPT ); Thu, 3 Dec 2015 22:40:46 -0500 Received: from mail-by2on0083.outbound.protection.outlook.com ([207.46.100.83]:52160 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755191AbbLDDkm (ORCPT ); Thu, 3 Dec 2015 22:40:42 -0500 X-Greylist: delayed 887 seconds by postgrey-1.27 at vger.kernel.org; Thu, 03 Dec 2015 22:40:40 EST Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; 8bytes.org; dkim=none (message not signed) header.d=none;8bytes.org; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NYTDIL-08-E9Z-02 X-M-MSG: From: Wang Hongcheng To: Vinod Koul , Mika Westerberg , Joerg Roedel , "Greg Kroah-Hartman" , "Rafael J. Wysocki" CC: , , , , , Borislav Petkov , Huang Rui , Wan Zongshun , Ken Xue , Tony Li , Wang Hongcheng Subject: [PATCH 0/9] 8250: AMD Carrizo UART PL300 DMA enablement Date: Fri, 4 Dec 2015 11:24:17 +0800 Message-ID: <1449199466-6081-1-git-send-email-annie.wang@amd.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(189002)(164054003)(199003)(53754006)(48376002)(101416001)(97736004)(87936001)(50986999)(50466002)(1096002)(77096005)(586003)(19580395003)(86362001)(1220700001)(50226001)(5003940100001)(33646002)(229853001)(47776003)(106466001)(5003600100002)(105586002)(5001770100001)(92566002)(53416004)(189998001)(36756003)(5008740100001)(11100500001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN4PR12MB0849;H:atltwp02.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN4PR12MB0849;2:VfBIAYp6ASXclWI2XqIaNM8jWkV1EnTUO8ylNT70aZ8G0Sud0pSsZHgVNb8p35Tx521yR0QiGRIGu0tP7VyFoS1HUkZ4mPzFO/vS1GiX6ZVJ4Jdc9+vbLjn5FyoVgxSXu+Rm0UJqKqL4ZZEVFVafcA==;3:he1hUJfeAv0Xb/F9NM5f2WRoZhd56fuJ8x96VxoqFGkjCGprNLIilsvSrxmP6tb5DGlhKTbHbfmzP3UCUh0TE8JUEg0mAShggusX5pSSI6KJV886UD1Myb1eY/kWVly0/5TKp52sAbkh75fl4NUAvxmvyjAe/73rnlBpKjdme6HRLp5ZTW8HziNv5dQpXtCluF/Yqpu9vquifSdhPvOROomDiFQ4FInSqiwtfdIP57A=;25:9azc4FF0gFqOng+xuG12RZuWCXHpkwME4NkP4yaqIgT1VP1ZgHvw8gEEq2v246TIwbaX/YPyrIn3dOxxOibmFjgp+Y4PP+jj8fCGPj4P7EA9eMpRBsc9zHUz/JJGdG2uz3DhKR2Mq9aBYlrSKARvZWu0eMyrkjz4Z7cn6W1PDQRUV5WPOl6zA94RGMVs0pIjp9cslB5pbIPPStkQamyz1BCgOs9qwyMFt7gC0vI8zzX+kacK/Vg/kFMc4U9bDHFE X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN4PR12MB0849; X-Microsoft-Exchange-Diagnostics: 1;BN4PR12MB0849;20:6v4mXFPI91XkY7+mIr9RNdL4Bs1CTjKJGTaUiMxgGzb1gQqhgJfQwAvnq84unEMFHbTQdH22FEZS6XxUvRmd5Hp9XC96dym7BMOUS+9yCneOcb/V5qGT5SPCVphmx04EtH/fyP4a5xJWDAJJRwlF/HQC/LT/99CWwBLPyiABBlfHlI1x8LEBC0uEo0KK65+7RBxM7n/PaO3SrbESaHkvGv/raDmltjo/mqUs+UXwC5be1k6RP5tyGbvKOBBCEacy8BU8zEi0ZpRrZys/SxUvfX9o1/hNiuJps7LEMKEi5S2BlOKko3u1LDHcYK5b1ovBK9Ur7qW0x+ZSym/ClBWIgjqoM+koK7JYRwfArW7DmL/lACKi1DH34jRtgdiseDAne1cRiQkITTXgiRyKYftbtBKIDsdYuHWZDQOK4JEuKzF6hk2JVBcneDUtsetbAOQRgmDnhAqxBeCcAOEReR2prE6a9sZrd6TxJ6Up6kBcQhZ8ibKOKEHeXN7MJHNyOE23;4:B9MvKI+ppBGZDMzZ5xqj0Xh+v8Hmbu/3P6v79BFJw6AeSzs92dk/8/qYLGrVhIhIBLTQdge6IAQBvF/aninKrquEn4A6RCKS+xKSKBcJ23zBACUiizGqvTLsA3MeYIkJrBOCvQnm4yXi117hTHEOOwEq1YP9zzV4+C5XEkl+ZPWDqzR7+x5wgbcYSRyEWEm7ClR4twz7k28iMRAwwVVgxrFmtY9QPpffBwIpWuYc4n/PSaIjUaUoG6sfmqFptJIW29gwtGRjax/u+pglmtCeYXbs9xD5p2ZHTIuipEoBjP8Iwz/y7Groc0PhjEwWRhRKRTxvstQ8KQPV5VVzF0l2n0fCBT4smqg4csWCXqt+QTx191uhof8jZ8FI9GM6GTiL X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(520078)(10201501046)(3002001);SRVR:BN4PR12MB0849;BCL:0;PCL:0;RULEID:;SRVR:BN4PR12MB0849; X-Forefront-PRVS: 07807C55DC X-Microsoft-Exchange-Diagnostics: 1;BN4PR12MB0849;23:xbohM25gZfhCntFnWj9DDdN0dc6tu2esa9CRYAaMg8zQJG7igG6qKzzCGqFPa9qYv+mZSGPvnrL6QWhezGsu5YL+piLWi3xsoFaec5810NR40pZjXb2iJ2IaaWZnifeaXLAoYwF3b0Lq5OPtAREkb77jKhrWt5feAoxt73/+W6Pma6GT2VMJ7ZwQFLAy6+oKcGevLxDVFN0gTABSq+A3lmSSxwuTDYV5WG+h90XoNoecoCYLyh0iRg4DfUYA8nBQcKy8AaOoqffZyacJCXwO9ifGVRIy9+h259SbwKzgvtXGfuha3wYCA8Xz2RklArwzufZoXvydEur07/Z+/gd/SFdoBqoZM42Eqm6CRL7TGsc74RhyT7pfnTI6/6bZqSNdM6jCi+/bN5pe5rljtVVowX3ysDyxwzhD/q2z8foZqV/zGK0OYRfd+k8p3yghvaZ4r36PzC37Py7lt8T5XLSxgimFenDL1dsJ09H2sfB6VSBPzcpvKT/X/2tFqb8VeEKTaR016SXhpKJtA+0qxjgXmoYDn2mEjLQJITpkBxC3lPPb6kuUqtZlGrZqWxj9XrBCeLDjyTa3k3ic/rFkN/u+CFO8z/SKQbdH7YMZFIMHFY0lEZpfJxn6g2ZxHOvhvDqBWc2kLB7o5/xxQ+ryW0t8vEL0v1BdJ9oftl1ggE7M+iMQyJ4bnR7nphurZvH+A2fvt+bMtnBynNXtGPYfJV/ZP6GydtS/CRL4/4LdD+j4eqvEPmzGWWPzE8N2160wUHc3JwMwNP8gUXE76ET4unikEdX1U0Pat/VOBx8hHOhruxq4SUM+VHc9P4bTSw5hWsBvvGg/5NeaEyDJIyHpH9/itWha62/J7GMpCiPMPcN0c0ozUjPTbklRnX45eASmJ0CuNysY4Uo4NVmCZ9mjGwoAwtqJNiZF8B7EDJgUCVSIWqOUFiV+oqdiRQkQJPvp6lzk X-Microsoft-Exchange-Diagnostics: 1;BN4PR12MB0849;5:KCIRd6sxVmmTi2Wa93UVaIZ9Sjx+7NkaoOfJzaTINJL4+iZ80E55VhshyzCJA5pmJ74rX2nYiI6pdYV25QoKOxsLskCXq7SPAVUxnCpt0GNT57voLk5z8KfUIeO7BdQhxf3e0TFSWc76gZIp6Zseaw==;24:G5VCnFUnMskxVVwxC9XgwQp+5ISZBH6h5TuRHA2vXeC0BF0ULFFXycrw/SEZmmobaZNcuj3SxcDyB5xDqNKQWEk0EvJJYtVc8OUVlp0FlBE=;20:7V/JGej8WMGirbbiAMS/3AzBa/y9iup5AU9bJtyZBhWJs0YYsui/t1Pk339kVF4DYuI+608FuFDftt8j5QwTEcQ6dkzsfI1CxHSVLjXfXMOIF53gi2GUHFkajrnlHaCjXPQfOnsMIGg4FWI60vmX6jzsh837yUqURbGL7EWEOW5jJcPHXn3RbCTlTPrCnVHBkNavF5/+te2gWaAscL3axTPPMud9fE2vuxYG/8SyXgnCSGDqnOCwhrkHEjHHBLfu SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Dec 2015 03:25:35.0321 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN4PR12MB0849 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2509 Lines: 62 Hi all, As AMD carrizo UART device is compatible with 8250 and has pl330 DMA IP, our uart driver is serial:8250 and DMA engines are registered by driver/dma/pl330. The following patches are made, in order to enable DMA. Firstly, we add an universal ACPI amba glue layer to create an amba device based on ACPI table. Then we alter 8250/Kconfig to support AMD 8250 device and add quirk for AMD specific request. Secondly, since pl330 driver only provides dma engine for platform devices, we add an acpi dma engine interface. Then we add a new port type for AMD carrizo and set UART registers and dma rx size as hardware requirement. In the end, we make our IOMMU driver to support non-pci device, so UART DMA really works. Thanks, Hongcheng Huang Rui (1): ACPI: Add support for AMBA bus type Wan Zongshun (2): Documentation: Add ivrs_acpihid kernel parameter description iommu/amd: Add ACPI HID named devices IOMMU driver support Wang Hongcheng (6): 8250/Kconfig: add config option CONFIG_SERIAL_8250_AMD ACPI: add struct acpi_amba_quirk for AMD pl330 specific device config dmaengine: pl330: add new items for pl330 private data dmaengine: pl330: provide ACPI dmaengine interface dmaengine:pl330: set segment_boundary_mask = 0cffffffff Serial:8250: New Port Type PORT_AMD_8250 Documentation/kernel-parameters.txt | 7 ++ drivers/acpi/Makefile | 1 + drivers/acpi/acpi_amba.c | 180 ++++++++++++++++++++++++++++++++++++ drivers/acpi/acpi_apd.c | 89 +++++++++++++++--- drivers/dma/pl330.c | 61 ++++++++++-- drivers/iommu/amd_iommu.c | 165 +++++++++++++++++++++++++++++---- drivers/iommu/amd_iommu_init.c | 123 +++++++++++++++++++++++- drivers/iommu/amd_iommu_types.h | 11 +++ drivers/tty/serial/8250/8250_dw.c | 16 ++++ drivers/tty/serial/8250/8250_port.c | 9 ++ drivers/tty/serial/8250/Kconfig | 8 ++ include/linux/acpi.h | 30 ++++++ include/linux/amba/pl330.h | 4 + include/linux/serial_8250.h | 4 + include/uapi/linux/serial_core.h | 3 +- include/uapi/linux/serial_reg.h | 2 + 16 files changed, 673 insertions(+), 40 deletions(-) create mode 100644 drivers/acpi/acpi_amba.c -- 1.9.1 -- 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/