Received: by 2002:a05:6358:111d:b0:dc:6189:e246 with SMTP id f29csp1860007rwi; Thu, 3 Nov 2022 09:50:56 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4b7SpVqGjfiQFqQYHXzhIndmJgYpk41JvfGkrWo7d2+Jpjikrt2ZPToDit2+JDBOcI8i/j X-Received: by 2002:a17:907:8a0a:b0:78d:b87d:e68a with SMTP id sc10-20020a1709078a0a00b0078db87de68amr28964279ejc.301.1667494256561; Thu, 03 Nov 2022 09:50:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667494256; cv=none; d=google.com; s=arc-20160816; b=QYyQgK/GWd6wh71xDbCg+GQHcmlO7Ge/+ANlac+UqiHoevgSvglsR7pZ2KSSsC6I51 R/JuHlpskQt0pqBpsQv+/2kkcc3nlYuQxkq1ALFPHVwppkcQ5F6+ccwqziDYF9ahY6wp yLUU5l58T7ESyHxCXKrJSxwinEGtDk1eHfdQ9V5FV7DLXNcrYPqm2Nyl7EN8yPfeIas+ OMkggcYLHfeqVLHJFoxPM92cNTLjCzOLs6KV1rIidPLlw81863FImFqjECBfOn5IxjW6 TsXl20b7R2rPGVZdH11ExtG5F6J0OqFZxnT4AQMVXahifdoCX6+z7pAkY7vx/0ENP76y uUrQ== 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:dkim-signature; bh=uRUgy37EWsW5q3ZYSeelIBVgNxGGsV1P48H49SnRSYg=; b=u/8XBCEx2l13uVBQQN86PdvL/MSQgQwKr9mYLaTHXO39fXY40fGRtYayZ+ZYcBAZZ3 yR+O7heZGUQSEj+nH3na3veb14L0pQhfxB234tZ4zJy7oNRbIV637mfKzn8t+1wCxrhQ ZTF6FhihkxWHM3sWTx2bXqSGJfPRTmshmeYAjWTO1B3944usMtyqEt67h0CZMFDZ/+6A F0/5t4tegZ+smkvBitltJeuXsHy25Oho86/CMem86NXzSl6hXZVt6oooseoiB5xi91zi 9HpCOh00QtoJx+N5IHxflU2X3skXgmuJxmmduM/G1uwSFd4597WEM3kwJR6szJ6zI0nL ab6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mmzSGdm7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h3-20020a17090634c300b0078d9c0e896bsi1199628ejb.525.2022.11.03.09.50.32; Thu, 03 Nov 2022 09:50:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mmzSGdm7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232417AbiKCQkq (ORCPT + 97 others); Thu, 3 Nov 2022 12:40:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39302 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231666AbiKCQkb (ORCPT ); Thu, 3 Nov 2022 12:40:31 -0400 Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B20D620BE5 for ; Thu, 3 Nov 2022 09:37:26 -0700 (PDT) Received: by mail-pg1-x536.google.com with SMTP id r18so2117255pgr.12 for ; Thu, 03 Nov 2022 09:37:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=uRUgy37EWsW5q3ZYSeelIBVgNxGGsV1P48H49SnRSYg=; b=mmzSGdm7jx01/1GoeL3dt0cYDfdnZ3FULAVVkbCHHq539FGuok1VuBlP6QXQPXEOzy buxL70KCnvS4UxFw0YNACLpRpnqmUjq1SKg/FcRB4nW1d4+qlJ+6r3zf/iG8yVh7vs85 5sKVA2yy0aMYYLqrD+qmeiu72sBL33C+YQdKuOlVEDeSlXK0wJGjdfATsg25d3g56m7k Fl1wtdWQYdIekqAmKl+SeQ5sqk0H49aFNRYpjTqW8Ntnnw13yoc8O2V7Y+qwsNyGpTcR KvFGS1BIeiQwXprX0ml1uZbkCMYz5jdz7hxt1H58TV4UIqLvBBxDuonF4y4NEwqvOk02 FdZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=uRUgy37EWsW5q3ZYSeelIBVgNxGGsV1P48H49SnRSYg=; b=tgBvcWz2b+UxjugtbaPuaHAhR/2uj7Uy33tkpdLS7y92iSSef7ye17ygxorZrW/mXc hRNu7WHKQ3e8RjJ+mY+mEg38mVL3g50pB2LbKZimCkWLEMSu/mJSKg1zhi/uRbTT3AGr zME2LhHAKOUIqp0nYyIb/ajSpAdYapx/wFUGD8YVWFAIXU5dDTw9pj1lk0NwviKSGSPp TKeaLleEh14wPXoAp9y0mv2OF1ERfilwLe7mHESIRVfwdMXsni+J20x2fg2codJlSns4 p76s2J4P7Mag1BZR3xdJwOEHvSyC+ot+uqu/+muvHY93dkxy+rGx+l+qzhNdlQ/hPgd+ XRpQ== X-Gm-Message-State: ACrzQf2W4BHEu31iO04UeQWFFl6iny0cOwVBkJAgxkVr+rfM8lc5c9ZN 99Utid2iVczExOdMIcjVInqXf8vQErkFbEUyooBtfw== X-Received: by 2002:a05:6a00:2386:b0:56c:b791:40f2 with SMTP id f6-20020a056a00238600b0056cb79140f2mr31474948pfc.4.1667493445669; Thu, 03 Nov 2022 09:37:25 -0700 (PDT) MIME-Version: 1.0 References: <20221028191243.31721-1-semen.protsenko@linaro.org> <20221028191243.31721-4-semen.protsenko@linaro.org> <7ed8c884-cee1-7cb0-f2ce-f7ec156cd841@samsung.com> In-Reply-To: From: Sam Protsenko Date: Thu, 3 Nov 2022 17:37:13 +0100 Message-ID: Subject: Re: [PATCH 3/4] iommu/exynos: Modularize the driver To: Marek Szyprowski Cc: Krzysztof Kozlowski , Joerg Roedel , Will Deacon , Robin Murphy , Sumit Semwal , Alim Akhtar , Janghyuck Kim , Cho KyongHo , Daniel Mentz , David Virag , iommu@lists.linux.dev, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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 Thu, 3 Nov 2022 at 14:03, Sam Protsenko wrote: > > Hi Marek, > > [snip] > > > MODULE_DEVICE_TABLE(of, sysmmu_of_match); is missing, so the driver > > won't be automatically loaded, what breaks its operation if compiled as > > module. > > > > Right, didn't think about hot-plug case. Will add > MODULE_DEVICE_TABLE() along with MODULE_ALIAS() in v2, thanks. > > > Also Exynos DRM and S5P-MFC drivers rely on the Exynos IOMMU being > > built-in, so they need to be adjusted for modularized builds too imho, > > at least in the Kconfig dependency. > > > Did some research on that question: - both DRM_EXYNOS and S5P_MFC drivers are designed to work fine even when EXYNOS_IOMMU is disabled: they just take another code path in that case - DRM_EXYNOS already uses IS_ENABLE() macro, which covers EXYNOS_IOMMU=m case - I'll provide a fix for S5P_MFC in v2 to do the same, as right now it does the check with #ifdef CONFIG_EXYNOS_IOMMU, which only covers =y case - both DRM_EXYNOS and S5P_MFC don't use EXYNOS_IOMMU driver symbols, as the latter doesn't export any - the correct probe order (EXYNOS_IOMMU first, then its users) is already ensured in device tree, by referencing sysmmu phandles in "iommus = <&...>" properties So I'm not sure if it makes sense to make those drivers depend on EXYNOS_IOMMU in Kconfig? AFAIR, there could've been some issues if those used some exported symbols from EXYNOS_IOMMU, but it's not the case. Please let me know if I'm missing something. > Sure, I'll check all Kconfigs and defconfigs before sending out v2. > > Btw, can you please also check my most recent reply [1] for the > "[PATCH 1/2] iommu/exynos: Abstract getting the fault info"? > > [1] https://lore.kernel.org/lkml/CAPLW+4n-Lf6je61rxdJ9nJnX9h9F8F-y+qikG7eFF0avQpMV9Q@mail.gmail.com/ > > Thanks! > > [snip]