Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2194474/?format=api
{ "id": 2194474, "url": "http://patchwork.ozlabs.org/api/patches/2194474/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260209062952.2049053-6-den@valinux.co.jp/", "project": { "id": 28, "url": "http://patchwork.ozlabs.org/api/projects/28/?format=api", "name": "Linux PCI development", "link_name": "linux-pci", "list_id": "linux-pci.vger.kernel.org", "list_email": "linux-pci@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260209062952.2049053-6-den@valinux.co.jp>", "list_archive_url": null, "date": "2026-02-09T06:29:48", "name": "[v5,5/8] PCI: dwc: ep: Report integrated eDMA resources via EPC aux-resource API", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "601936dd0b2fa4baef731a687a5aca078304180d", "submitter": { "id": 91573, "url": "http://patchwork.ozlabs.org/api/people/91573/?format=api", "name": "Koichiro Den", "email": "den@valinux.co.jp" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260209062952.2049053-6-den@valinux.co.jp/mbox/", "series": [ { "id": 491464, "url": "http://patchwork.ozlabs.org/api/series/491464/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=491464", "date": "2026-02-09T06:29:44", "name": "PCI: endpoint: pci-ep-msi: Add embedded doorbell fallback", "version": 5, "mbox": "http://patchwork.ozlabs.org/series/491464/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2194474/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2194474/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-pci+bounces-46978-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-pci@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=valinux.co.jp header.i=@valinux.co.jp\n header.a=rsa-sha256 header.s=selector1 header.b=OmO+UQ3m;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-pci+bounces-46978-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp\n header.b=\"OmO+UQ3m\"", "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=40.107.74.104", "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=valinux.co.jp", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=valinux.co.jp", "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=valinux.co.jp;" ], "Received": [ "from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4f8ZZB2PXXz1xtV\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 09 Feb 2026 17:30:26 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 6440E3013EDC\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 9 Feb 2026 06:30:09 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 10841320A33;\n\tMon, 9 Feb 2026 06:30:05 +0000 (UTC)", "from OS0P286CU010.outbound.protection.outlook.com\n (mail-japanwestazon11021104.outbound.protection.outlook.com [40.107.74.104])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id A203C31A56B;\n\tMon, 9 Feb 2026 06:30:04 +0000 (UTC)", "from TY7P286MB7722.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:38f::10)\n by TYYP286MB4425.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:10b::6) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.17; Mon, 9 Feb\n 2026 06:30:03 +0000", "from TY7P286MB7722.JPNP286.PROD.OUTLOOK.COM\n ([fe80::2305:327c:28ec:9b32]) by TY7P286MB7722.JPNP286.PROD.OUTLOOK.COM\n ([fe80::2305:327c:28ec:9b32%5]) with mapi id 15.20.9587.017; Mon, 9 Feb 2026\n 06:30:03 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1770618604; cv=fail;\n b=XzTmdputVTPj1NiFNZtz9Q4lHdIFGyK6icylVnHK2p3g5phJ6FxokJZeJC3cPC4T1KGVR0gh9r/8yS1FN5dXtLB+sUEUl48xELoNYhNLazpq8KDYTxxk+U8jRtSt+20hXItrmfr5nNRQWm0C6q8jgSwe91AanpMnkV6pgXiO0gQ=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=K8QiB1aaKqjWBMHqmoRk8e4OSqp0md0Yc9hErt0ENdVbHBgAAHI+biOV1ystOcjNJeXCmUJOMRf2PSlp8+8TfKI9cVaX4nQE05BVnCG/WKnbzBQ0JiDNfPDtgY6deriYyFcfhWfr7pmQbTxY6Z/pPZL/sLoyJNiHFriLE20N7xkvXMykTE1ehjV7s0TmjA4Mu3Om8xDctPV7+Qh33b3i4WO4zhTrKLm7IwR2+Yq2mCSeBM6ym0VU5a1yHjObU4L2XS9eNbENj1pHKw1/W/dUfWZmIHOD/vhA8eBmKMvyuOKSMknxv/tFJR9pyx+j1+AahjNEOJT4g0BOi5w33AFGPw==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1770618604; c=relaxed/simple;\n\tbh=m7gNzrd3xshvHeDWmQT6H7u+Yg0bDwxNQTJuH0FSzNw=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=HYlWXidcFB8+XhOYUmkehzal89kF9QsFN0z3xUIflDWVJbeSvvaavHikFtOzcvzj2EqxOwnemvXHetqD/6jhUX1rqED+4euoW5kwCIzug9cAB2Q8RNvSgsvdXIuh/wuavg0u8iQW2T05ywccOt391mMqwyW3/tdIdPAL+AF9NfU=", "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=ZxG6ojMrkmLKQRceuNfassnYLg0CvoRYtyz0JIbPhgM=;\n b=dOWP44EQ6HFGfb5EicXcgDEVabO6RLYt1SJweyu9//ii53MbnE2vSe1XvADcdskXb0Zq1V9j9HzeYcQI2ZrUbYPNQ3faP5TjWaBDPwR4T8hP8hozVwej/yYlr+6usofOIVl+GSvGJadLsf4+t4MUGXFZpO5yP4TDFQgQeSWzJepG1I+Uu570i+G7nJJ+jyK5v4K7ydiFP2M5Bnqd4Sd00SYKzkVdHfNkTJSK+roFW7gYbC6RapGvnjqQPnLHpJqIPiARGxS2af5xh7nsf59eICOKVuilm93vIowTr5ga6LuJvs9l/zh/Vjc/qF0V4vYidsC7KbhGZOn2aok1+1EZGQ==" ], "ARC-Authentication-Results": [ "i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=valinux.co.jp;\n spf=pass smtp.mailfrom=valinux.co.jp;\n dkim=pass (1024-bit key) header.d=valinux.co.jp header.i=@valinux.co.jp\n header.b=OmO+UQ3m; arc=fail smtp.client-ip=40.107.74.104", "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=valinux.co.jp; dmarc=pass action=none\n header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=valinux.co.jp;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=ZxG6ojMrkmLKQRceuNfassnYLg0CvoRYtyz0JIbPhgM=;\n b=OmO+UQ3mH5m2qcpAXol1PK7jPgJW53Bv7Uxp/yhiCmtxYO8LGnqVSpIkdvET5Ns6sCsULWuF9wRqKWuIKJ+FIYDerKuavOgBAzgARVXp0zGMvz5ZJ4dcYNa7UN4K9ok2RV1R+3VGVCyIt3AiIDRxAt9WOHcfP34/jzlEWgelrEQ=", "From": "Koichiro Den <den@valinux.co.jp>", "To": "vkoul@kernel.org,\n\tmani@kernel.org,\n\tFrank.Li@nxp.com,\n\tcassel@kernel.org,\n\tjingoohan1@gmail.com,\n\tlpieralisi@kernel.org,\n\tkwilczynski@kernel.org,\n\trobh@kernel.org,\n\tbhelgaas@google.com,\n\tkishon@kernel.org,\n\tjdmason@kudzu.us,\n\tallenbh@gmail.com", "Cc": "dmaengine@vger.kernel.org,\n\tlinux-pci@vger.kernel.org,\n\tntb@lists.linux.dev,\n\tlinux-kselftest@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org", "Subject": "[PATCH v5 5/8] PCI: dwc: ep: Report integrated eDMA resources via EPC\n aux-resource API", "Date": "Mon, 9 Feb 2026 15:29:48 +0900", "Message-ID": "<20260209062952.2049053-6-den@valinux.co.jp>", "X-Mailer": "git-send-email 2.51.0", "In-Reply-To": "<20260209062952.2049053-1-den@valinux.co.jp>", "References": "<20260209062952.2049053-1-den@valinux.co.jp>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "TYCP286CA0070.JPNP286.PROD.OUTLOOK.COM\n (2603:1096:400:31a::14) To TY7P286MB7722.JPNP286.PROD.OUTLOOK.COM\n (2603:1096:405:38f::10)", "Precedence": "bulk", "X-Mailing-List": "linux-pci@vger.kernel.org", "List-Id": "<linux-pci.vger.kernel.org>", "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "TY7P286MB7722:EE_|TYYP286MB4425:EE_", "X-MS-Office365-Filtering-Correlation-Id": "8bb6b9a4-ef02-41fa-e220-08de67a4a87f", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|7416014|376014|366016|1800799024|10070799003|921020;", "X-Microsoft-Antispam-Message-Info": "\n p3o4vUo8OHFvVpIT58ISiw4P7A2sEnDhzC3z6aS0bXWZzAy1Ecfp3y+xZipPVe0qwKcc+SNxVblg3cewNUto3G9VauiPLKbw0a0aHcWoaQhQ850j4ziRxfDT/xgM6OonlNrAV1PX63BYVNyZJN9B07QFftdn7nGBzrBKuAepPR1JbG2Tgoh7PFl/ES9GuDx6/Cjj60XWB2AIH8FaklwtWSu6caiIuHqFwdO/RbO0DcbFX8ZAinu0jzWZ47fDObvaW7VihjrvbU59VGUyJf2gqtRNF9MOTH5fjaQDw0wny+H6klopvrLhpNztXvqosM1SxBjUwlUkzxmKFvr3Fx2d8LJMd26hFoD3OWAHgpu893OHcXFxcixBW2XLoQn1lYwvq0tIW6CirR7j2hgQ0VOVBnTAda1kCowfM4DXteBgiVWb+xNpko3jIYQSo+ZnL+jwSzJTQGpcs6FiHW4C6nWqIuZzmXpfeUKuhDmD7ijR9YEYUytu9J1pZUNtRQYvjzPCvKxO9Uyi6+/ma0VzZGbi7SyPX8n5gqs/UIg/yklpaC/PE4Y2ymP+RcolJIwPEiazbbE7O6T4YLT+/0RkNflcyLRpMg2lXCQ9hHhaCs64kMF/f1aGvYFuW47JzRvl7PcDYy2CAnnyM1t/hMS2kBWJGNbYg8PpBZJvmwN/+9ZzQwMZf6lxjNp4dUg+9mkJa4qHDOz+tgVehNfTICE3xWoY4olYEEN2Z9KrZ6KQVQaITCzAZ+eDzk9X0D/x2KH7P2xZgfrr9i3fGkMrPR45CyA784roSVEKxRHGBTbZroAKREH8OdzcPk0HdHQdiFfNBn4UpQQbiyxhNNU3PfhBwr2T7fjuTrFvOrfEZrsrxfp+C28PbhYrCvQWA5hG/ROciJGbWHcupZf4SESFYcJIYDF3HPHALs/9mddvpojYspYFuaNBDdW+DGnj/K32Sjl9+cnvDf+I8KbTS4ee8laAvSChN0ljlNVrxAndlHMxJHelzsLGvzezdTRhSdykU6ZTFAOhAnXo0+4TVPMWjrWNSG0z+NEY9JI97o20c+4TKZfqd9xbd3RZQ4zBKV88bH1OmDsYhwathbLjTm/4lf7vAqDLcdwgj3K5OsxdsiIQ4Sds6fQBR1apn0drGWp3Ie7Fk0rPcYHmPBljpWSjFF4ZnkKtMNrttFGu0R8mwxaU1GsnLE07aLY21zUG4JlcR8ffG9lT2Md5fR3b8BLxTzvgI/O4FLw/eG3V3bG1UZHpWWrlLn3NI1eGmQml+cJ0ZFr4CmueixR5UUBZE0D4TPfFCGRje7Yt080qtkDCpI5VVaDGecn1PippztGpMcMrsdyoPNFispy0kEhJNjWJDjx/NaGXQVqg/768A0bhDnbS0wJ9uU7SSVQJQhPTQsXJgotkJRRckUgbiPkMWftXB6vE4RK+1UpnV/Jts9cI8lTj2CB3mpug2KuRryR9IavuaLRfXeYFwW+Um5YiGVYzyffmUIJaJDVSsX0+Q/4pkLNeuzxf//6P5tAV5mqThMFX9mVYgGBggRRC8K80orLF/YtS6NYHhdYrQ4+ZzgNvktHmX94W8wTWZL2anJK9Suht0S09qOnHiDNUTuzSUlGo1F91xNgA6Q==", "X-Forefront-Antispam-Report": "\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY7P286MB7722.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(10070799003)(921020);DIR:OUT;SFP:1102;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n 4C2RSfIkQRzY1wHRlzMl9yt4FxicYXPGrNXFWW3LyfHMHECZPnj/bN2GaNA/OwwKl9D5Vg/4/uGEgLpRYemsg4ZR9//dytcLIWc2LC9nmv6HQL/0M9oGQZC0/kEMfPcA/2xD2LN2HKSaJ6PoDosATWPebkkZQYu5nTdzxWD4U9VMp1++Bmkau9mqTLC8q/wqOC7A7TEZitrfGAGuMAch2lLIEqQEmgQJYQexGx/7x3y1bsi3Q0tVtK7w2P2wGMag2qtew727RYqM7RkmwXXNUd8/u/xZQ5eg0+x0qytLE+YdQwAWXzexz9WxWHslYoCgQpfk0SpgwAbgNrxX7tL4HjykIRuwwKiQafTq/d+hgyaRHbjJh4Y83hlQVYOpq1M2GeFtyEbYSU4jzXmAHpxk/xfO1aTFmo/zj1beeX46q2t9RS6Vi92jmvqNRGVVXEkISk6AMyNf6zy7YEVDPo8VHgN8yX0iTSvsa/8wAB60t1POYTHJeHNSkawbf792Msf6VysMT+f0iLnavLtxoZueNhe1HOFEnt2BTCVdeWVGNXFD1s5ujdRDQ3V3zl80d0BUlDakP+wERHdW3blbOqLVqMDBy8i8rF52h4gFjaBvlFptLvTDnCHZ9Ccn2KBuiH2UtYMFls6DSRrhj4Xg1Z/zSDOqL6TNkOC3Pfv4LuATjjSw49p/v2goeDoN+4ALO1WMIFMyrs2i2j7j+lEXKkurPI3Wni051Sg5HjpnYByVw5emlGYe48nWtSXzqr1aBWmlj1AExL/AOlwLr9Rc3pSnQjojxX5WGHSCvh/80GjNdH4NpOp/MnKtbYWeAP+4oWMevJIli4l0dWP2YsIl3wCULH11L5bLMomSKbi+BMHNgo31wFGc67fAO+KQ0L1mivqNrYnCCvTfvegDloBSHeYLS9LfkRTv0I07Mf77mckFBwZlNeZ1ePeTbHYqXwPrAp6h9O54Mxop1FcNPyQK3KIuG0Rombqw/G7M3Esr7x0l2xO3veyZ5CZyaZRdKhScxtan3CSMrct8YY9/WZdITUd5XzWj07hl10WmdD4FeYV/otPYQcPKrabUZ44X0FQ8bHb3noNnxgy1CsVcdjo0AItcdkZkZE9e25nw/xzQlbaZv+pqa6lFY1nvo92cEjFB5YDMn+d3tCdT0OnA/ctIo8hcBVJBauJyaddBXWmboeBAxU5mD7ULSKoVWDUqzOGjj3VPcfXygHyYMzuqbJ58MluJCbp/RedtbL4gXBs3ShW6jcJ3Mp693cyciB/GCXIexjLyG7XriL6SdpQNx8gUVqDamNOBFLcDxXjpBkq5eR/MDkcrKpyWtxygKuxDkQCO3uP2WeVr4xHF3gXtl5pSpQ10tSnVIJqbqRAs5Yw8EBLE6B5jBC4YUtYkbfZz6bZwTd3U5PV2ZZPKHgymZWSd+pGlC9AqjCR7ClXCpZJWfoQhKs6lKN1tB3vuDb17lQAe5OwAchXmKwiOQVOf8zNXEVYUm38IJGNjknDNFrxyuBQaAIp+Jf99W4cH3JZyKDnmD43TNe1qvifQO3A59JwNbbSAHC3b006krHATvZz0Pu6AjhxjYlVCLPqGcIKfmvcDmh6P2BOtjENiK+Nq9jfHz//5ZXkHuXBVIadrnu5ZNXSeIESl1qPcd+ckQ+9PiVRfN+Mji0Gblk53SbkGn52tiGz8oy9xIdFyIFzWFKk4in5EOqEOjifdI6QKe5Raoo8VHCJBfGslsw9yEzAAK6edUqs7R6kGkG2F9dp1X7wsFzv8pSPjYHJdK4fPT6fJWBtmpsiJ", "X-OriginatorOrg": "valinux.co.jp", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 8bb6b9a4-ef02-41fa-e220-08de67a4a87f", "X-MS-Exchange-CrossTenant-AuthSource": "TY7P286MB7722.JPNP286.PROD.OUTLOOK.COM", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "09 Feb 2026 06:30:03.2922\n (UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "7a57bee8-f73d-4c5f-a4f7-d72c91c8c111", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n VrLk5HAtkvUAycRRSQgzuK7zfebcGY5Z/BF5v7M5OL30iMAsp66Fa+dMwugfUJODrLl5Kpbgvldo5ybUOiaRbQ==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "TYYP286MB4425" }, "content": "Implement pci_epc_ops.get_aux_resources() for DesignWare PCIe endpoint\ncontrollers with integrated eDMA.\n\nReport:\n - the eDMA controller MMIO window (physical base + size),\n - each non-empty per-channel linked-list region, along with\n per-channel metadata such as the Linux IRQ number and the\n interrupt-emulation doorbell register offset.\n\nThis allows endpoint function drivers (e.g. pci-epf-test) to discover\nthe eDMA resources and map a suitable doorbell target into BAR space.\n\nSigned-off-by: Koichiro Den <den@valinux.co.jp>\n---\n .../pci/controller/dwc/pcie-designware-ep.c | 78 +++++++++++++++++++\n 1 file changed, 78 insertions(+)", "diff": "diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c\nindex 7e7844ff0f7e..c99ba1b85da4 100644\n--- a/drivers/pci/controller/dwc/pcie-designware-ep.c\n+++ b/drivers/pci/controller/dwc/pcie-designware-ep.c\n@@ -808,6 +808,83 @@ dw_pcie_ep_get_features(struct pci_epc *epc, u8 func_no, u8 vfunc_no)\n \treturn ep->ops->get_features(ep);\n }\n \n+static int\n+dw_pcie_ep_get_aux_resources(struct pci_epc *epc, u8 func_no, u8 vfunc_no,\n+\t\t\t struct pci_epc_aux_resource *resources,\n+\t\t\t int num_resources)\n+{\n+\tstruct dw_pcie_ep *ep = epc_get_drvdata(epc);\n+\tstruct dw_pcie *pci = to_dw_pcie_from_ep(ep);\n+\tstruct dw_edma_chip *edma = &pci->edma;\n+\tint ll_cnt = 0, needed, idx = 0;\n+\tresource_size_t dma_size;\n+\tphys_addr_t dma_phys;\n+\tunsigned int i;\n+\n+\tif (!pci->edma_reg_size)\n+\t\treturn 0;\n+\n+\tdma_phys = pci->edma_reg_phys;\n+\tdma_size = pci->edma_reg_size;\n+\n+\tfor (i = 0; i < edma->ll_wr_cnt; i++)\n+\t\tif (edma->ll_region_wr[i].sz)\n+\t\t\tll_cnt++;\n+\n+\tfor (i = 0; i < edma->ll_rd_cnt; i++)\n+\t\tif (edma->ll_region_rd[i].sz)\n+\t\t\tll_cnt++;\n+\n+\tneeded = 1 + ll_cnt;\n+\n+\t/* Count query mode */\n+\tif (!resources || !num_resources)\n+\t\treturn needed;\n+\n+\tif (num_resources < needed)\n+\t\treturn -ENOSPC;\n+\n+\tresources[idx++] = (struct pci_epc_aux_resource) {\n+\t\t.type = PCI_EPC_AUX_DMA_CTRL_MMIO,\n+\t\t.phys_addr = dma_phys,\n+\t\t.size = dma_size,\n+\t};\n+\n+\t/* One LL region per write channel */\n+\tfor (i = 0; i < edma->ll_wr_cnt; i++) {\n+\t\tif (!edma->ll_region_wr[i].sz)\n+\t\t\tcontinue;\n+\n+\t\tresources[idx++] = (struct pci_epc_aux_resource) {\n+\t\t\t.type = PCI_EPC_AUX_DMA_CHAN_DESC,\n+\t\t\t.phys_addr = edma->ll_region_wr[i].paddr,\n+\t\t\t.size = edma->ll_region_wr[i].sz,\n+\t\t\t.u.dma_chan_desc = {\n+\t\t\t\t.irq = edma->ch_info_wr[i].irq,\n+\t\t\t\t.db_offset = edma->ch_info_wr[i].db_offset,\n+\t\t\t},\n+\t\t};\n+\t}\n+\n+\t/* One LL region per read channel */\n+\tfor (i = 0; i < edma->ll_rd_cnt; i++) {\n+\t\tif (!edma->ll_region_rd[i].sz)\n+\t\t\tcontinue;\n+\n+\t\tresources[idx++] = (struct pci_epc_aux_resource) {\n+\t\t\t.type = PCI_EPC_AUX_DMA_CHAN_DESC,\n+\t\t\t.phys_addr = edma->ll_region_rd[i].paddr,\n+\t\t\t.size = edma->ll_region_rd[i].sz,\n+\t\t\t.u.dma_chan_desc = {\n+\t\t\t\t.irq = edma->ch_info_rd[i].irq,\n+\t\t\t\t.db_offset = edma->ch_info_rd[i].db_offset,\n+\t\t\t},\n+\t\t};\n+\t}\n+\n+\treturn idx;\n+}\n+\n static const struct pci_epc_ops epc_ops = {\n \t.write_header\t\t= dw_pcie_ep_write_header,\n \t.set_bar\t\t= dw_pcie_ep_set_bar,\n@@ -823,6 +900,7 @@ static const struct pci_epc_ops epc_ops = {\n \t.start\t\t\t= dw_pcie_ep_start,\n \t.stop\t\t\t= dw_pcie_ep_stop,\n \t.get_features\t\t= dw_pcie_ep_get_features,\n+\t.get_aux_resources\t= dw_pcie_ep_get_aux_resources,\n };\n \n /**\n", "prefixes": [ "v5", "5/8" ] }