{"id":2225514,"url":"http://patchwork.ozlabs.org/api/covers/2225514/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/cover/20260421-nova-unload-v2-0-2fe54963af8b@nvidia.com/","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/projects/28/?format=json","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":"<20260421-nova-unload-v2-0-2fe54963af8b@nvidia.com>","list_archive_url":null,"date":"2026-04-21T06:16:10","name":"[v2,0/5] gpu: nova-core: run unload sequence upon unbinding","submitter":{"id":13521,"url":"http://patchwork.ozlabs.org/api/people/13521/?format=json","name":"Alexandre Courbot","email":"acourbot@nvidia.com"},"mbox":"http://patchwork.ozlabs.org/project/linux-pci/cover/20260421-nova-unload-v2-0-2fe54963af8b@nvidia.com/mbox/","series":[{"id":500739,"url":"http://patchwork.ozlabs.org/api/series/500739/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/list/?series=500739","date":"2026-04-21T06:16:10","name":"gpu: nova-core: run unload sequence upon unbinding","version":2,"mbox":"http://patchwork.ozlabs.org/series/500739/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2225514/comments/","headers":{"Return-Path":"\n <linux-pci+bounces-52811-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 (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=VuXJhzo7;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-52811-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=\"VuXJhzo7\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.61.66","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com","smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=nvidia.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nvidia.com;"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\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 4g0Byd1W5Sz1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 16:19:21 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id E0F6A302E787\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 06:16:22 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 479902F5A13;\n\tTue, 21 Apr 2026 06:16:22 +0000 (UTC)","from DM1PR04CU001.outbound.protection.outlook.com\n (mail-centralusazon11010066.outbound.protection.outlook.com [52.101.61.66])\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 BBAA23612ED;\n\tTue, 21 Apr 2026 06:16:20 +0000 (UTC)","from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18)\n by CYYPR12MB8749.namprd12.prod.outlook.com (2603:10b6:930:c6::12) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.15; Tue, 21 Apr\n 2026 06:16:16 +0000","from CH2PR12MB3990.namprd12.prod.outlook.com\n ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com\n ([fe80::7de1:4fe5:8ead:5989%4]) with mapi id 15.20.9846.016; Tue, 21 Apr 2026\n 06:16:16 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776752182; cv=fail;\n b=fdRguaCF5t7f1tvUz1hLiuJ01OYHeqnDSHglrAfWpouNKC1P42rYtmPCmcQ9hxdne6hhMUpXtKHh1nS2Hnavn3tBoItRReg14z2w6zZ4Xd8G7tzHaZtdcfwju1hD0VOTd+kqfwWXp79EjbL5tNsrZ9suD6hlhO+jBdc9WlamU9A=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=SmwGr19Aa0eXyct1lzWvdhFfUiYVDkldx0fIY5wDI6WQsTPAksiFYqRs1W91nZrKkrHyx0UEkvIB2dh/eElLOb9R0yzKR3zLwe2TbEIY32C9xTjICQnL/zxb4GV+pOnwSmSNPI/8xjaWVOGpAo3l9tpcG+YYRH+EpomA1YSEblAA9RlRYcPgQzxmK2lJAnlvsXaBZnsnHlNDAESdWDstTdT/oA8JbxGPfzOmuPldklmzH/NzYNTjUoYKxegK9Oo5kP3Lk9GBlvjQ/eytU5VhlBgjegnckmbiPMULsMbFuYq7UfynSeQC2RiUMVBTEU0pZHfLqRFcdXSF+B1NHP2zYA=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776752182; c=relaxed/simple;\n\tbh=ezOoX0R7U2YBxxEDUIDkw+0y/3SEvnRBUawPQHF0w/E=;\n\th=From:Subject:Date:Message-Id:Content-Type:To:Cc:MIME-Version;\n b=BxCVWq7gneocm9U7yTVHbxLEkwRVJS1wTBfs/J8rZHfgCWfMCUvivbKRxyl8lLTUYnZNRHSHrf/jfxtzBY0ekDxOXXzkntCm7C751rzH3SF6ff2iAH0A2l3HF8LnKtdIMktmRwh3C8c+apLvFeJlY9BuFJQA2hJEf0hjM2wLhSg=","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=4965W/kk6suBOQScQmnfXZ5+mvbT6zZc2OycZbDVd8M=;\n b=Er9Cp+TIXd/IdMFj441p42l4Ezqt4AkSqUdhjnKXnTAPnFJoPbvCfEkIiaQZnwlnkAN85vdYFZ7uP9AvuyqeVoBA0iZJeML8PUvrJc9Za+mBRPQG9fKVEGbysGNqU7+KCJaHuF8xFcBsNXxu0uYT9f2dStUEcxswRn5tWQANQ8ScWMDzRBbBj4jvGibx1tfHuOBv0LHExL2E6lZwQqo+qsiZ7bNuOUh1oVSMoqM5HHTWq524dd6bNKf+7uJptsGbx3MMF173MxJhIGjDG7nQbFV38x94iI/txS3FwpSK83pfuGOZuB0y1VjNG1JKu9z8+6D0nyxDGI+8ctFlzpQekA=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com;\n spf=fail smtp.mailfrom=nvidia.com;\n dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=VuXJhzo7; arc=fail smtp.client-ip=52.101.61.66","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;\n dkim=pass header.d=nvidia.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=4965W/kk6suBOQScQmnfXZ5+mvbT6zZc2OycZbDVd8M=;\n b=VuXJhzo7K5MiWQACvoqTg0s0PjUbrx0O3j9ooMiwXV4SbDVTR4zssont0P+cfR4vjMaktdHhACfo0QAM9gpvvhM6w1cFf91Jd+CeEuPXLPhZwmN6qiem+xD6PyHbBBzaLqWJ9dKHNUsbCFmGPWEOlvv+gyJRsNlwh+Hs8m2R9NG1+JjBljs6ZCW9/hkwCsLO5BijrUOabpJjzLE0EGwv97bH/A2db+Wvi4AXnyr4ZrVyis5MGWcxJLyW0cKxtEyI061/UCGr7YYEnqq9wl0K9i5Xpvr8CWW/E/uDMy8MbRqc6gsZLBFqKN3NRHVDF6c0KGctkfhWNeA8I4sXylbh0Q==","From":"Alexandre Courbot <acourbot@nvidia.com>","Subject":"[PATCH v2 0/5] gpu: nova-core: run unload sequence upon unbinding","Date":"Tue, 21 Apr 2026 15:16:10 +0900","Message-Id":"<20260421-nova-unload-v2-0-2fe54963af8b@nvidia.com>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","X-B4-Tracking":"v=1; b=H4sIAAAAAAAC/23MQQ7CIBCF4as0sxYDU0HrynuYLqCMdhIFA0o0D\n XcXu3b5v+R9C2RKTBmO3QKJCmeOoQVuOphmG64k2LcGlKgVKiNCLFa8wi1aL3YSB9e7vRm0hPZ\n 4JLrwe9XOY+uZ8zOmz4oX9Vv/O0UJKYzV/oC9IzX4Uyjs2W6neIex1voFxN/XPacAAAA=","X-Change-ID":"20251216-nova-unload-4029b3b76950","To":"Danilo Krummrich <dakr@kernel.org>, Alice Ryhl <aliceryhl@google.com>,\n  David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,\n  Bjorn Helgaas <bhelgaas@google.com>,\n =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= <kwilczynski@kernel.org>,\n  Miguel Ojeda <ojeda@kernel.org>, Gary Guo <gary@garyguo.net>, =?utf-8?q?Bj?=\n\t=?utf-8?q?=C3=B6rn_Roy_Baron?= <bjorn3_gh@protonmail.com>,\n  Benno Lossin <lossin@kernel.org>, Andreas Hindborg <a.hindborg@kernel.org>,\n  Trevor Gross <tmgross@umich.edu>, Boqun Feng <boqun@kernel.org>","Cc":"John Hubbard <jhubbard@nvidia.com>,\n Alistair Popple <apopple@nvidia.com>,\n Joel Fernandes <joelagnelf@nvidia.com>, Timur Tabi <ttabi@nvidia.com>,\n Eliot Courtney <ecourtney@nvidia.com>, nouveau@lists.freedesktop.org,\n dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,\n linux-pci@vger.kernel.org, rust-for-linux@vger.kernel.org,\n Alexandre Courbot <acourbot@nvidia.com>","X-Mailer":"b4 0.15.2","X-ClientProxiedBy":"OS7PR01CA0073.jpnprd01.prod.outlook.com\n (2603:1096:604:253::16) To CH2PR12MB3990.namprd12.prod.outlook.com\n (2603:10b6:610:28::18)","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":"CH2PR12MB3990:EE_|CYYPR12MB8749:EE_","X-MS-Office365-Filtering-Correlation-Id":"477a7aef-f8df-41b2-62c7-08de9f6d7ec4","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|376014|7416014|1800799024|10070799003|366016|921020|56012099003|18002099003;","X-Microsoft-Antispam-Message-Info":"\n\tb+amCaogoNkfHXdsy2XtyichBYHDgUvFNS+s1Ravp+ukpe693kXUT2XxPOrMhqYbNA2umE4gxl/QMtJxe82nLjpDSFHud1nIhw2rX39s7ajQPcg8Tzf+Ep/Ql9mhQQRxzEOkPMT8ZAoXuFG0mp8LnHC/NOwAqlIBJh4jZitje/Nh5x8lf5y9OI30uuZ5bAKbTjlO5gp5jcYli6NIT+qOni44ujYoSSGo7A4ncC9NepSASQ1thaBhuHIdjMQ9iqMcdNVEpnnAu5PHbmJxCtGiozAwJV1ducJpGVr3Z+FX/b7UYGiFqeFMS391MaYrp/2M9rrXa39U32eG5Z234I12HEcBVA8ftV8XqiJ0RfQy2Pxirrni3376g150BGH8ZOn7vRQXnVIwqXYBtShW1uCPhimznO38VDU+SSPUsdmeGYVQTzP9yONRy8uiKaXkFw10QwxLe1JeNrAwfxmUJcQYV/9/NaxXWY1FnYbvLZaMyWCmm456Lp5p/ez2K/nmhCNhKoqnJEqRr5bqpWnORWT7e/uAgwbDAPIzb0/xg12a7wF/TQm1nHDIlwuB8of3Zl+rTn9JTQmlhzJazBIicSsTUVJFty6pnJEYiriIlf2ebFImBWyObzS94Um9hYULmnVRyWJW4MPyw4e/0zr/VqPP30xcQeW9JIKcA6Nw/Xy+lfAl55PK61olleTT5wbRYnhoujBx0ZyA4Pgian8j+oIRXdT7UvCKw7vSUhMTtG+x8A5yd+8I/Pe2lBm+YeS8jiaAlYwt2T4J0PwQ3xqD+6C4Eg==","X-Forefront-Antispam-Report":"\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(10070799003)(366016)(921020)(56012099003)(18002099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"2","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?QvzqDP5ONXUMmJT0KOyPGebYwe+u?=\n\t=?utf-8?q?vq65aaH6ym1ndSX81HKGoKvoPDCp4wviUXh5PNSMnTejUdAnZaiqdjoq+stYMcP2P?=\n\t=?utf-8?q?j8mOEZChURlqTpgVcYe8XQbmS6jJZ7nwCSqk2P9srhps2We7hzfXyGOT5r/I7EZwU?=\n\t=?utf-8?q?ybPb5gCP1XBTqP03P6hFaWgD57SRgUnHFfmTAjIqUwuuuwL53askyVfAFnrwyx/cI?=\n\t=?utf-8?q?vOwLR7huVNZkHjCMhnvomtVxUnikEOwRxC2I427ioeG/D+SKXTMahlVcKb7u2+PyQ?=\n\t=?utf-8?q?Ge3JuuGG0hwlStDARc/toN63q14h1MohHWg+N6CcOQeDXG5eqGfd+McuY5SD7EPtW?=\n\t=?utf-8?q?UX2cA6x7OuBnjn23Te2+mFF28oj4wtfllLYOebYyyAErIPwHgUTVY1Sgn8tj/jM6I?=\n\t=?utf-8?q?/XpJE7gwqVMS6Wew3o781JREO8G0uFkrI/i1hLFm/1g5OnEo5VktcLpWhZ7YOyzRB?=\n\t=?utf-8?q?FxJPEJgG3omNE4uSKZozpXg51H8xQkvbdaCKGbDjmI3Ufytf7AjZfHc6N0JTaLT0j?=\n\t=?utf-8?q?eXCuYxvSCFRLo3LOvCt+Aga56Zs9Vz5PWvfbibuIBTUgZTdSiPBmzDB5HQJpp1MVY?=\n\t=?utf-8?q?zZy5/HVBRrAV5tiT3m2j9N7sBKBe69TBI3M/IzIpGIWXHIW/O8X2mzir/XBU2B2kM?=\n\t=?utf-8?q?uKjfqCEc1eK1YfD9a4r/B75PSHDNOWwlFt57hNHxFA+iY6TZGiMWedhuvKzg4Qou0?=\n\t=?utf-8?q?HPWPZnQcdHC3JbULWOB2/nz3okgFfo+cBWpj1TjLwEJ8jhe6vd9oGNmjxofb0r5Fg?=\n\t=?utf-8?q?bWOEsNu+TAMQWrot12mb+LRgBz2kpvoYl0OaKCXCquY1e832/kv/50EuBxNMqRuqR?=\n\t=?utf-8?q?zyHMt2FBERCDsXPxacLEWYCIijimDV/SImGsRIJ7Q8ZmPpLbvvT7i3UQjmbSzOcqi?=\n\t=?utf-8?q?lrio7YM3+Z0TiFrKIAyPj0EsKiZXbmCPcGBuC4K1NH9YJ7yAykEYwvze5PMwqX51Q?=\n\t=?utf-8?q?nQHrnM43WdSjzSx+2dRnyMd67zPi6TLJ/7ttjD7bOnAp/FC5WZckN6iV1Ndblzvr5?=\n\t=?utf-8?q?6nMeYdK6FHvJBKoyMxEnx98tJeT21hMcwIuE5pV7cMvgZ+/wPOdq8c+j8uuAPuW/r?=\n\t=?utf-8?q?NZ1jRnvYYvHp98a0hD1xXkrcetD+j52Nm3UYTTU/wjSPUoFK0vcc5Fdwwq7lQi6q4?=\n\t=?utf-8?q?g+JZafWqqtfGwsIUeQK4fJwIS+5q2Q1yA+Z2USh2vtbNm7kzoszHNh+r45wtrlLmt?=\n\t=?utf-8?q?bVz9PVnm5PwDrmjgr1VTHjrjA7cECGs/W5iLaeBQY9E9iLyyFu1UsaAAtUGdiVUN4?=\n\t=?utf-8?q?I1SVXZ/W4DxzLRZeJF7PCwFoDfVyBO6W5mrXvWX9J9NGfimzv5Kskjecv+GRjkhmS?=\n\t=?utf-8?q?aksxbLiCIiA7oY5xEXA243KnKDzy+9dX1BkumAVt+TJkSVMCR8XQHJtNxu/CbopYj?=\n\t=?utf-8?q?LMet/NT0WVG0cVYi5mTbVF2msjPo2Gm253hvcG9tK6zMg8NPgcoCLfmvx7O6XcHms?=\n\t=?utf-8?q?AzxegXFHpCmn/Tsulcn9orld+jK6xCMxqtmpwcN8In1FignQAO7xNnkd4RztsYA7h?=\n\t=?utf-8?q?rMSDsxLTy2pM/+Fl+EVGj2zEtHw020tYKxUH6bNDD7SoglRTcUPdoyt55iuEJDiZO?=\n\t=?utf-8?q?opDCLOJ6pEejfIyocgfWQOe6WoaVQX5eGGNtrKSAxKQrzKFbCd41UIJw7YHo3tAOh?=\n\t=?utf-8?q?cEik/+p4S8A6zOSEBUxL4guh0a3Ycfu3HVoAdqV7nXKrJhFR2zpLTSV8Ga34LUZ9t?=\n\t=?utf-8?q?xaQWMC2w0ve0wzspZ?=","X-MS-Exchange-AntiSpam-MessageData-1":"lB6QmZlOSxpKag==","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 477a7aef-f8df-41b2-62c7-08de9f6d7ec4","X-MS-Exchange-CrossTenant-AuthSource":"CH2PR12MB3990.namprd12.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"21 Apr 2026 06:16:16.2987\n (UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"43083d15-7273-40c1-b7db-39efd9ccc17a","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"\n HA0MAwdKhH8uYrIIyB/KbHOaQCL7hrr76GYaB7oKWQyluFV97TBNCLR8ogxbJ6Rw+tSTHYK7K81MU+v8MzY8kA==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"CYYPR12MB8749"},"content":"Currently the GSP is left running and the WPR2 memory region untouched\nwhen the driver is unbound. This is obviously not ideal for at least two\nreasons:\n\n- Probing requires setting up the WPR2 region, which cannot be done if\n  there is already one in place. Hence the current requirement to reset\n  the GPU (using e.g. `echo 1 >/sys/bus/pci/devices/.../reset`) before\n  the driver can be probed again after removal.\n- The running GSP may still attempt to access shared memory regions\n  which the kernel might recycle.\n\nOn top of that, there is a nasty bug in the Blackwell VBIOS that\nsometimes borks the GPU upon PCI reset, requiring a reboot. So relying\non the PCI reset to unload/reload Nova is really not practical here.\n\nThis series does the necessary to leave the GPU in a clean state after\nunbind, for all currently supported GPUs. Blackwell support is trivial\nand will be added alongside the Blackwell series [1] if this can be\nmerged first.\n\nThe first patch adds a `warn_on_err` utility macro to the kernel crate\nas it is useful to warn on failures in the driver unbind path, but I can\nremove it if it is not deemed useful.\n\nThis series applies cleanly on `master` as of today.\n\n[1] https://lore.kernel.org/all/20260411024953.473149-1-jhubbard@nvidia.com/\n\nSigned-off-by: Alexandre Courbot <acourbot@nvidia.com>\n---\nChanges in v2:\n- Rebase on top of `master` and remove unneeded/obsolete preparatory patches.\n- Tidy up the imports of commands from the `fw` module in the `gsp` module.\n- Link to v1: https://patch.msgid.link/20251216-nova-unload-v1-0-6a5d823be19d@nvidia.com\n\n---\nAlexandre Courbot (5):\n      rust: add warn_on_err macro\n      gpu: nova-core: use warn_on_err macro\n      gpu: nova-core: do not import firmware commands into GSP command module\n      gpu: nova-core: send UNLOADING_GUEST_DRIVER GSP command upon unloading\n      gpu: nova-core: run Booter Unloader and FWSEC-SB upon unbinding\n\n drivers/gpu/nova-core/firmware/booter.rs          |  1 -\n drivers/gpu/nova-core/firmware/fwsec.rs           |  1 -\n drivers/gpu/nova-core/gpu.rs                      | 21 ++++--\n drivers/gpu/nova-core/gsp/boot.rs                 | 83 +++++++++++++++++++++++\n drivers/gpu/nova-core/gsp/commands.rs             | 60 ++++++++++++----\n drivers/gpu/nova-core/gsp/fw.rs                   |  4 ++\n drivers/gpu/nova-core/gsp/fw/commands.rs          | 23 +++++++\n drivers/gpu/nova-core/gsp/fw/r570_144/bindings.rs |  8 +++\n drivers/gpu/nova-core/regs.rs                     |  5 ++\n rust/kernel/bug.rs                                | 10 +++\n 10 files changed, 197 insertions(+), 19 deletions(-)\n---\nbase-commit: b4e07588e743c989499ca24d49e752c074924a9a\nchange-id: 20251216-nova-unload-4029b3b76950\n\nBest regards,\n--  \nAlexandre Courbot <acourbot@nvidia.com>"}