Received: by 2002:a05:6602:2086:0:0:0:0 with SMTP id a6csp4453623ioa; Wed, 27 Apr 2022 04:20:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxkg1k0ql2mQ1f6SMaVfSlDWWyBwHV8paCvaVmPgUAGH/sOi6MEyVkEkIO/wOw1A+yqiQM/ X-Received: by 2002:a17:903:2352:b0:15d:5c2f:85ab with SMTP id c18-20020a170903235200b0015d5c2f85abmr1235101plh.47.1651058408885; Wed, 27 Apr 2022 04:20:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651058408; cv=none; d=google.com; s=arc-20160816; b=fmeXAjjjweNgOpdZMMP67lBJ+NikIDKPpfsPMsZG0WN6yHkw9/eeIS+nyBucef5oJn 0nHizF+cj1PMBE52qjA/GxxC5wUzqODpCUbKKQRuMJhXQuy3ywWn5Vk45rxoUTx0tZzR chI77p+ogy3oZy0JPC/rkSHDQ9XctIuuFeW/Wr4Mb5+j0CTA/VRfdl4KpXdHDwjTXdax 82xJbyy92wBhBeLSF3j69Jv1KPcWNuF4hmv0KHKD+MzOtfIzp2CGeu57Irb3+8Sged4y Xk8tFS2nXSJKfPjJz7zGjqsY/x8gfFqdjGAl/6/VEFLPvQDcRwuLUj5cdr5RIDUFgYw9 Ygwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=SYM8xO87+eG8i48/IrRaE16CJcCxKlysX9Vzq+O/NV8=; b=iJJ5iKqDl31ZEkT7Y82pvPw+Kp/JXMsNDY+OdqilatsOg2nja9NP9T+2bWUWKSQzwQ 79NffeLl0GXpfsMXWGxmpXmMJEFDJgXmxsbCo8CKbtHWgSzTnI5ZcPSlGJLqh6o5c1pv /nmcwmgP7ICTueI7zXHB+NLsdEdcECMuW/EsTcGNkQ7V75xZE31Dnman+vupopnEfz2I boV+P/iqShgzkgT0hFtlt0hsERd8bW3hYe7l0jqrTQIHlANhNGqY/pJX992q1hCYrGoM W+JWCS3ERVAvnd1P93NRQIDmFcM0bUILsZq0kvy1+74eEHsFhBmf547njQR1COtuma7n f2mg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id a5-20020a170902ecc500b00153b2d1653asi1461840plh.322.2022.04.27.04.20.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Apr 2022 04:20:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 7EA343280E2; Wed, 27 Apr 2022 03:14:01 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355240AbiDZVFL (ORCPT + 99 others); Tue, 26 Apr 2022 17:05:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39222 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241107AbiDZVFI (ORCPT ); Tue, 26 Apr 2022 17:05:08 -0400 Received: from mout.kundenserver.de (mout.kundenserver.de [217.72.192.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 31C0649F02; Tue, 26 Apr 2022 14:01:59 -0700 (PDT) Received: from mail-yw1-f169.google.com ([209.85.128.169]) by mrelayeu.kundenserver.de (mreue108 [213.165.67.113]) with ESMTPSA (Nemesis) id 1MA7Om-1nZ2Cd3Jb0-00Bb4f; Tue, 26 Apr 2022 23:01:58 +0200 Received: by mail-yw1-f169.google.com with SMTP id 00721157ae682-2ebf4b91212so196251937b3.8; Tue, 26 Apr 2022 14:01:57 -0700 (PDT) X-Gm-Message-State: AOAM531Jmeb+wXxwTPybB2cgpXPepoLVRfxSs+7joNgFzGXF4h3ycNPo rLFlIWRRGqZwYgeg2+XHIlkkYlRn3WsiKYh65F4= X-Received: by 2002:a0d:fc83:0:b0:2e5:b0f4:c125 with SMTP id m125-20020a0dfc83000000b002e5b0f4c125mr24255532ywf.347.1651006916466; Tue, 26 Apr 2022 14:01:56 -0700 (PDT) MIME-Version: 1.0 References: <20220426201539.12829-1-sven@svenpeter.dev> <20220426201539.12829-6-sven@svenpeter.dev> In-Reply-To: <20220426201539.12829-6-sven@svenpeter.dev> From: Arnd Bergmann Date: Tue, 26 Apr 2022 23:01:40 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 5/6] soc: apple: Add RTKit IPC library To: Sven Peter Cc: Arnd Bergmann , Hector Martin , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , Marc Zyngier , Janne Grunau , DTML , Linux ARM , Linux Kernel Mailing List , linux-nvme@lists.infradead.org Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:VFuEeW327at2nyzcIChUDGMSvIHITn2NnxbxqxgCaeMKNpJmsUO jnlVBDQfKm+tf2Ujlx7tT9KVIRJtRKNIBOtuWIfvGLYMWMqEVNgj2AxpcHEJ3D67QeD/4xl qmpcl3CipxYTvMYnrgkQsQDWR84sBfxIgYOUohin4Tx4JnqYj6h5K0IMoaP6LusNIbymNcR KHoQ7UweTkKgRBrFCspOQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:8nUuzV/p2Ts=:OutXrVNzlQMqqtGLdguG+f LHoaPt60bV0y4R8hbYReEFkiUPmFufZR6swS1GxW4JoRr652ky/QDPUMiY+wQ56nulzEWM4Ov +lKb59Ne0CtN8jt/JT5qg/lNkGSRXtykbvVG8RbJ5/o2jvYz++2qoz7FUbtaBpHbci9Ce6+51 8CooEFkvmXS6TFrDmeNYee/WDBS1BuTs1k3Dna6hiGftRk7DUbWd2J4IUE0ITOTNCXNmzNHKB iPHWZoi2AlbAtZjLGcJYxjC9bl2tztiytrICUWMGAJG7TgdRjGGPyxNPfu9tWV73W9YaDk4AS sdbZ0n3N3QxCbtywPlRwMm4g5k49IzbcTYN7wKlCA2GU/u5lc2pGTpEtYgYzVfuYeVKobOo4q H7GS1JThs4QyI4njyXxmFAcZugEe+XENpkYK/hf+lHqd2LOW3OB7K6a0kT8a9RUTZc7RijHMa O5LZm3GLlYNzS37hrU0s0v3ivK2OtQnW2nwsfEZ4V83kpEtvTjzSpCX+iY0grxX1b7Qqms46f wJymGFPEr2RUxeWFU/+8soKHnpu9OTqIoLXAm8xIbkie3gfkFwgjVoFnhTpHXe8Nw+aOLO/j1 7aq4LwbLzK0dfoXTy8Zb+XvC1ADcz7dEMD9+NlywHHWPf7ZE2kUr9z1k2Y4eo1PKLb/1fhshE TfxziD8aba45hn00hWBvSiEhKlDLMNLKIOXcbobSMJqMC61G4R/rE0PeN08SRqKU1P3/UUpa9 sNbL+TiCrqyIkJOqBjTQQABGtk+mnTjcNu2oGQjW9Sbe5GMRilmzuIjd3t3OfDImUuszMyUn/ rYFtais8nMINdn/3SOv0/9ngrObOF0oj2DBj0iQH5U7HjO9yPU= X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 26, 2022 at 10:15 PM Sven Peter wrote: > > Apple SoCs such as the M1 come with multiple embedded co-processors > running proprietary firmware. Communication with those is established > over a simple mailbox using the RTKit IPC protocol. > > This cannot be implement inside the mailbox subsystem since on top > of communication over channels we also need support for starting, > hibernating and resetting these co-processors. We also need to > handle shared memory allocations differently depending on the > co-processor and don't want to split that across multiple drivers. > > Signed-off-by: Sven Peter Reviewed-by: Arnd Bergmann > +bool apple_rtkit_is_running(struct apple_rtkit *rtk) > +{ > + if (rtk->crashed) > + return false; > + if ((rtk->iop_power_state & 0xff) != APPLE_RTKIT_PWR_STATE_ON) > + return false; > + if ((rtk->ap_power_state & 0xff) != APPLE_RTKIT_PWR_STATE_ON) > + return false; > + return true; > +} > +EXPORT_SYMBOL_GPL(apple_rtkit_is_running); > + > +bool apple_rtkit_is_crashed(struct apple_rtkit *rtk) > +{ > + return rtk->crashed; > +} > +EXPORT_SYMBOL_GPL(apple_rtkit_is_crashed); I noticed that you use EXPORT_SYMBOL_GPL() here, but a more permissive EXPORT_SYMBOL() in the SART driver. Is that intentional? I would have assumed that both are similarly private to the apple SoCs and would be the _GPL type, but this is something you get to pick as the author. > + > +#if IS_ENABLED(CONFIG_APPLE_RTKIT) > + Same comment about the #if as for the SART driver: I'd prefer it without the conditional compilation. Arnd