get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/28909/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 28909,
    "url": "http://patches.dpdk.org/api/patches/28909/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1505785903-1741-5-git-send-email-rasesh.mody@cavium.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1505785903-1741-5-git-send-email-rasesh.mody@cavium.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1505785903-1741-5-git-send-email-rasesh.mody@cavium.com",
    "date": "2017-09-19T01:51:24",
    "name": "[dpdk-dev,34/53] net/qede/base: use function pointers for spq async callback",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "906b4ad14fe9eb3cecae0667683aa86813942d95",
    "submitter": {
        "id": 569,
        "url": "http://patches.dpdk.org/api/people/569/?format=api",
        "name": "Mody, Rasesh",
        "email": "rasesh.mody@cavium.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1505785903-1741-5-git-send-email-rasesh.mody@cavium.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/28909/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/28909/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 525501B027;\n\tTue, 19 Sep 2017 03:52:11 +0200 (CEST)",
            "from NAM02-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam02on0070.outbound.protection.outlook.com [104.47.36.70])\n\tby dpdk.org (Postfix) with ESMTP id 2D5D1199AE\n\tfor <dev@dpdk.org>; Tue, 19 Sep 2017 03:52:04 +0200 (CEST)",
            "from cavium.com (198.186.0.2) by\n\tDM5PR0701MB3832.namprd07.prod.outlook.com (2603:10b6:4:7f::30) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.11;\n\tTue, 19 Sep 2017 01:52:02 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=iNFzeKjF12tPlspt/JTEWEGXoNQ0w1FU0ze6yEyJF7g=;\n\tb=CWd9mnjv3vzeKSMcnOFwNoSRQfZ4CVQKBCJO3oim7N0D6XXX2iqxC0vaVjShXi+Evcy9sBOPUVaqRUFD3Xx1/7zZeQEjYHXf7aXGhM+qnvW8w+VQIk76b9pgxTjACaJ+k8KGAhCGvcsHZ9xai9zDz3lbt4D8h9kqgQw3Hmq5btE=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Rasesh.Mody@cavium.com; ",
        "From": "Rasesh Mody <rasesh.mody@cavium.com>",
        "To": "dev@dpdk.org,\n\tferruh.yigit@intel.com",
        "Cc": "Rasesh Mody <rasesh.mody@cavium.com>,\n\tDept-EngDPDKDev@cavium.com",
        "Date": "Mon, 18 Sep 2017 18:51:24 -0700",
        "Message-Id": "<1505785903-1741-5-git-send-email-rasesh.mody@cavium.com>",
        "X-Mailer": "git-send-email 1.7.10.3",
        "In-Reply-To": "<1505785903-1741-1-git-send-email-rasesh.mody@cavium.com>",
        "References": "<1505785903-1741-1-git-send-email-rasesh.mody@cavium.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[198.186.0.2]",
        "X-ClientProxiedBy": "MWHPR14CA0048.namprd14.prod.outlook.com\n\t(2603:10b6:300:12b::34) To DM5PR0701MB3832.namprd07.prod.outlook.com\n\t(2603:10b6:4:7f::30)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "b149f630-b3ab-4d65-1305-08d4ff010651",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:DM5PR0701MB3832; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; DM5PR0701MB3832;\n\t3:q+PNkIHEhGZmfkTeN7qd/IxGBdk3kLqz0ye9KmfD818yUzrvAD2LTOpcPxPQqobNdxVvNhuNg8TLBlkzT9IPxqP2BqR2F1rd5lctkKiJ0T0evqDix0rJHWW37MJc0RBqbHulIWRuqJgxjA4NS3yu5X3a6XiLsCMyDePHrXZy3cnf/gk3ymWUCiOQ21KqMtOnKtYFI4MB7Gwk8X1byLYfovIjbPRiEzPlwLG7HrJLT4zr/yIoLVXwN48YAPTJnSNr;\n\t25:TbOwTRXQyWe4QURHjDO1h2jFzRpZQlJ//yrFEM/V/CLMBYysUvHdVpbSyWqqTT75xay7FBZvWFO20GF+D1nrcARLkqvC4JO5ABhyqBsYhX8VjdShsP0Me8xqBVvmgYFs2uBcowf9L88sY9Tg2VA6IBpmi6feSTb9ExsZGA3e028zF6I/wm45nIIzJtobVt7529o8fi4MWTT0SDHV9ApYp9Q11IuAbBT05qOkMiffX267LOOC37BKI4m3YrhMu8sDsdR6L2y2FtpNdVdZcX3Q34EQ/Zhvm3ecqpN4wk/M3mOvOx87vKfjk+Jy2IXJf2Px6KyC8k4wQQ8idCRiZ+K3Ng==;\n\t31:wV/UHtETAegt72JKJzLvtB85aLy3ar+EHmf/uUWKTMyjCJ3SiQqpwY9tjrGLDoPy+Cfwg+slSMyIe2zKurSHD4icobBOfAPtkT3TUUPNPXDye+c1Z2p60guH+OFEh3gLVogKDLGgmAP/W/5ZNdNhQ5xNLl2P8vWuPfMuWuoyhaAKQk629McZIWnqsAj0n8mNwLW7wwFkRREqPuPAcV08mF+grmnQ9bbZHIw77cXAZ1w=",
            "1; DM5PR0701MB3832;\n\t20:Gj+Wm1ZsvzIpN5i3UMyd4siu9/MIRzHP2cvIzrrARrRJMw6jIf1OiCckMDwQdm9/K9jEt06VL40rXrA07D49QHpI1d1mLA2q6bJwNGOYfqGs2eVVYu7jr8HKOolG2bwbHjwYLSMhtJZ/WlR9j3gNlth8TXalFlGSZlnRZQNJFbfj4/yADztehi2wK+YEXJY22apQGt8n5McmP68O3fzNLyRN4lmdvsmPSftRd+k7CUzEVRGsX4ERK6NS3/nYf+WgfmsLNTs1X5e6LX4tDxdV3D1mhhSIy8+Z0BZpaklImsR3sgHJka2FjGM27fzCCEd0TkpmjgpMytJQNjQ0Gm565uvqQaFg9xsjWSBIVX8oxKgTNg6tQ95tOxuwumR4nLeVLVTKFFtKIFRSw/tW8uvAXpVPNul8ZH28B8CA+I5HoJhzDXwkNq/oHsdBqYPuyLKaWwBEQynabF1I0cDC2hDSRweo0BxNiPdEuS0ksO57mjtAMnBMshP+kxh8lVX0Xa8B;\n\t4:mQLY7y2Vz62SDERxTpBzfvYr/YHKKI2Rc8DnmuxhDwc7IF4mje1uhd8zlYfiXuD7xjIB1JuGpz0CkIZJpJ9RuZvuQuJXu+ZXb44Nr8H6z83v2rqCjklNdETsokdYI9PQ/TkYf7SYAd5JbD2lzr+D9b+DyfjynZoaeDoWzpnFGsN7hdzCmQnzBU1Ry9l3vqAnn7vmdt1BG8NaK64WV7HbL7l06QW9bV2CJcQqWpcR/kEkXwkMwK8OKxSWOXGA7uIU",
            "=?us-ascii?Q?1; DM5PR0701MB3832;\n\t23:nSU9AVQ/AxsD/ZnzLfRBkl5KtaKg8rQrpbUwIok?=\n\t18YlPAUAicNYJaRZXtCIwiWq8bDiQK1X8NrxurMf68kYmB1SJParsVB25QVe3wDji7r0w6mqF//oYJifK4eAQvBDzg7QKMVyiFv6Guygc5KMCR1TJxyzm960EdOqDJMwdn1tmlkAUI28ZXPFFj8woX7tmLncVmL4XHp3PwZhCt1JN0tNkX6vJfvTRw2DBoIJR3razDgzjNP73eEvC8gEV6rCiFlr8uoNNawoynwCI8ruYpiKUe9teBEQgHgjXYz1fFrpPhBf33tcfNaGk4ZMZFCgp55PxRzwa+0Wow/+BFUerZSwU9yEFgUTcHFNFzIEuQTk5pWGdhP0dhS1rwR0OZs0HwWqllpiFoIflqD+4qcxnSioNFkomzCql/zZiFF5KCv6RkTuj5r41LQDODrvLeZCZssm5Ul6MbsVuR7NUlkbHfHB8MubY/MTiZy/A6D99xOv7kPiHBudA96ejgg1Ve+h8y8tcds15e38etHe54610wIukXt7Iw5L0+iazgLKiXloFIWJXHQzgJ9iJLbyE+Hk4ACzoHz8dE0JL5B7Eoge9Lx4D25GkhcmpA/u+hAjVEKz+qIOW6h6zjzUqgC4sv3ffoDwhtMc7X51Sd7DZfkeS/i+Ms86zas4YNMuNtYCg8w2Il3zcIfe7fLyidEmHYcXRAwOFL/PVLN7HH8Yq4mMGSguxb8XITiZC+KzLMPjTrGBxalLctrFDz5wONN84l+ZELAYaZs2lPPsx4pCVuOjKICGrRoOpEDMgEGONx1MqUPk6bQlaixgWzEXGx4Y8Dg3zrl3XNXsqtFtYIsD7HOrFTPVWSvNWIRIDL93wctLoE4R/oKQjSwlNBNqzDM2Xca0NtAcilM0yJ/4t0Sua+cpUaTdpe34nU5/JO2cghMpy0tbDGGqGlJ/kqAeBkRtv3Nf3HxT+k6CcpcBdxzZAokQLb3Ln51XeohcMvXx/8bohMFSsFYDlWSAtftgJIlzLOUsZiIVF6NkFtCrEgsJEwsrZpu+ewKCNhcAc//Kdr02hhagC/ciG377T+Cm8CGbMpQK2wzw8mm+8S1edtW7YbjyGiA9wqXbcsGX2M4I2Klds+UFlMq7SNmsdS0UZOH+sg8D8",
            "1; DM5PR0701MB3832;\n\t6:3yMdPTl8BoGL4Nj1YBPSvxKJ2fdFRzMJl3w1wslZCmqXxKvaJR8MFsvd9/6ybUIzhuxNTNt2bYQjU+Fz0wmPSbWwR4L2wKEZv33i7EUaHeADb0eYkvK1uHUxUIcNjf3QNIXF8A6ei9GmAz+oa2OGgCFV0YxZ3X1gmdhPOhgGeyWPjU7ZjOvX/riF0He2SbhIEl+2mHtPiZpDAFcg5qnMLMO1Lk6hUYqIhsKa6QMIKiyFYwoCwPISKarebWTmO1o7OWjTs3Z3WMZnrH+qCMIvcfJw7KwQyVlJHSCcOaB67iJ1qCXTjoNCl7KgRvpjHKewl5eefgpzX5v0ZxrSDI33Sg==;\n\t5:5R9W8gJEQPz2Vx0WlmjG0q2EgmqZf81bJf4Q1Kbla3sJTb3SsldvmD7LEO82QffECcDNmCqJhWLJPccmJVehpJ0PP5JUJdAh5SigwiRc3EcFW0AV4Dm5E+zf5cKrAtXg6KwbZ4rdpLGIvch4cr42vA==;\n\t24:bR65rzusCrb9hbpm4kyrGCL4wB8Uw1+u6Vvq0ZmeGxTtkA9kN6r6kx4AelFDE8PqCZ9Wyh2kqfzFklpmRIG6H0ii02LhVXmzgsIbVzRM6VU=;\n\t7:kUt5kmHB5oZKw8GD2LhUE3shWroagUcDzou649apImem62lJ/ikB0nMGr0J6lX+jf5R1vYSh6CQd48LmcvxXytdD53u4xHxuWVFke/8p9rKL0XYeEH79i/0hdS/jlxzFIm9DB0ZPgBrAw5rwEtVISemM6+o1RTd4Ted/RFL8Q5H6XHONXq+lXu3GE0RwWVA9kwus23pjPpuowjXpXDglg3Hwvp9NgVx0jW41+4pIN9U="
        ],
        "X-MS-TrafficTypeDiagnostic": "DM5PR0701MB3832:",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Microsoft-Antispam-PRVS": "<DM5PR0701MB38320164FDC9492DBA919F279F600@DM5PR0701MB3832.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(6041248)(20161123560025)(20161123555025)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DM5PR0701MB3832; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DM5PR0701MB3832; ",
        "X-Forefront-PRVS": "04359FAD81",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(6009001)(376002)(346002)(199003)(189002)(72206003)(106356001)(305945005)(105586002)(7736002)(36756003)(2950100002)(50226002)(478600001)(25786009)(6666003)(3846002)(4720700003)(55016002)(8676002)(189998001)(66066001)(5003940100001)(81166006)(81156014)(50986999)(107886003)(76176999)(316002)(5660300001)(16526017)(16586007)(47776003)(4326008)(6116002)(33646002)(21086003)(86362001)(8936002)(97736004)(575784001)(68736007)(69596002)(53936002)(50466002)(2906002)(48376002)(101416001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR0701MB3832; H:cavium.com; FPR:;\n\tSPF:None; \n\tPTR:InfoNoRecords; A:1; MX:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "cavium.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "19 Sep 2017 01:52:02.7890\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM5PR0701MB3832",
        "Subject": "[dpdk-dev] [PATCH 34/53] net/qede/base: use function pointers for\n\tspq async callback",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Change spq async callback to use function pointers instead of switch case\non protocolid.\n\nSigned-off-by: Rasesh Mody <rasesh.mody@cavium.com>\n---\n drivers/net/qede/base/ecore_spq.c   |   38 +++++++++++++++++++++++++++++------\n drivers/net/qede/base/ecore_spq.h   |   17 ++++++++++++++++\n drivers/net/qede/base/ecore_sriov.c |   20 ++++++++++++++----\n drivers/net/qede/base/ecore_sriov.h |   13 ------------\n 4 files changed, 65 insertions(+), 23 deletions(-)",
    "diff": "diff --git a/drivers/net/qede/base/ecore_spq.c b/drivers/net/qede/base/ecore_spq.c\nindex ee0f06c..a346166 100644\n--- a/drivers/net/qede/base/ecore_spq.c\n+++ b/drivers/net/qede/base/ecore_spq.c\n@@ -271,12 +271,16 @@ static enum _ecore_status_t ecore_spq_hw_post(struct ecore_hwfn *p_hwfn,\n ecore_async_event_completion(struct ecore_hwfn *p_hwfn,\n \t\t\t     struct event_ring_entry *p_eqe)\n {\n-\tswitch (p_eqe->protocol_id) {\n-\tcase PROTOCOLID_COMMON:\n-\t\treturn ecore_sriov_eqe_event(p_hwfn,\n-\t\t\t\t\t     p_eqe->opcode,\n-\t\t\t\t\t     p_eqe->echo, &p_eqe->data);\n-\tdefault:\n+\tecore_spq_async_comp_cb cb;\n+\n+\tif (!p_hwfn->p_spq || (p_eqe->protocol_id >= MAX_PROTOCOL_TYPE))\n+\t\treturn ECORE_INVAL;\n+\n+\tcb = p_hwfn->p_spq->async_comp_cb[p_eqe->protocol_id];\n+\tif (cb) {\n+\t\treturn cb(p_hwfn, p_eqe->opcode, p_eqe->echo,\n+\t\t\t  &p_eqe->data, p_eqe->fw_return_code);\n+\t} else {\n \t\tDP_NOTICE(p_hwfn,\n \t\t\t  true, \"Unknown Async completion for protocol: %d\\n\",\n \t\t\t  p_eqe->protocol_id);\n@@ -284,6 +288,28 @@ static enum _ecore_status_t ecore_spq_hw_post(struct ecore_hwfn *p_hwfn,\n \t}\n }\n \n+enum _ecore_status_t\n+ecore_spq_register_async_cb(struct ecore_hwfn *p_hwfn,\n+\t\t\t    enum protocol_type protocol_id,\n+\t\t\t    ecore_spq_async_comp_cb cb)\n+{\n+\tif (!p_hwfn->p_spq || (protocol_id >= MAX_PROTOCOL_TYPE))\n+\t\treturn ECORE_INVAL;\n+\n+\tp_hwfn->p_spq->async_comp_cb[protocol_id] = cb;\n+\treturn ECORE_SUCCESS;\n+}\n+\n+void\n+ecore_spq_unregister_async_cb(struct ecore_hwfn *p_hwfn,\n+\t\t\t      enum protocol_type protocol_id)\n+{\n+\tif (!p_hwfn->p_spq || (protocol_id >= MAX_PROTOCOL_TYPE))\n+\t\treturn;\n+\n+\tp_hwfn->p_spq->async_comp_cb[protocol_id] = OSAL_NULL;\n+}\n+\n /***************************************************************************\n  * EQ API\n  ***************************************************************************/\ndiff --git a/drivers/net/qede/base/ecore_spq.h b/drivers/net/qede/base/ecore_spq.h\nindex 31d8a3e..526cff0 100644\n--- a/drivers/net/qede/base/ecore_spq.h\n+++ b/drivers/net/qede/base/ecore_spq.h\n@@ -86,6 +86,22 @@ struct ecore_consq {\n \tstruct ecore_chain\tchain;\n };\n \n+typedef enum _ecore_status_t\n+(*ecore_spq_async_comp_cb)(struct ecore_hwfn *p_hwfn,\n+\t\t\t   u8 opcode,\n+\t\t\t   u16 echo,\n+\t\t\t   union event_ring_data *data,\n+\t\t\t   u8 fw_return_code);\n+\n+enum _ecore_status_t\n+ecore_spq_register_async_cb(struct ecore_hwfn *p_hwfn,\n+\t\t\t    enum protocol_type protocol_id,\n+\t\t\t    ecore_spq_async_comp_cb cb);\n+\n+void\n+ecore_spq_unregister_async_cb(struct ecore_hwfn *p_hwfn,\n+\t\t\t      enum protocol_type protocol_id);\n+\n struct ecore_spq {\n \tosal_spinlock_t\t\t\tlock;\n \n@@ -127,6 +143,7 @@ struct ecore_spq {\n \n \tu32\t\t\t\tdb_addr_offset;\n \tstruct core_db_data\t\tdb_data;\n+\tecore_spq_async_comp_cb\t\tasync_comp_cb[MAX_PROTOCOL_TYPE];\n };\n \n struct ecore_port;\ndiff --git a/drivers/net/qede/base/ecore_sriov.c b/drivers/net/qede/base/ecore_sriov.c\nindex 53d6b36..2b8e24c 100644\n--- a/drivers/net/qede/base/ecore_sriov.c\n+++ b/drivers/net/qede/base/ecore_sriov.c\n@@ -27,6 +27,12 @@\n #include \"ecore_init_fw_funcs.h\"\n #include \"ecore_sp_commands.h\"\n \n+static enum _ecore_status_t ecore_sriov_eqe_event(struct ecore_hwfn *p_hwfn,\n+\t\t\t\t\t\t  u8 opcode,\n+\t\t\t\t\t\t  __le16 echo,\n+\t\t\t\t\t\t  union event_ring_data *data,\n+\t\t\t\t\t\t  u8 fw_return_code);\n+\n const char *ecore_channel_tlvs_string[] = {\n \t\"CHANNEL_TLV_NONE\",\t/* ends tlv sequence */\n \t\"CHANNEL_TLV_ACQUIRE\",\n@@ -591,6 +597,9 @@ enum _ecore_status_t ecore_iov_alloc(struct ecore_hwfn *p_hwfn)\n \n \tp_hwfn->pf_iov_info = p_sriov;\n \n+\tecore_spq_register_async_cb(p_hwfn, PROTOCOLID_COMMON,\n+\t\t\t\t    ecore_sriov_eqe_event);\n+\n \treturn ecore_iov_allocate_vfdb(p_hwfn);\n }\n \n@@ -604,6 +613,8 @@ void ecore_iov_setup(struct ecore_hwfn *p_hwfn)\n \n void ecore_iov_free(struct ecore_hwfn *p_hwfn)\n {\n+\tecore_spq_unregister_async_cb(p_hwfn, PROTOCOLID_COMMON);\n+\n \tif (IS_PF_SRIOV_ALLOC(p_hwfn)) {\n \t\tecore_iov_free_vfdb(p_hwfn);\n \t\tOSAL_FREE(p_hwfn->p_dev, p_hwfn->pf_iov_info);\n@@ -4195,10 +4206,11 @@ static void ecore_sriov_vfpf_malicious(struct ecore_hwfn *p_hwfn,\n \tOSAL_PF_VF_MALICIOUS(p_hwfn, p_vf->relative_vf_id);\n }\n \n-enum _ecore_status_t ecore_sriov_eqe_event(struct ecore_hwfn *p_hwfn,\n-\t\t\t\t\t   u8 opcode,\n-\t\t\t\t\t   __le16 echo,\n-\t\t\t\t\t   union event_ring_data *data)\n+static enum _ecore_status_t ecore_sriov_eqe_event(struct ecore_hwfn *p_hwfn,\n+\t\t\t\t\t\t  u8 opcode,\n+\t\t\t\t\t\t  __le16 echo,\n+\t\t\t\t\t\t  union event_ring_data *data,\n+\t\t\t\t\t\t  u8 OSAL_UNUSED fw_return_code)\n {\n \tswitch (opcode) {\n \tcase COMMON_EVENT_VF_PF_CHANNEL:\ndiff --git a/drivers/net/qede/base/ecore_sriov.h b/drivers/net/qede/base/ecore_sriov.h\nindex effeb69..31bdee1 100644\n--- a/drivers/net/qede/base/ecore_sriov.h\n+++ b/drivers/net/qede/base/ecore_sriov.h\n@@ -254,19 +254,6 @@ void ecore_dp_tlv_list(struct ecore_hwfn *p_hwfn,\n void ecore_iov_free_hw_info(struct ecore_dev *p_dev);\n \n /**\n- * @brief ecore_sriov_eqe_event - handle async sriov event arrived on eqe.\n- *\n- * @param p_hwfn\n- * @param opcode\n- * @param echo\n- * @param data\n- */\n-enum _ecore_status_t ecore_sriov_eqe_event(struct ecore_hwfn\t *p_hwfn,\n-\t\t\t\t\t   u8\t\t\t opcode,\n-\t\t\t\t\t   __le16\t\t echo,\n-\t\t\t\t\t   union event_ring_data *data);\n-\n-/**\n  * @brief Mark structs of vfs that have been FLR-ed.\n  *\n  * @param p_hwfn\n",
    "prefixes": [
        "dpdk-dev",
        "34/53"
    ]
}