From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 56D2DC63699 for ; Thu, 12 Nov 2020 14:11:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id EC4AC22240 for ; Thu, 12 Nov 2020 14:11:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="QG3I2PzW" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728474AbgKLOLS (ORCPT ); Thu, 12 Nov 2020 09:11:18 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:60516 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728424AbgKLOLM (ORCPT ); Thu, 12 Nov 2020 09:11:12 -0500 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20201112141059euoutp020d45015f5a13de9f9abbac7065503b89~GyAlIMmBM1473314733euoutp02g for ; Thu, 12 Nov 2020 14:10:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20201112141059euoutp020d45015f5a13de9f9abbac7065503b89~GyAlIMmBM1473314733euoutp02g DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1605190259; bh=8FAfU6BCkgvgjJdMmzUzX4KRpyPprgS4czs4hFuFKFA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QG3I2PzW6m30F+wI7bBr3Qv2ysOQ4gBB5uROWtJOt0mKNG4F6a/CfGa1EDn7qVAXk tNcp7ViEVqbESnyPMDkZRbxuFZ6ZBDW4WUAhFBmgJQjkACLk14mgpszinRYQLV5B/9 De1O5sa3cLI2QWFApaQIeIig9E6NbwdmQPCoj9vg= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20201112141050eucas1p1d1e59396140fd85dd242a396a05c7601~GyAdJRPjk2413224132eucas1p1s; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id AA.B9.44805.A624DAF5; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0~GyAcf3gsG0207802078eucas1p2u; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20201112141050eusmtrp2d0b31be7d84f9c38df7f625982557052~GyAceJ01R1054310543eusmtrp2X; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) X-AuditID: cbfec7f4-b4fff7000000af05-60-5fad426a7beb Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 06.0F.16282.9624DAF5; Thu, 12 Nov 2020 14:10:49 +0000 (GMT) Received: from AMDC3061.digital.local (unknown [106.120.51.75]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20201112141049eusmtip2a60c36a4c3acd15056f7ea83e788a079~GyAbtIaiE3001030010eusmtip28; Thu, 12 Nov 2020 14:10:49 +0000 (GMT) From: Sylwester Nawrocki To: georgi.djakov@linaro.org, cw00.choi@samsung.com, inki.dae@samsung.com Cc: krzk@kernel.org, devicetree@vger.kernel.org, robh+dt@kernel.org, a.swigon@samsung.com, myungjoo.ham@samsung.com, sw0312.kim@samsung.com, b.zolnierkie@samsung.com, m.szyprowski@samsung.com, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-samsung-soc@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, s.nawrocki@samsung.com Subject: [PATCH v9 2/5] interconnect: Add generic interconnect driver for Exynos SoCs Date: Thu, 12 Nov 2020 15:09:28 +0100 Message-Id: <20201112140931.31139-3-s.nawrocki@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201112140931.31139-1-s.nawrocki@samsung.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrBKsWRmVeSWpSXmKPExsWy7djP87pZTmvjDQ5M1LG4P6+V0WLjjPWs Fte/PGe1mH/kHKvFla/v2Sym793EZjHp/gQWi/PnN7BbbHp8jdXi8q45bBafe48wWsw4v4/J Yu2Ru+wWtxtXsFm07j3CbnH4TTurxYzJL9kcBD02repk87hzbQ+bx/3u40wem5fUe/RtWcXo 8XmTXABbFJdNSmpOZllqkb5dAlfGqqWNTAXbgivmH77M2sA4w62LkZNDQsBE4vGcpSxdjFwc QgIrGCVe/L/FCuF8YZT4uOgtE0iVkMBnRok/27xhOqavbGeHKFrOKHHh/m8WuI7WrxcZQarY BAwleo/2AdkcHCICnhInG/RBapgFmpklGpo3gdUIC4RLPD4+hw3EZhFQlTj2ZhU7iM0rYC3R tP4wG8Q2eYnVGw4wg9icAjYSc5+2skHUCEqcnPmEBcRmBqpp3jqbGWSBhMB8Tonue9dZIJpd JGZ9WgU1SFji1fEt7BC2jMT/nfOZIBqaGSV6dt9mh3AmMErcP76AEaLKWuLOuV9sIC8wC2hK rN+lDxF2lJhx4AwTSFhCgE/ixltBiCP4JCZtm84MEeaV6GgTgqhWkfi9ajoThC0l0f3kP9Rp HhJLP7xnnsCoOAvJO7OQvDMLYe8CRuZVjOKppcW56anFRnmp5XrFibnFpXnpesn5uZsYgYnt 9L/jX3YwLn/1Ue8QIxMH4yFGCQ5mJRFeZYc18UK8KYmVValF+fFFpTmpxYcYpTlYlMR5k7YA pQTSE0tSs1NTC1KLYLJMHJxSDUxu3aHNy3jcze979nhf6ZCtYFT3uptdFbub29rO6OTsV0uy jFxra6265X44vVbLUTPfau2Y7pl0KDR5ncMbJv1LFxK/bronYVih3tWze8cpvfkNHTnmKh37 esLnn21Mu6D31lzzjPQE6w1zXWVz9K+dZz7vUx4z62Gq7ZSDPyJ/TzkXp3zD2CMjqF7m+6rj +04s/Naq9sOlIK3XTXfvgQ9v3xx6V/2tWyY59+dr3uenXznrfJM8wvNxT93OCB3Tf3buM7sP nX3XumXPiYnp2w53d0pK76/oWugdpjpbWPflrF8lxq+dJcO7F+k5NE948vD68zIZPhMWnSjd v3stTytWrnyTraKgtc1fzrUrUYmlOCPRUIu5qDgRAMNmdCXbAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrNIsWRmVeSWpSXmKPExsVy+t/xe7pZTmvjDTodLO7Pa2W02DhjPavF 9S/PWS3mHznHanHl63s2i+l7N7FZTLo/gcXi/PkN7BabHl9jtbi8aw6bxefeI4wWM87vY7JY e+Quu8XtxhVsFq17j7BbHH7TzmoxY/JLNgdBj02rOtk87lzbw+Zxv/s4k8fmJfUefVtWMXp8 3iQXwBalZ1OUX1qSqpCRX1xiqxRtaGGkZ2hpoWdkYqlnaGwea2VkqqRvZ5OSmpNZllqkb5eg l7FqaSNTwbbgivmHL7M2MM5w62Lk5JAQMJGYvrKdvYuRi0NIYCmjxMELu9i6GDmAElIS81uU IGqEJf5c62KDqPnEKDFp8XEWkASbgKFE79E+RhBbRMBXYvXJSSwgRcwCk5klHt1uYQNJCAuE Sty9+40dxGYRUJU49mYVmM0rYC3RtP4wG8QGeYnVGw4wg9icAjYSc5+2gsWFgGr2d7cxQdQL Spyc+YQF5DhmAXWJ9fOEQMLMQK3NW2czT2AUnIWkahZC1SwkVQsYmVcxiqSWFuem5xYb6RUn 5haX5qXrJefnbmIExuq2Yz+37GBc+eqj3iFGJg7GQ4wSHMxKIrzKDmvihXhTEiurUovy44tK c1KLDzGaAn0zkVlKNDkfmCzySuINzQxMDU3MLA1MLc2MlcR5TY4ANQmkJ5akZqemFqQWwfQx cXBKNTDFZL4pvmlZv0LF/3HAvNWbLjzdY37i8vXdBQW7+XoD18y9udfEfNXul28ObOLZPUPy XvCCCpE4facDLuVTd+/wFVBf/W7tb5a5sbE+9347CmrLp235fFRG6/bO1qjOG8HWrL76rziO inV/iZS+cmr2WcvbywLPpfEW7jslep57uzG75/rmS6t/FOl7rtu/d/HZY5ZcBs6v7R4qpfyY ZTH/ts+UgCUVar4hJ85NCn0S7HElL8c+vuLltBy7ZWavPKfeiPe8so3116OZ88T7TKZ3S1dF hi0R3sbxwPDqEhul4qkfgndbPO5bzSWwbu/vLZ3ZnfX1GTW3kwM5wkLFLid7zL+rxzhRoPxm 9nKpFJt0JZbijERDLeai4kQAd6HGqF4DAAA= X-CMS-MailID: 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0 References: <20201112140931.31139-1-s.nawrocki@samsung.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch adds a generic interconnect driver for Exynos SoCs in order to provide interconnect functionality for each "samsung,exynos-bus" compatible device. The SoC topology is a graph (or more specifically, a tree) and its edges are described by specifying in the 'interconnects' property the interconnect consumer path for each interconnect provider DT node. Each bus is now an interconnect provider and an interconnect node as well (cf. Documentation/interconnect/interconnect.rst), i.e. every bus registers itself as a node. Node IDs are not hard coded but rather assigned dynamically at runtime. This approach allows for using this driver with various Exynos SoCs. Frequencies requested via the interconnect API for a given node are propagated to devfreq using dev_pm_qos_update_request(). Please note that it is not an error when CONFIG_INTERCONNECT is 'n', in which case all interconnect API functions are no-op. The samsung,data-clk-ratio DT property is used to specify the ratio of the interconect bandwidth to the minimum data clock frequency for each bus. Due to unspecified relative probing order, -EPROBE_DEFER may be propagated to ensure that the parent is probed before its children. Reviewed-by: Chanwoo Choi Tested-by: Chanwoo Choi Acked-by: Krzysztof Kozlowski Signed-off-by: Artur Świgoń Signed-off-by: Sylwester Nawrocki --- Changes for v9: - Makefile and Kconfig fixes/improvements. Changes for v8: - renamed drivers/interconnect/exynos to drivers/interconnect/samsung, - added missing driver sync_state callback assignment. Changes for v7: - adjusted to the DT property changes: "interconnects" instead of "samsung,interconnect-parent", "samsung,data-clk-ratio" instead of "bus-width", - adaptation to of_icc_get_from_provider() function changes in v5.10-rc1. Changes for v6: - corrected of_node dereferencing in exynos_icc_get_parent() function, - corrected initialization of icc_node->name so as to avoid direct of_node->name dereferencing, - added parsing of bus-width DT property. Changes for v5: - adjust to renamed exynos,interconnect-parent-node property, - use automatically generated platform device id as the interconect node id instead of a now unavailable devfreq->id field, - add icc_ prefix to some variables to make the code more self-commenting, - use icc_nodes_remove() instead of icc_node_del() + icc_node_destroy(), - adjust to exynos,interconnect-parent-node property rename to samsung,interconnect-parent, - converted to a separate platform driver in drivers/interconnect. --- drivers/interconnect/Kconfig | 1 + drivers/interconnect/Makefile | 1 + drivers/interconnect/samsung/Kconfig | 13 +++ drivers/interconnect/samsung/Makefile | 4 + drivers/interconnect/samsung/exynos.c | 199 ++++++++++++++++++++++++++++++++++ 5 files changed, 218 insertions(+) create mode 100644 drivers/interconnect/samsung/Kconfig create mode 100644 drivers/interconnect/samsung/Makefile create mode 100644 drivers/interconnect/samsung/exynos.c diff --git a/drivers/interconnect/Kconfig b/drivers/interconnect/Kconfig index 5b7204e..d637a89 100644 --- a/drivers/interconnect/Kconfig +++ b/drivers/interconnect/Kconfig @@ -13,5 +13,6 @@ if INTERCONNECT source "drivers/interconnect/imx/Kconfig" source "drivers/interconnect/qcom/Kconfig" +source "drivers/interconnect/samsung/Kconfig" endif diff --git a/drivers/interconnect/Makefile b/drivers/interconnect/Makefile index d203520..97d393f 100644 --- a/drivers/interconnect/Makefile +++ b/drivers/interconnect/Makefile @@ -6,3 +6,4 @@ icc-core-objs := core.o bulk.o obj-$(CONFIG_INTERCONNECT) += icc-core.o obj-$(CONFIG_INTERCONNECT_IMX) += imx/ obj-$(CONFIG_INTERCONNECT_QCOM) += qcom/ +obj-$(CONFIG_INTERCONNECT_SAMSUNG) += samsung/ diff --git a/drivers/interconnect/samsung/Kconfig b/drivers/interconnect/samsung/Kconfig new file mode 100644 index 0000000..6820e4f --- /dev/null +++ b/drivers/interconnect/samsung/Kconfig @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: GPL-2.0-only +config INTERCONNECT_SAMSUNG + bool "Samsung SoC interconnect drivers" + depends on ARCH_EXYNOS || COMPILE_TEST + help + Interconnect drivers for Samsung SoCs. + +config INTERCONNECT_EXYNOS + tristate "Exynos generic interconnect driver" + depends on INTERCONNECT_SAMSUNG + default y if ARCH_EXYNOS + help + Generic interconnect driver for Exynos SoCs. diff --git a/drivers/interconnect/samsung/Makefile b/drivers/interconnect/samsung/Makefile new file mode 100644 index 0000000..e19d1df --- /dev/null +++ b/drivers/interconnect/samsung/Makefile @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 +exynos-interconnect-objs := exynos.o + +obj-$(CONFIG_INTERCONNECT_EXYNOS) += exynos-interconnect.o diff --git a/drivers/interconnect/samsung/exynos.c b/drivers/interconnect/samsung/exynos.c new file mode 100644 index 0000000..6559d8c --- /dev/null +++ b/drivers/interconnect/samsung/exynos.c @@ -0,0 +1,199 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Exynos generic interconnect provider driver + * + * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * + * Authors: Artur Świgoń + * Sylwester Nawrocki + */ +#include +#include +#include +#include +#include +#include +#include + +#define EXYNOS_ICC_DEFAULT_BUS_CLK_RATIO 8 + +struct exynos_icc_priv { + struct device *dev; + + /* One interconnect node per provider */ + struct icc_provider provider; + struct icc_node *node; + + struct dev_pm_qos_request qos_req; + u32 bus_clk_ratio; +}; + +static struct icc_node *exynos_icc_get_parent(struct device_node *np) +{ + struct of_phandle_args args; + struct icc_node_data *icc_node_data; + struct icc_node *icc_node; + int num, ret; + + num = of_count_phandle_with_args(np, "interconnects", + "#interconnect-cells"); + if (num < 1) + return NULL; /* parent nodes are optional */ + + /* Get the interconnect target node */ + ret = of_parse_phandle_with_args(np, "interconnects", + "#interconnect-cells", 0, &args); + if (ret < 0) + return ERR_PTR(ret); + + icc_node_data = of_icc_get_from_provider(&args); + of_node_put(args.np); + + if (IS_ERR(icc_node_data)) + return ERR_CAST(icc_node_data); + + icc_node = icc_node_data->node; + kfree(icc_node_data); + + return icc_node; +} + +static int exynos_generic_icc_set(struct icc_node *src, struct icc_node *dst) +{ + struct exynos_icc_priv *src_priv = src->data, *dst_priv = dst->data; + s32 src_freq = max(src->avg_bw, src->peak_bw) / src_priv->bus_clk_ratio; + s32 dst_freq = max(dst->avg_bw, dst->peak_bw) / dst_priv->bus_clk_ratio; + int ret; + + ret = dev_pm_qos_update_request(&src_priv->qos_req, src_freq); + if (ret < 0) { + dev_err(src_priv->dev, "failed to update PM QoS of %s (src)\n", + src->name); + return ret; + } + + ret = dev_pm_qos_update_request(&dst_priv->qos_req, dst_freq); + if (ret < 0) { + dev_err(dst_priv->dev, "failed to update PM QoS of %s (dst)\n", + dst->name); + return ret; + } + + return 0; +} + +static struct icc_node *exynos_generic_icc_xlate(struct of_phandle_args *spec, + void *data) +{ + struct exynos_icc_priv *priv = data; + + if (spec->np != priv->dev->parent->of_node) + return ERR_PTR(-EINVAL); + + return priv->node; +} + +static int exynos_generic_icc_remove(struct platform_device *pdev) +{ + struct exynos_icc_priv *priv = platform_get_drvdata(pdev); + struct icc_node *parent_node, *node = priv->node; + + parent_node = exynos_icc_get_parent(priv->dev->parent->of_node); + if (parent_node && !IS_ERR(parent_node)) + icc_link_destroy(node, parent_node); + + icc_nodes_remove(&priv->provider); + icc_provider_del(&priv->provider); + + return 0; +} + +static int exynos_generic_icc_probe(struct platform_device *pdev) +{ + struct device *bus_dev = pdev->dev.parent; + struct exynos_icc_priv *priv; + struct icc_provider *provider; + struct icc_node *icc_node, *icc_parent_node; + int ret; + + priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + + priv->dev = &pdev->dev; + platform_set_drvdata(pdev, priv); + + provider = &priv->provider; + + provider->set = exynos_generic_icc_set; + provider->aggregate = icc_std_aggregate; + provider->xlate = exynos_generic_icc_xlate; + provider->dev = bus_dev; + provider->inter_set = true; + provider->data = priv; + + ret = icc_provider_add(provider); + if (ret < 0) + return ret; + + icc_node = icc_node_create(pdev->id); + if (IS_ERR(icc_node)) { + ret = PTR_ERR(icc_node); + goto err_prov_del; + } + + priv->node = icc_node; + icc_node->name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%pOFn", + bus_dev->of_node); + if (of_property_read_u32(bus_dev->of_node, "samsung,data-clock-ratio", + &priv->bus_clk_ratio)) + priv->bus_clk_ratio = EXYNOS_ICC_DEFAULT_BUS_CLK_RATIO; + + /* + * Register a PM QoS request for the parent (devfreq) device. + */ + ret = dev_pm_qos_add_request(bus_dev, &priv->qos_req, + DEV_PM_QOS_MIN_FREQUENCY, 0); + if (ret < 0) + goto err_node_del; + + icc_node->data = priv; + icc_node_add(icc_node, provider); + + icc_parent_node = exynos_icc_get_parent(bus_dev->of_node); + if (IS_ERR(icc_parent_node)) { + ret = PTR_ERR(icc_parent_node); + goto err_pmqos_del; + } + if (icc_parent_node) { + ret = icc_link_create(icc_node, icc_parent_node->id); + if (ret < 0) + goto err_pmqos_del; + } + + return 0; + +err_pmqos_del: + dev_pm_qos_remove_request(&priv->qos_req); +err_node_del: + icc_nodes_remove(provider); +err_prov_del: + icc_provider_del(provider); + return ret; +} + +static struct platform_driver exynos_generic_icc_driver = { + .driver = { + .name = "exynos-generic-icc", + .sync_state = icc_sync_state, + }, + .probe = exynos_generic_icc_probe, + .remove = exynos_generic_icc_remove, +}; +module_platform_driver(exynos_generic_icc_driver); + +MODULE_DESCRIPTION("Exynos generic interconnect driver"); +MODULE_AUTHOR("Artur Świgoń "); +MODULE_AUTHOR("Sylwester Nawrocki "); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:exynos-generic-icc"); -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A6E98C2D0A3 for ; Thu, 12 Nov 2020 14:12:54 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 26821216FD for ; Thu, 12 Nov 2020 14:12:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="TowpFIQr"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="QG3I2PzW" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 26821216FD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:MIME-Version:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=o5CgnHeq8fXwmBjCljZ46KWzMaEjFOtXBBJgSNfZy5E=; b=TowpFIQrMZ8PItG/+U/x9LEgY CnWqEczOORVVeB2vD8CeRdSjlc2Ja7Jj8wvSuRly5wzy0jwO47GooXZ4d3oZytCq3pxxGj1Nxt9pV R1KrRQUvkH17Jqwo1YABDEQxvkDXqpz5zzwWeANpw5T1y5XsI2CJmhmtATAAF27zL9x3yNDZhGbr/ 1xz4HXO7uLDgcrFRE+3q5ggjQaAKBxP8XeFuwmf2uxtfecQkCrOXxBktTWbBYA2RcaVm89OpBy0B1 Y5seZTNcTFxAiCQtzSqLppIxTbHFFAfwE1eWANH1t/3/T2dw0Ufr0a2+uR1n/wX2MwH1iEwE9pV63 HMoEQYKQw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kdDK1-00082R-Kc; Thu, 12 Nov 2020 14:11:33 +0000 Received: from mailout1.w1.samsung.com ([210.118.77.11]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kdDJk-0007u2-Ku for linux-arm-kernel@lists.infradead.org; Thu, 12 Nov 2020 14:11:22 +0000 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20201112141059euoutp01910ed3b7f5a18d239fb27eab2b06f935~GyAlHDSbx1492514925euoutp01q for ; Thu, 12 Nov 2020 14:10:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20201112141059euoutp01910ed3b7f5a18d239fb27eab2b06f935~GyAlHDSbx1492514925euoutp01q DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1605190259; bh=8FAfU6BCkgvgjJdMmzUzX4KRpyPprgS4czs4hFuFKFA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QG3I2PzW6m30F+wI7bBr3Qv2ysOQ4gBB5uROWtJOt0mKNG4F6a/CfGa1EDn7qVAXk tNcp7ViEVqbESnyPMDkZRbxuFZ6ZBDW4WUAhFBmgJQjkACLk14mgpszinRYQLV5B/9 De1O5sa3cLI2QWFApaQIeIig9E6NbwdmQPCoj9vg= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20201112141050eucas1p1d1e59396140fd85dd242a396a05c7601~GyAdJRPjk2413224132eucas1p1s; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id AA.B9.44805.A624DAF5; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0~GyAcf3gsG0207802078eucas1p2u; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20201112141050eusmtrp2d0b31be7d84f9c38df7f625982557052~GyAceJ01R1054310543eusmtrp2X; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) X-AuditID: cbfec7f4-b4fff7000000af05-60-5fad426a7beb Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 06.0F.16282.9624DAF5; Thu, 12 Nov 2020 14:10:49 +0000 (GMT) Received: from AMDC3061.digital.local (unknown [106.120.51.75]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20201112141049eusmtip2a60c36a4c3acd15056f7ea83e788a079~GyAbtIaiE3001030010eusmtip28; Thu, 12 Nov 2020 14:10:49 +0000 (GMT) From: Sylwester Nawrocki To: georgi.djakov@linaro.org, cw00.choi@samsung.com, inki.dae@samsung.com Subject: [PATCH v9 2/5] interconnect: Add generic interconnect driver for Exynos SoCs Date: Thu, 12 Nov 2020 15:09:28 +0100 Message-Id: <20201112140931.31139-3-s.nawrocki@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201112140931.31139-1-s.nawrocki@samsung.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrBKsWRmVeSWpSXmKPExsWy7djP87pZTmvjDQ5M1LG4P6+V0WLjjPWs Fte/PGe1mH/kHKvFla/v2Sym793EZjHp/gQWi/PnN7BbbHp8jdXi8q45bBafe48wWsw4v4/J Yu2Ru+wWtxtXsFm07j3CbnH4TTurxYzJL9kcBD02repk87hzbQ+bx/3u40wem5fUe/RtWcXo 8XmTXABbFJdNSmpOZllqkb5dAlfGqqWNTAXbgivmH77M2sA4w62LkZNDQsBE4vGcpSxdjFwc QgIrGCVe/L/FCuF8YZT4uOgtE0iVkMBnRok/27xhOqavbGeHKFrOKHHh/m8WuI7WrxcZQarY BAwleo/2AdkcHCICnhInG/RBapgFmpklGpo3gdUIC4RLPD4+hw3EZhFQlTj2ZhU7iM0rYC3R tP4wG8Q2eYnVGw4wg9icAjYSc5+2skHUCEqcnPmEBcRmBqpp3jqbGWSBhMB8Tonue9dZIJpd JGZ9WgU1SFji1fEt7BC2jMT/nfOZIBqaGSV6dt9mh3AmMErcP76AEaLKWuLOuV9sIC8wC2hK rN+lDxF2lJhx4AwTSFhCgE/ixltBiCP4JCZtm84MEeaV6GgTgqhWkfi9ajoThC0l0f3kP9Rp HhJLP7xnnsCoOAvJO7OQvDMLYe8CRuZVjOKppcW56anFRnmp5XrFibnFpXnpesn5uZsYgYnt 9L/jX3YwLn/1Ue8QIxMH4yFGCQ5mJRFeZYc18UK8KYmVValF+fFFpTmpxYcYpTlYlMR5k7YA pQTSE0tSs1NTC1KLYLJMHJxSDUxu3aHNy3jcze979nhf6ZCtYFT3uptdFbub29rO6OTsV0uy jFxra6265X44vVbLUTPfau2Y7pl0KDR5ncMbJv1LFxK/bronYVih3tWze8cpvfkNHTnmKh37 esLnn21Mu6D31lzzjPQE6w1zXWVz9K+dZz7vUx4z62Gq7ZSDPyJ/TzkXp3zD2CMjqF7m+6rj +04s/Naq9sOlIK3XTXfvgQ9v3xx6V/2tWyY59+dr3uenXznrfJM8wvNxT93OCB3Tf3buM7sP nX3XumXPiYnp2w53d0pK76/oWugdpjpbWPflrF8lxq+dJcO7F+k5NE948vD68zIZPhMWnSjd v3stTytWrnyTraKgtc1fzrUrUYmlOCPRUIu5qDgRAMNmdCXbAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrNIsWRmVeSWpSXmKPExsVy+t/xe7pZTmvjDTodLO7Pa2W02DhjPavF 9S/PWS3mHznHanHl63s2i+l7N7FZTLo/gcXi/PkN7BabHl9jtbi8aw6bxefeI4wWM87vY7JY e+Quu8XtxhVsFq17j7BbHH7TzmoxY/JLNgdBj02rOtk87lzbw+Zxv/s4k8fmJfUefVtWMXp8 3iQXwBalZ1OUX1qSqpCRX1xiqxRtaGGkZ2hpoWdkYqlnaGwea2VkqqRvZ5OSmpNZllqkb5eg l7FqaSNTwbbgivmHL7M2MM5w62Lk5JAQMJGYvrKdvYuRi0NIYCmjxMELu9i6GDmAElIS81uU IGqEJf5c62KDqPnEKDFp8XEWkASbgKFE79E+RhBbRMBXYvXJSSwgRcwCk5klHt1uYQNJCAuE Sty9+40dxGYRUJU49mYVmM0rYC3RtP4wG8QGeYnVGw4wg9icAjYSc5+2gsWFgGr2d7cxQdQL Spyc+YQF5DhmAXWJ9fOEQMLMQK3NW2czT2AUnIWkahZC1SwkVQsYmVcxiqSWFuem5xYb6RUn 5haX5qXrJefnbmIExuq2Yz+37GBc+eqj3iFGJg7GQ4wSHMxKIrzKDmvihXhTEiurUovy44tK c1KLDzGaAn0zkVlKNDkfmCzySuINzQxMDU3MLA1MLc2MlcR5TY4ANQmkJ5akZqemFqQWwfQx cXBKNTDFZL4pvmlZv0LF/3HAvNWbLjzdY37i8vXdBQW7+XoD18y9udfEfNXul28ObOLZPUPy XvCCCpE4facDLuVTd+/wFVBf/W7tb5a5sbE+9347CmrLp235fFRG6/bO1qjOG8HWrL76rziO inV/iZS+cmr2WcvbywLPpfEW7jslep57uzG75/rmS6t/FOl7rtu/d/HZY5ZcBs6v7R4qpfyY ZTH/ts+UgCUVar4hJ85NCn0S7HElL8c+vuLltBy7ZWavPKfeiPe8so3116OZ88T7TKZ3S1dF hi0R3sbxwPDqEhul4qkfgndbPO5bzSWwbu/vLZ3ZnfX1GTW3kwM5wkLFLid7zL+rxzhRoPxm 9nKpFJt0JZbijERDLeai4kQAd6HGqF4DAAA= X-CMS-MailID: 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0 X-Msg-Generator: CA X-RootMTR: 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0 References: <20201112140931.31139-1-s.nawrocki@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201112_091117_084127_2536B3C0 X-CRM114-Status: GOOD ( 30.43 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, b.zolnierkie@samsung.com, dri-devel@lists.freedesktop.org, linux-pm@vger.kernel.org, sw0312.kim@samsung.com, a.swigon@samsung.com, robh+dt@kernel.org, linux-kernel@vger.kernel.org, myungjoo.ham@samsung.com, krzk@kernel.org, s.nawrocki@samsung.com, linux-arm-kernel@lists.infradead.org, m.szyprowski@samsung.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org VGhpcyBwYXRjaCBhZGRzIGEgZ2VuZXJpYyBpbnRlcmNvbm5lY3QgZHJpdmVyIGZvciBFeHlub3Mg U29DcyBpbiBvcmRlcgp0byBwcm92aWRlIGludGVyY29ubmVjdCBmdW5jdGlvbmFsaXR5IGZvciBl YWNoICJzYW1zdW5nLGV4eW5vcy1idXMiCmNvbXBhdGlibGUgZGV2aWNlLgoKVGhlIFNvQyB0b3Bv bG9neSBpcyBhIGdyYXBoIChvciBtb3JlIHNwZWNpZmljYWxseSwgYSB0cmVlKSBhbmQgaXRzCmVk Z2VzIGFyZSBkZXNjcmliZWQgYnkgc3BlY2lmeWluZyBpbiB0aGUgJ2ludGVyY29ubmVjdHMnIHBy b3BlcnR5CnRoZSBpbnRlcmNvbm5lY3QgY29uc3VtZXIgcGF0aCBmb3IgZWFjaCBpbnRlcmNvbm5l Y3QgcHJvdmlkZXIgRFQgbm9kZS4KCkVhY2ggYnVzIGlzIG5vdyBhbiBpbnRlcmNvbm5lY3QgcHJv dmlkZXIgYW5kIGFuIGludGVyY29ubmVjdCBub2RlIGFzCndlbGwgKGNmLiBEb2N1bWVudGF0aW9u L2ludGVyY29ubmVjdC9pbnRlcmNvbm5lY3QucnN0KSwgaS5lLiBldmVyeSBidXMKcmVnaXN0ZXJz IGl0c2VsZiBhcyBhIG5vZGUuIE5vZGUgSURzIGFyZSBub3QgaGFyZCBjb2RlZCBidXQgcmF0aGVy CmFzc2lnbmVkIGR5bmFtaWNhbGx5IGF0IHJ1bnRpbWUuIFRoaXMgYXBwcm9hY2ggYWxsb3dzIGZv ciB1c2luZyB0aGlzCmRyaXZlciB3aXRoIHZhcmlvdXMgRXh5bm9zIFNvQ3MuCgpGcmVxdWVuY2ll cyByZXF1ZXN0ZWQgdmlhIHRoZSBpbnRlcmNvbm5lY3QgQVBJIGZvciBhIGdpdmVuIG5vZGUgYXJl CnByb3BhZ2F0ZWQgdG8gZGV2ZnJlcSB1c2luZyBkZXZfcG1fcW9zX3VwZGF0ZV9yZXF1ZXN0KCku IFBsZWFzZSBub3RlCnRoYXQgaXQgaXMgbm90IGFuIGVycm9yIHdoZW4gQ09ORklHX0lOVEVSQ09O TkVDVCBpcyAnbicsIGluIHdoaWNoCmNhc2UgYWxsIGludGVyY29ubmVjdCBBUEkgZnVuY3Rpb25z IGFyZSBuby1vcC4KClRoZSBzYW1zdW5nLGRhdGEtY2xrLXJhdGlvIERUIHByb3BlcnR5IGlzIHVz ZWQgdG8gc3BlY2lmeSB0aGUgcmF0aW8Kb2YgdGhlIGludGVyY29uZWN0IGJhbmR3aWR0aCB0byB0 aGUgbWluaW11bSBkYXRhIGNsb2NrIGZyZXF1ZW5jeQpmb3IgZWFjaCBidXMuCgpEdWUgdG8gdW5z cGVjaWZpZWQgcmVsYXRpdmUgcHJvYmluZyBvcmRlciwgLUVQUk9CRV9ERUZFUiBtYXkgYmUKcHJv cGFnYXRlZCB0byBlbnN1cmUgdGhhdCB0aGUgcGFyZW50IGlzIHByb2JlZCBiZWZvcmUgaXRzIGNo aWxkcmVuLgoKUmV2aWV3ZWQtYnk6IENoYW53b28gQ2hvaSA8Y3cwMC5jaG9pQHNhbXN1bmcuY29t PgpUZXN0ZWQtYnk6IENoYW53b28gQ2hvaSA8Y3cwMC5jaG9pQHNhbXN1bmcuY29tPgpBY2tlZC1i eTogS3J6eXN6dG9mIEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBB cnR1ciDFmndpZ2/FhCA8YS5zd2lnb25Ac2Ftc3VuZy5jb20+ClNpZ25lZC1vZmYtYnk6IFN5bHdl c3RlciBOYXdyb2NraSA8cy5uYXdyb2NraUBzYW1zdW5nLmNvbT4KLS0tCkNoYW5nZXMgZm9yIHY5 OgogLSBNYWtlZmlsZSBhbmQgS2NvbmZpZyBmaXhlcy9pbXByb3ZlbWVudHMuCgpDaGFuZ2VzIGZv ciB2ODoKIC0gcmVuYW1lZCBkcml2ZXJzL2ludGVyY29ubmVjdC9leHlub3MgdG8gZHJpdmVycy9p bnRlcmNvbm5lY3Qvc2Ftc3VuZywKIC0gYWRkZWQgbWlzc2luZyBkcml2ZXIgc3luY19zdGF0ZSBj YWxsYmFjayBhc3NpZ25tZW50LgoKQ2hhbmdlcyBmb3Igdjc6CiAtIGFkanVzdGVkIHRvIHRoZSBE VCBwcm9wZXJ0eSBjaGFuZ2VzOiAiaW50ZXJjb25uZWN0cyIgaW5zdGVhZAogICBvZiAic2Ftc3Vu ZyxpbnRlcmNvbm5lY3QtcGFyZW50IiwgInNhbXN1bmcsZGF0YS1jbGstcmF0aW8iCiAgIGluc3Rl YWQgb2YgImJ1cy13aWR0aCIsCiAtIGFkYXB0YXRpb24gdG8gb2ZfaWNjX2dldF9mcm9tX3Byb3Zp ZGVyKCkgZnVuY3Rpb24gY2hhbmdlcwogICBpbiB2NS4xMC1yYzEuCgpDaGFuZ2VzIGZvciB2NjoK IC0gY29ycmVjdGVkIG9mX25vZGUgZGVyZWZlcmVuY2luZyBpbiBleHlub3NfaWNjX2dldF9wYXJl bnQoKQogICBmdW5jdGlvbiwKIC0gY29ycmVjdGVkIGluaXRpYWxpemF0aW9uIG9mIGljY19ub2Rl LT5uYW1lIHNvIGFzIHRvIGF2b2lkCiAgIGRpcmVjdCBvZl9ub2RlLT5uYW1lIGRlcmVmZXJlbmNp bmcsCiAtIGFkZGVkIHBhcnNpbmcgb2YgYnVzLXdpZHRoIERUIHByb3BlcnR5LgoKQ2hhbmdlcyBm b3IgdjU6CiAtIGFkanVzdCB0byByZW5hbWVkIGV4eW5vcyxpbnRlcmNvbm5lY3QtcGFyZW50LW5v ZGUgcHJvcGVydHksCiAtIHVzZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBwbGF0Zm9ybSBkZXZp Y2UgaWQgYXMgdGhlIGludGVyY29uZWN0CiAgIG5vZGUgaWQgaW5zdGVhZCBvZiBhIG5vdyB1bmF2 YWlsYWJsZSBkZXZmcmVxLT5pZCBmaWVsZCwKIC0gYWRkIGljY18gcHJlZml4IHRvIHNvbWUgdmFy aWFibGVzIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSBzZWxmLWNvbW1lbnRpbmcsCiAtIHVzZSBpY2Nf bm9kZXNfcmVtb3ZlKCkgaW5zdGVhZCBvZiBpY2Nfbm9kZV9kZWwoKSArIGljY19ub2RlX2Rlc3Ry b3koKSwKIC0gYWRqdXN0IHRvIGV4eW5vcyxpbnRlcmNvbm5lY3QtcGFyZW50LW5vZGUgcHJvcGVy dHkgcmVuYW1lIHRvCiAgIHNhbXN1bmcsaW50ZXJjb25uZWN0LXBhcmVudCwKIC0gY29udmVydGVk IHRvIGEgc2VwYXJhdGUgcGxhdGZvcm0gZHJpdmVyIGluIGRyaXZlcnMvaW50ZXJjb25uZWN0Lgot LS0KIGRyaXZlcnMvaW50ZXJjb25uZWN0L0tjb25maWcgICAgICAgICAgfCAgIDEgKwogZHJpdmVy cy9pbnRlcmNvbm5lY3QvTWFrZWZpbGUgICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2ludGVyY29u bmVjdC9zYW1zdW5nL0tjb25maWcgIHwgIDEzICsrKwogZHJpdmVycy9pbnRlcmNvbm5lY3Qvc2Ft c3VuZy9NYWtlZmlsZSB8ICAgNCArCiBkcml2ZXJzL2ludGVyY29ubmVjdC9zYW1zdW5nL2V4eW5v cy5jIHwgMTk5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hh bmdlZCwgMjE4IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2ludGVy Y29ubmVjdC9zYW1zdW5nL0tjb25maWcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2ludGVy Y29ubmVjdC9zYW1zdW5nL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9pbnRl cmNvbm5lY3Qvc2Ftc3VuZy9leHlub3MuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW50ZXJjb25u ZWN0L0tjb25maWcgYi9kcml2ZXJzL2ludGVyY29ubmVjdC9LY29uZmlnCmluZGV4IDViNzIwNGUu LmQ2MzdhODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW50ZXJjb25uZWN0L0tjb25maWcKKysrIGIv ZHJpdmVycy9pbnRlcmNvbm5lY3QvS2NvbmZpZwpAQCAtMTMsNSArMTMsNiBAQCBpZiBJTlRFUkNP Tk5FQ1QKIAogc291cmNlICJkcml2ZXJzL2ludGVyY29ubmVjdC9pbXgvS2NvbmZpZyIKIHNvdXJj ZSAiZHJpdmVycy9pbnRlcmNvbm5lY3QvcWNvbS9LY29uZmlnIgorc291cmNlICJkcml2ZXJzL2lu dGVyY29ubmVjdC9zYW1zdW5nL0tjb25maWciCiAKIGVuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJz L2ludGVyY29ubmVjdC9NYWtlZmlsZSBiL2RyaXZlcnMvaW50ZXJjb25uZWN0L01ha2VmaWxlCmlu ZGV4IGQyMDM1MjAuLjk3ZDM5M2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW50ZXJjb25uZWN0L01h a2VmaWxlCisrKyBiL2RyaXZlcnMvaW50ZXJjb25uZWN0L01ha2VmaWxlCkBAIC02LDMgKzYsNCBA QCBpY2MtY29yZS1vYmpzCQkJCTo9IGNvcmUubyBidWxrLm8KIG9iai0kKENPTkZJR19JTlRFUkNP Tk5FQ1QpCQkrPSBpY2MtY29yZS5vCiBvYmotJChDT05GSUdfSU5URVJDT05ORUNUX0lNWCkJCSs9 IGlteC8KIG9iai0kKENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTSkJCSs9IHFjb20vCitvYmotJChD T05GSUdfSU5URVJDT05ORUNUX1NBTVNVTkcpCSs9IHNhbXN1bmcvCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2ludGVyY29ubmVjdC9zYW1zdW5nL0tjb25maWcgYi9kcml2ZXJzL2ludGVyY29ubmVjdC9z YW1zdW5nL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjgyMGU0 ZgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvaW50ZXJjb25uZWN0L3NhbXN1bmcvS2NvbmZp ZwpAQCAtMCwwICsxLDEzIEBACisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9u bHkKK2NvbmZpZyBJTlRFUkNPTk5FQ1RfU0FNU1VORworCWJvb2wgIlNhbXN1bmcgU29DIGludGVy Y29ubmVjdCBkcml2ZXJzIgorCWRlcGVuZHMgb24gQVJDSF9FWFlOT1MgfHwgQ09NUElMRV9URVNU CisJaGVscAorCSAgSW50ZXJjb25uZWN0IGRyaXZlcnMgZm9yIFNhbXN1bmcgU29Dcy4KKworY29u ZmlnIElOVEVSQ09OTkVDVF9FWFlOT1MKKwl0cmlzdGF0ZSAiRXh5bm9zIGdlbmVyaWMgaW50ZXJj b25uZWN0IGRyaXZlciIKKwlkZXBlbmRzIG9uIElOVEVSQ09OTkVDVF9TQU1TVU5HCisJZGVmYXVs dCB5IGlmIEFSQ0hfRVhZTk9TCisJaGVscAorCSAgR2VuZXJpYyBpbnRlcmNvbm5lY3QgZHJpdmVy IGZvciBFeHlub3MgU29Dcy4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW50ZXJjb25uZWN0L3NhbXN1 bmcvTWFrZWZpbGUgYi9kcml2ZXJzL2ludGVyY29ubmVjdC9zYW1zdW5nL01ha2VmaWxlCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxOWQxZGYKLS0tIC9kZXYvbnVsbAorKysg Yi9kcml2ZXJzL2ludGVyY29ubmVjdC9zYW1zdW5nL01ha2VmaWxlCkBAIC0wLDAgKzEsNCBAQAor IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorZXh5bm9zLWludGVyY29ubmVjdC1v YmpzCQk6PSBleHlub3MubworCitvYmotJChDT05GSUdfSU5URVJDT05ORUNUX0VYWU5PUykJKz0g ZXh5bm9zLWludGVyY29ubmVjdC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2ludGVyY29ubmVjdC9z YW1zdW5nL2V4eW5vcy5jIGIvZHJpdmVycy9pbnRlcmNvbm5lY3Qvc2Ftc3VuZy9leHlub3MuYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTU5ZDhjCi0tLSAvZGV2L251bGwK KysrIGIvZHJpdmVycy9pbnRlcmNvbm5lY3Qvc2Ftc3VuZy9leHlub3MuYwpAQCAtMCwwICsxLDE5 OSBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLyoKKyAqIEV4 eW5vcyBnZW5lcmljIGludGVyY29ubmVjdCBwcm92aWRlciBkcml2ZXIKKyAqCisgKiBDb3B5cmln aHQgKGMpIDIwMjAgU2Ftc3VuZyBFbGVjdHJvbmljcyBDby4sIEx0ZC4KKyAqCisgKiBBdXRob3Jz OiBBcnR1ciDFmndpZ2/FhCA8YS5zd2lnb25Ac2Ftc3VuZy5jb20+CisgKiAgICAgICAgICBTeWx3 ZXN0ZXIgTmF3cm9ja2kgPHMubmF3cm9ja2lAc2Ftc3VuZy5jb20+CisgKi8KKyNpbmNsdWRlIDxs aW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcmNvbm5lY3QtcHJvdmlkZXIuaD4K KyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9vZi5oPgorI2luY2x1 ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BtX3Fvcy5oPgor I2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKworI2RlZmluZSBFWFlOT1NfSUNDX0RFRkFVTFRfQlVT X0NMS19SQVRJTwk4CisKK3N0cnVjdCBleHlub3NfaWNjX3ByaXYgeworCXN0cnVjdCBkZXZpY2Ug KmRldjsKKworCS8qIE9uZSBpbnRlcmNvbm5lY3Qgbm9kZSBwZXIgcHJvdmlkZXIgKi8KKwlzdHJ1 Y3QgaWNjX3Byb3ZpZGVyIHByb3ZpZGVyOworCXN0cnVjdCBpY2Nfbm9kZSAqbm9kZTsKKworCXN0 cnVjdCBkZXZfcG1fcW9zX3JlcXVlc3QgcW9zX3JlcTsKKwl1MzIgYnVzX2Nsa19yYXRpbzsKK307 CisKK3N0YXRpYyBzdHJ1Y3QgaWNjX25vZGUgKmV4eW5vc19pY2NfZ2V0X3BhcmVudChzdHJ1Y3Qg ZGV2aWNlX25vZGUgKm5wKQoreworCXN0cnVjdCBvZl9waGFuZGxlX2FyZ3MgYXJnczsKKwlzdHJ1 Y3QgaWNjX25vZGVfZGF0YSAqaWNjX25vZGVfZGF0YTsKKwlzdHJ1Y3QgaWNjX25vZGUgKmljY19u b2RlOworCWludCBudW0sIHJldDsKKworCW51bSA9IG9mX2NvdW50X3BoYW5kbGVfd2l0aF9hcmdz KG5wLCAiaW50ZXJjb25uZWN0cyIsCisJCQkJCSAiI2ludGVyY29ubmVjdC1jZWxscyIpOworCWlm IChudW0gPCAxKQorCQlyZXR1cm4gTlVMTDsgLyogcGFyZW50IG5vZGVzIGFyZSBvcHRpb25hbCAq LworCisJLyogR2V0IHRoZSBpbnRlcmNvbm5lY3QgdGFyZ2V0IG5vZGUgKi8KKwlyZXQgPSBvZl9w YXJzZV9waGFuZGxlX3dpdGhfYXJncyhucCwgImludGVyY29ubmVjdHMiLAorCQkJCQkiI2ludGVy Y29ubmVjdC1jZWxscyIsIDAsICZhcmdzKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIEVSUl9Q VFIocmV0KTsKKworCWljY19ub2RlX2RhdGEgPSBvZl9pY2NfZ2V0X2Zyb21fcHJvdmlkZXIoJmFy Z3MpOworCW9mX25vZGVfcHV0KGFyZ3MubnApOworCisJaWYgKElTX0VSUihpY2Nfbm9kZV9kYXRh KSkKKwkJcmV0dXJuIEVSUl9DQVNUKGljY19ub2RlX2RhdGEpOworCisJaWNjX25vZGUgPSBpY2Nf bm9kZV9kYXRhLT5ub2RlOworCWtmcmVlKGljY19ub2RlX2RhdGEpOworCisJcmV0dXJuIGljY19u b2RlOworfQorCitzdGF0aWMgaW50IGV4eW5vc19nZW5lcmljX2ljY19zZXQoc3RydWN0IGljY19u b2RlICpzcmMsIHN0cnVjdCBpY2Nfbm9kZSAqZHN0KQoreworCXN0cnVjdCBleHlub3NfaWNjX3By aXYgKnNyY19wcml2ID0gc3JjLT5kYXRhLCAqZHN0X3ByaXYgPSBkc3QtPmRhdGE7CisJczMyIHNy Y19mcmVxID0gbWF4KHNyYy0+YXZnX2J3LCBzcmMtPnBlYWtfYncpIC8gc3JjX3ByaXYtPmJ1c19j bGtfcmF0aW87CisJczMyIGRzdF9mcmVxID0gbWF4KGRzdC0+YXZnX2J3LCBkc3QtPnBlYWtfYncp IC8gZHN0X3ByaXYtPmJ1c19jbGtfcmF0aW87CisJaW50IHJldDsKKworCXJldCA9IGRldl9wbV9x b3NfdXBkYXRlX3JlcXVlc3QoJnNyY19wcml2LT5xb3NfcmVxLCBzcmNfZnJlcSk7CisJaWYgKHJl dCA8IDApIHsKKwkJZGV2X2VycihzcmNfcHJpdi0+ZGV2LCAiZmFpbGVkIHRvIHVwZGF0ZSBQTSBR b1Mgb2YgJXMgKHNyYylcbiIsCisJCQlzcmMtPm5hbWUpOworCQlyZXR1cm4gcmV0OworCX0KKwor CXJldCA9IGRldl9wbV9xb3NfdXBkYXRlX3JlcXVlc3QoJmRzdF9wcml2LT5xb3NfcmVxLCBkc3Rf ZnJlcSk7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X2Vycihkc3RfcHJpdi0+ZGV2LCAiZmFpbGVk IHRvIHVwZGF0ZSBQTSBRb1Mgb2YgJXMgKGRzdClcbiIsCisJCQlkc3QtPm5hbWUpOworCQlyZXR1 cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGljY19ub2RlICpl eHlub3NfZ2VuZXJpY19pY2NfeGxhdGUoc3RydWN0IG9mX3BoYW5kbGVfYXJncyAqc3BlYywKKwkJ CQkJCSB2b2lkICpkYXRhKQoreworCXN0cnVjdCBleHlub3NfaWNjX3ByaXYgKnByaXYgPSBkYXRh OworCisJaWYgKHNwZWMtPm5wICE9IHByaXYtPmRldi0+cGFyZW50LT5vZl9ub2RlKQorCQlyZXR1 cm4gRVJSX1BUUigtRUlOVkFMKTsKKworCXJldHVybiBwcml2LT5ub2RlOworfQorCitzdGF0aWMg aW50IGV4eW5vc19nZW5lcmljX2ljY19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKK3sKKwlzdHJ1Y3QgZXh5bm9zX2ljY19wcml2ICpwcml2ID0gcGxhdGZvcm1fZ2V0X2RydmRh dGEocGRldik7CisJc3RydWN0IGljY19ub2RlICpwYXJlbnRfbm9kZSwgKm5vZGUgPSBwcml2LT5u b2RlOworCisJcGFyZW50X25vZGUgPSBleHlub3NfaWNjX2dldF9wYXJlbnQocHJpdi0+ZGV2LT5w YXJlbnQtPm9mX25vZGUpOworCWlmIChwYXJlbnRfbm9kZSAmJiAhSVNfRVJSKHBhcmVudF9ub2Rl KSkKKwkJaWNjX2xpbmtfZGVzdHJveShub2RlLCBwYXJlbnRfbm9kZSk7CisKKwlpY2Nfbm9kZXNf cmVtb3ZlKCZwcml2LT5wcm92aWRlcik7CisJaWNjX3Byb3ZpZGVyX2RlbCgmcHJpdi0+cHJvdmlk ZXIpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZXh5bm9zX2dlbmVyaWNfaWNjX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGRldmljZSAqYnVz X2RldiA9IHBkZXYtPmRldi5wYXJlbnQ7CisJc3RydWN0IGV4eW5vc19pY2NfcHJpdiAqcHJpdjsK KwlzdHJ1Y3QgaWNjX3Byb3ZpZGVyICpwcm92aWRlcjsKKwlzdHJ1Y3QgaWNjX25vZGUgKmljY19u b2RlLCAqaWNjX3BhcmVudF9ub2RlOworCWludCByZXQ7CisKKwlwcml2ID0gZGV2bV9remFsbG9j KCZwZGV2LT5kZXYsIHNpemVvZigqcHJpdiksIEdGUF9LRVJORUwpOworCWlmICghcHJpdikKKwkJ cmV0dXJuIC1FTk9NRU07CisKKwlwcml2LT5kZXYgPSAmcGRldi0+ZGV2OworCXBsYXRmb3JtX3Nl dF9kcnZkYXRhKHBkZXYsIHByaXYpOworCisJcHJvdmlkZXIgPSAmcHJpdi0+cHJvdmlkZXI7CisK Kwlwcm92aWRlci0+c2V0ID0gZXh5bm9zX2dlbmVyaWNfaWNjX3NldDsKKwlwcm92aWRlci0+YWdn cmVnYXRlID0gaWNjX3N0ZF9hZ2dyZWdhdGU7CisJcHJvdmlkZXItPnhsYXRlID0gZXh5bm9zX2dl bmVyaWNfaWNjX3hsYXRlOworCXByb3ZpZGVyLT5kZXYgPSBidXNfZGV2OworCXByb3ZpZGVyLT5p bnRlcl9zZXQgPSB0cnVlOworCXByb3ZpZGVyLT5kYXRhID0gcHJpdjsKKworCXJldCA9IGljY19w cm92aWRlcl9hZGQocHJvdmlkZXIpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJ aWNjX25vZGUgPSBpY2Nfbm9kZV9jcmVhdGUocGRldi0+aWQpOworCWlmIChJU19FUlIoaWNjX25v ZGUpKSB7CisJCXJldCA9IFBUUl9FUlIoaWNjX25vZGUpOworCQlnb3RvIGVycl9wcm92X2RlbDsK Kwl9CisKKwlwcml2LT5ub2RlID0gaWNjX25vZGU7CisJaWNjX25vZGUtPm5hbWUgPSBkZXZtX2th c3ByaW50ZigmcGRldi0+ZGV2LCBHRlBfS0VSTkVMLCAiJXBPRm4iLAorCQkJCQlidXNfZGV2LT5v Zl9ub2RlKTsKKwlpZiAob2ZfcHJvcGVydHlfcmVhZF91MzIoYnVzX2Rldi0+b2Zfbm9kZSwgInNh bXN1bmcsZGF0YS1jbG9jay1yYXRpbyIsCisJCQkJICZwcml2LT5idXNfY2xrX3JhdGlvKSkKKwkJ cHJpdi0+YnVzX2Nsa19yYXRpbyA9IEVYWU5PU19JQ0NfREVGQVVMVF9CVVNfQ0xLX1JBVElPOwor CisJLyoKKwkgKiBSZWdpc3RlciBhIFBNIFFvUyByZXF1ZXN0IGZvciB0aGUgcGFyZW50IChkZXZm cmVxKSBkZXZpY2UuCisJICovCisJcmV0ID0gZGV2X3BtX3Fvc19hZGRfcmVxdWVzdChidXNfZGV2 LCAmcHJpdi0+cW9zX3JlcSwKKwkJCQkgICAgIERFVl9QTV9RT1NfTUlOX0ZSRVFVRU5DWSwgMCk7 CisJaWYgKHJldCA8IDApCisJCWdvdG8gZXJyX25vZGVfZGVsOworCisJaWNjX25vZGUtPmRhdGEg PSBwcml2OworCWljY19ub2RlX2FkZChpY2Nfbm9kZSwgcHJvdmlkZXIpOworCisJaWNjX3BhcmVu dF9ub2RlID0gZXh5bm9zX2ljY19nZXRfcGFyZW50KGJ1c19kZXYtPm9mX25vZGUpOworCWlmIChJ U19FUlIoaWNjX3BhcmVudF9ub2RlKSkgeworCQlyZXQgPSBQVFJfRVJSKGljY19wYXJlbnRfbm9k ZSk7CisJCWdvdG8gZXJyX3BtcW9zX2RlbDsKKwl9CisJaWYgKGljY19wYXJlbnRfbm9kZSkgewor CQlyZXQgPSBpY2NfbGlua19jcmVhdGUoaWNjX25vZGUsIGljY19wYXJlbnRfbm9kZS0+aWQpOwor CQlpZiAocmV0IDwgMCkKKwkJCWdvdG8gZXJyX3BtcW9zX2RlbDsKKwl9CisKKwlyZXR1cm4gMDsK KworZXJyX3BtcW9zX2RlbDoKKwlkZXZfcG1fcW9zX3JlbW92ZV9yZXF1ZXN0KCZwcml2LT5xb3Nf cmVxKTsKK2Vycl9ub2RlX2RlbDoKKwlpY2Nfbm9kZXNfcmVtb3ZlKHByb3ZpZGVyKTsKK2Vycl9w cm92X2RlbDoKKwlpY2NfcHJvdmlkZXJfZGVsKHByb3ZpZGVyKTsKKwlyZXR1cm4gcmV0OworfQor CitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBleHlub3NfZ2VuZXJpY19pY2NfZHJpdmVy ID0geworCS5kcml2ZXIgPSB7CisJCS5uYW1lID0gImV4eW5vcy1nZW5lcmljLWljYyIsCisJCS5z eW5jX3N0YXRlID0gaWNjX3N5bmNfc3RhdGUsCisJfSwKKwkucHJvYmUgPSBleHlub3NfZ2VuZXJp Y19pY2NfcHJvYmUsCisJLnJlbW92ZSA9IGV4eW5vc19nZW5lcmljX2ljY19yZW1vdmUsCit9Owor bW9kdWxlX3BsYXRmb3JtX2RyaXZlcihleHlub3NfZ2VuZXJpY19pY2NfZHJpdmVyKTsKKworTU9E VUxFX0RFU0NSSVBUSU9OKCJFeHlub3MgZ2VuZXJpYyBpbnRlcmNvbm5lY3QgZHJpdmVyIik7CitN T0RVTEVfQVVUSE9SKCJBcnR1ciDFmndpZ2/FhCA8YS5zd2lnb25Ac2Ftc3VuZy5jb20+Iik7CitN T0RVTEVfQVVUSE9SKCJTeWx3ZXN0ZXIgTmF3cm9ja2kgPHMubmF3cm9ja2lAc2Ftc3VuZy5jb20+ Iik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CitNT0RVTEVfQUxJQVMoInBsYXRmb3JtOmV4 eW5vcy1nZW5lcmljLWljYyIpOwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0C5AEC2D0A3 for ; Thu, 12 Nov 2020 14:11:19 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9C70D207DE for ; Thu, 12 Nov 2020 14:11:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="kR+AKuBR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9C70D207DE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D39816E252; Thu, 12 Nov 2020 14:11:17 +0000 (UTC) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id 997106E24D for ; Thu, 12 Nov 2020 14:11:15 +0000 (UTC) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20201112141104euoutp02d293cab7c4b317f9534f7983d397db54~GyApv5C2d1473214732euoutp02p for ; Thu, 12 Nov 2020 14:11:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20201112141104euoutp02d293cab7c4b317f9534f7983d397db54~GyApv5C2d1473214732euoutp02p DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1605190264; bh=8FAfU6BCkgvgjJdMmzUzX4KRpyPprgS4czs4hFuFKFA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kR+AKuBRvjAA2OjtddsqMbOQ6XNWQwAYPjsrvJEO4tbZzw/bsOPFnliRG7puh8Bxs li5DTh2LHb8UfcacXzUuyse5XF2rtp6+JoVATaH5ay5vyqhh/qArDCod6fGYmtpnZp 3X4pMIFJYdQeGSZNGn5ZmJX21EWNYG9UZnvpHZu8= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20201112141050eucas1p1d1e59396140fd85dd242a396a05c7601~GyAdJRPjk2413224132eucas1p1s; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id AA.B9.44805.A624DAF5; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0~GyAcf3gsG0207802078eucas1p2u; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20201112141050eusmtrp2d0b31be7d84f9c38df7f625982557052~GyAceJ01R1054310543eusmtrp2X; Thu, 12 Nov 2020 14:10:50 +0000 (GMT) X-AuditID: cbfec7f4-b4fff7000000af05-60-5fad426a7beb Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 06.0F.16282.9624DAF5; Thu, 12 Nov 2020 14:10:49 +0000 (GMT) Received: from AMDC3061.digital.local (unknown [106.120.51.75]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20201112141049eusmtip2a60c36a4c3acd15056f7ea83e788a079~GyAbtIaiE3001030010eusmtip28; Thu, 12 Nov 2020 14:10:49 +0000 (GMT) From: Sylwester Nawrocki To: georgi.djakov@linaro.org, cw00.choi@samsung.com, inki.dae@samsung.com Subject: [PATCH v9 2/5] interconnect: Add generic interconnect driver for Exynos SoCs Date: Thu, 12 Nov 2020 15:09:28 +0100 Message-Id: <20201112140931.31139-3-s.nawrocki@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201112140931.31139-1-s.nawrocki@samsung.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrBKsWRmVeSWpSXmKPExsWy7djP87pZTmvjDQ5M1LG4P6+V0WLjjPWs Fte/PGe1mH/kHKvFla/v2Sym793EZjHp/gQWi/PnN7BbbHp8jdXi8q45bBafe48wWsw4v4/J Yu2Ru+wWtxtXsFm07j3CbnH4TTurxYzJL9kcBD02repk87hzbQ+bx/3u40wem5fUe/RtWcXo 8XmTXABbFJdNSmpOZllqkb5dAlfGqqWNTAXbgivmH77M2sA4w62LkZNDQsBE4vGcpSxdjFwc QgIrGCVe/L/FCuF8YZT4uOgtE0iVkMBnRok/27xhOqavbGeHKFrOKHHh/m8WuI7WrxcZQarY BAwleo/2AdkcHCICnhInG/RBapgFmpklGpo3gdUIC4RLPD4+hw3EZhFQlTj2ZhU7iM0rYC3R tP4wG8Q2eYnVGw4wg9icAjYSc5+2skHUCEqcnPmEBcRmBqpp3jqbGWSBhMB8Tonue9dZIJpd JGZ9WgU1SFji1fEt7BC2jMT/nfOZIBqaGSV6dt9mh3AmMErcP76AEaLKWuLOuV9sIC8wC2hK rN+lDxF2lJhx4AwTSFhCgE/ixltBiCP4JCZtm84MEeaV6GgTgqhWkfi9ajoThC0l0f3kP9Rp HhJLP7xnnsCoOAvJO7OQvDMLYe8CRuZVjOKppcW56anFRnmp5XrFibnFpXnpesn5uZsYgYnt 9L/jX3YwLn/1Ue8QIxMH4yFGCQ5mJRFeZYc18UK8KYmVValF+fFFpTmpxYcYpTlYlMR5k7YA pQTSE0tSs1NTC1KLYLJMHJxSDUxu3aHNy3jcze979nhf6ZCtYFT3uptdFbub29rO6OTsV0uy jFxra6265X44vVbLUTPfau2Y7pl0KDR5ncMbJv1LFxK/bronYVih3tWze8cpvfkNHTnmKh37 esLnn21Mu6D31lzzjPQE6w1zXWVz9K+dZz7vUx4z62Gq7ZSDPyJ/TzkXp3zD2CMjqF7m+6rj +04s/Naq9sOlIK3XTXfvgQ9v3xx6V/2tWyY59+dr3uenXznrfJM8wvNxT93OCB3Tf3buM7sP nX3XumXPiYnp2w53d0pK76/oWugdpjpbWPflrF8lxq+dJcO7F+k5NE948vD68zIZPhMWnSjd v3stTytWrnyTraKgtc1fzrUrUYmlOCPRUIu5qDgRAMNmdCXbAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrNIsWRmVeSWpSXmKPExsVy+t/xe7pZTmvjDTodLO7Pa2W02DhjPavF 9S/PWS3mHznHanHl63s2i+l7N7FZTLo/gcXi/PkN7BabHl9jtbi8aw6bxefeI4wWM87vY7JY e+Quu8XtxhVsFq17j7BbHH7TzmoxY/JLNgdBj02rOtk87lzbw+Zxv/s4k8fmJfUefVtWMXp8 3iQXwBalZ1OUX1qSqpCRX1xiqxRtaGGkZ2hpoWdkYqlnaGwea2VkqqRvZ5OSmpNZllqkb5eg l7FqaSNTwbbgivmHL7M2MM5w62Lk5JAQMJGYvrKdvYuRi0NIYCmjxMELu9i6GDmAElIS81uU IGqEJf5c62KDqPnEKDFp8XEWkASbgKFE79E+RhBbRMBXYvXJSSwgRcwCk5klHt1uYQNJCAuE Sty9+40dxGYRUJU49mYVmM0rYC3RtP4wG8QGeYnVGw4wg9icAjYSc5+2gsWFgGr2d7cxQdQL Spyc+YQF5DhmAXWJ9fOEQMLMQK3NW2czT2AUnIWkahZC1SwkVQsYmVcxiqSWFuem5xYb6RUn 5haX5qXrJefnbmIExuq2Yz+37GBc+eqj3iFGJg7GQ4wSHMxKIrzKDmvihXhTEiurUovy44tK c1KLDzGaAn0zkVlKNDkfmCzySuINzQxMDU3MLA1MLc2MlcR5TY4ANQmkJ5akZqemFqQWwfQx cXBKNTDFZL4pvmlZv0LF/3HAvNWbLjzdY37i8vXdBQW7+XoD18y9udfEfNXul28ObOLZPUPy XvCCCpE4facDLuVTd+/wFVBf/W7tb5a5sbE+9347CmrLp235fFRG6/bO1qjOG8HWrL76rziO inV/iZS+cmr2WcvbywLPpfEW7jslep57uzG75/rmS6t/FOl7rtu/d/HZY5ZcBs6v7R4qpfyY ZTH/ts+UgCUVar4hJ85NCn0S7HElL8c+vuLltBy7ZWavPKfeiPe8so3116OZ88T7TKZ3S1dF hi0R3sbxwPDqEhul4qkfgndbPO5bzSWwbu/vLZ3ZnfX1GTW3kwM5wkLFLid7zL+rxzhRoPxm 9nKpFJt0JZbijERDLeai4kQAd6HGqF4DAAA= X-CMS-MailID: 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0 X-Msg-Generator: CA X-RootMTR: 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20201112141050eucas1p250f62d09adf38b97c521ef67b4b540f0 References: <20201112140931.31139-1-s.nawrocki@samsung.com> X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, b.zolnierkie@samsung.com, dri-devel@lists.freedesktop.org, linux-pm@vger.kernel.org, sw0312.kim@samsung.com, a.swigon@samsung.com, robh+dt@kernel.org, linux-kernel@vger.kernel.org, myungjoo.ham@samsung.com, krzk@kernel.org, s.nawrocki@samsung.com, linux-arm-kernel@lists.infradead.org, m.szyprowski@samsung.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" VGhpcyBwYXRjaCBhZGRzIGEgZ2VuZXJpYyBpbnRlcmNvbm5lY3QgZHJpdmVyIGZvciBFeHlub3Mg U29DcyBpbiBvcmRlcgp0byBwcm92aWRlIGludGVyY29ubmVjdCBmdW5jdGlvbmFsaXR5IGZvciBl YWNoICJzYW1zdW5nLGV4eW5vcy1idXMiCmNvbXBhdGlibGUgZGV2aWNlLgoKVGhlIFNvQyB0b3Bv bG9neSBpcyBhIGdyYXBoIChvciBtb3JlIHNwZWNpZmljYWxseSwgYSB0cmVlKSBhbmQgaXRzCmVk Z2VzIGFyZSBkZXNjcmliZWQgYnkgc3BlY2lmeWluZyBpbiB0aGUgJ2ludGVyY29ubmVjdHMnIHBy b3BlcnR5CnRoZSBpbnRlcmNvbm5lY3QgY29uc3VtZXIgcGF0aCBmb3IgZWFjaCBpbnRlcmNvbm5l Y3QgcHJvdmlkZXIgRFQgbm9kZS4KCkVhY2ggYnVzIGlzIG5vdyBhbiBpbnRlcmNvbm5lY3QgcHJv dmlkZXIgYW5kIGFuIGludGVyY29ubmVjdCBub2RlIGFzCndlbGwgKGNmLiBEb2N1bWVudGF0aW9u L2ludGVyY29ubmVjdC9pbnRlcmNvbm5lY3QucnN0KSwgaS5lLiBldmVyeSBidXMKcmVnaXN0ZXJz IGl0c2VsZiBhcyBhIG5vZGUuIE5vZGUgSURzIGFyZSBub3QgaGFyZCBjb2RlZCBidXQgcmF0aGVy CmFzc2lnbmVkIGR5bmFtaWNhbGx5IGF0IHJ1bnRpbWUuIFRoaXMgYXBwcm9hY2ggYWxsb3dzIGZv ciB1c2luZyB0aGlzCmRyaXZlciB3aXRoIHZhcmlvdXMgRXh5bm9zIFNvQ3MuCgpGcmVxdWVuY2ll cyByZXF1ZXN0ZWQgdmlhIHRoZSBpbnRlcmNvbm5lY3QgQVBJIGZvciBhIGdpdmVuIG5vZGUgYXJl CnByb3BhZ2F0ZWQgdG8gZGV2ZnJlcSB1c2luZyBkZXZfcG1fcW9zX3VwZGF0ZV9yZXF1ZXN0KCku IFBsZWFzZSBub3RlCnRoYXQgaXQgaXMgbm90IGFuIGVycm9yIHdoZW4gQ09ORklHX0lOVEVSQ09O TkVDVCBpcyAnbicsIGluIHdoaWNoCmNhc2UgYWxsIGludGVyY29ubmVjdCBBUEkgZnVuY3Rpb25z IGFyZSBuby1vcC4KClRoZSBzYW1zdW5nLGRhdGEtY2xrLXJhdGlvIERUIHByb3BlcnR5IGlzIHVz ZWQgdG8gc3BlY2lmeSB0aGUgcmF0aW8Kb2YgdGhlIGludGVyY29uZWN0IGJhbmR3aWR0aCB0byB0 aGUgbWluaW11bSBkYXRhIGNsb2NrIGZyZXF1ZW5jeQpmb3IgZWFjaCBidXMuCgpEdWUgdG8gdW5z cGVjaWZpZWQgcmVsYXRpdmUgcHJvYmluZyBvcmRlciwgLUVQUk9CRV9ERUZFUiBtYXkgYmUKcHJv cGFnYXRlZCB0byBlbnN1cmUgdGhhdCB0aGUgcGFyZW50IGlzIHByb2JlZCBiZWZvcmUgaXRzIGNo aWxkcmVuLgoKUmV2aWV3ZWQtYnk6IENoYW53b28gQ2hvaSA8Y3cwMC5jaG9pQHNhbXN1bmcuY29t PgpUZXN0ZWQtYnk6IENoYW53b28gQ2hvaSA8Y3cwMC5jaG9pQHNhbXN1bmcuY29tPgpBY2tlZC1i eTogS3J6eXN6dG9mIEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBB cnR1ciDFmndpZ2/FhCA8YS5zd2lnb25Ac2Ftc3VuZy5jb20+ClNpZ25lZC1vZmYtYnk6IFN5bHdl c3RlciBOYXdyb2NraSA8cy5uYXdyb2NraUBzYW1zdW5nLmNvbT4KLS0tCkNoYW5nZXMgZm9yIHY5 OgogLSBNYWtlZmlsZSBhbmQgS2NvbmZpZyBmaXhlcy9pbXByb3ZlbWVudHMuCgpDaGFuZ2VzIGZv ciB2ODoKIC0gcmVuYW1lZCBkcml2ZXJzL2ludGVyY29ubmVjdC9leHlub3MgdG8gZHJpdmVycy9p bnRlcmNvbm5lY3Qvc2Ftc3VuZywKIC0gYWRkZWQgbWlzc2luZyBkcml2ZXIgc3luY19zdGF0ZSBj YWxsYmFjayBhc3NpZ25tZW50LgoKQ2hhbmdlcyBmb3Igdjc6CiAtIGFkanVzdGVkIHRvIHRoZSBE VCBwcm9wZXJ0eSBjaGFuZ2VzOiAiaW50ZXJjb25uZWN0cyIgaW5zdGVhZAogICBvZiAic2Ftc3Vu ZyxpbnRlcmNvbm5lY3QtcGFyZW50IiwgInNhbXN1bmcsZGF0YS1jbGstcmF0aW8iCiAgIGluc3Rl YWQgb2YgImJ1cy13aWR0aCIsCiAtIGFkYXB0YXRpb24gdG8gb2ZfaWNjX2dldF9mcm9tX3Byb3Zp ZGVyKCkgZnVuY3Rpb24gY2hhbmdlcwogICBpbiB2NS4xMC1yYzEuCgpDaGFuZ2VzIGZvciB2NjoK IC0gY29ycmVjdGVkIG9mX25vZGUgZGVyZWZlcmVuY2luZyBpbiBleHlub3NfaWNjX2dldF9wYXJl bnQoKQogICBmdW5jdGlvbiwKIC0gY29ycmVjdGVkIGluaXRpYWxpemF0aW9uIG9mIGljY19ub2Rl LT5uYW1lIHNvIGFzIHRvIGF2b2lkCiAgIGRpcmVjdCBvZl9ub2RlLT5uYW1lIGRlcmVmZXJlbmNp bmcsCiAtIGFkZGVkIHBhcnNpbmcgb2YgYnVzLXdpZHRoIERUIHByb3BlcnR5LgoKQ2hhbmdlcyBm b3IgdjU6CiAtIGFkanVzdCB0byByZW5hbWVkIGV4eW5vcyxpbnRlcmNvbm5lY3QtcGFyZW50LW5v ZGUgcHJvcGVydHksCiAtIHVzZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBwbGF0Zm9ybSBkZXZp Y2UgaWQgYXMgdGhlIGludGVyY29uZWN0CiAgIG5vZGUgaWQgaW5zdGVhZCBvZiBhIG5vdyB1bmF2 YWlsYWJsZSBkZXZmcmVxLT5pZCBmaWVsZCwKIC0gYWRkIGljY18gcHJlZml4IHRvIHNvbWUgdmFy aWFibGVzIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSBzZWxmLWNvbW1lbnRpbmcsCiAtIHVzZSBpY2Nf bm9kZXNfcmVtb3ZlKCkgaW5zdGVhZCBvZiBpY2Nfbm9kZV9kZWwoKSArIGljY19ub2RlX2Rlc3Ry b3koKSwKIC0gYWRqdXN0IHRvIGV4eW5vcyxpbnRlcmNvbm5lY3QtcGFyZW50LW5vZGUgcHJvcGVy dHkgcmVuYW1lIHRvCiAgIHNhbXN1bmcsaW50ZXJjb25uZWN0LXBhcmVudCwKIC0gY29udmVydGVk IHRvIGEgc2VwYXJhdGUgcGxhdGZvcm0gZHJpdmVyIGluIGRyaXZlcnMvaW50ZXJjb25uZWN0Lgot LS0KIGRyaXZlcnMvaW50ZXJjb25uZWN0L0tjb25maWcgICAgICAgICAgfCAgIDEgKwogZHJpdmVy cy9pbnRlcmNvbm5lY3QvTWFrZWZpbGUgICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2ludGVyY29u bmVjdC9zYW1zdW5nL0tjb25maWcgIHwgIDEzICsrKwogZHJpdmVycy9pbnRlcmNvbm5lY3Qvc2Ft c3VuZy9NYWtlZmlsZSB8ICAgNCArCiBkcml2ZXJzL2ludGVyY29ubmVjdC9zYW1zdW5nL2V4eW5v cy5jIHwgMTk5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hh bmdlZCwgMjE4IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2ludGVy Y29ubmVjdC9zYW1zdW5nL0tjb25maWcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2ludGVy Y29ubmVjdC9zYW1zdW5nL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9pbnRl cmNvbm5lY3Qvc2Ftc3VuZy9leHlub3MuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW50ZXJjb25u ZWN0L0tjb25maWcgYi9kcml2ZXJzL2ludGVyY29ubmVjdC9LY29uZmlnCmluZGV4IDViNzIwNGUu LmQ2MzdhODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW50ZXJjb25uZWN0L0tjb25maWcKKysrIGIv ZHJpdmVycy9pbnRlcmNvbm5lY3QvS2NvbmZpZwpAQCAtMTMsNSArMTMsNiBAQCBpZiBJTlRFUkNP Tk5FQ1QKIAogc291cmNlICJkcml2ZXJzL2ludGVyY29ubmVjdC9pbXgvS2NvbmZpZyIKIHNvdXJj ZSAiZHJpdmVycy9pbnRlcmNvbm5lY3QvcWNvbS9LY29uZmlnIgorc291cmNlICJkcml2ZXJzL2lu dGVyY29ubmVjdC9zYW1zdW5nL0tjb25maWciCiAKIGVuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJz L2ludGVyY29ubmVjdC9NYWtlZmlsZSBiL2RyaXZlcnMvaW50ZXJjb25uZWN0L01ha2VmaWxlCmlu ZGV4IGQyMDM1MjAuLjk3ZDM5M2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW50ZXJjb25uZWN0L01h a2VmaWxlCisrKyBiL2RyaXZlcnMvaW50ZXJjb25uZWN0L01ha2VmaWxlCkBAIC02LDMgKzYsNCBA QCBpY2MtY29yZS1vYmpzCQkJCTo9IGNvcmUubyBidWxrLm8KIG9iai0kKENPTkZJR19JTlRFUkNP Tk5FQ1QpCQkrPSBpY2MtY29yZS5vCiBvYmotJChDT05GSUdfSU5URVJDT05ORUNUX0lNWCkJCSs9 IGlteC8KIG9iai0kKENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTSkJCSs9IHFjb20vCitvYmotJChD T05GSUdfSU5URVJDT05ORUNUX1NBTVNVTkcpCSs9IHNhbXN1bmcvCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2ludGVyY29ubmVjdC9zYW1zdW5nL0tjb25maWcgYi9kcml2ZXJzL2ludGVyY29ubmVjdC9z YW1zdW5nL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjgyMGU0 ZgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvaW50ZXJjb25uZWN0L3NhbXN1bmcvS2NvbmZp ZwpAQCAtMCwwICsxLDEzIEBACisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9u bHkKK2NvbmZpZyBJTlRFUkNPTk5FQ1RfU0FNU1VORworCWJvb2wgIlNhbXN1bmcgU29DIGludGVy Y29ubmVjdCBkcml2ZXJzIgorCWRlcGVuZHMgb24gQVJDSF9FWFlOT1MgfHwgQ09NUElMRV9URVNU CisJaGVscAorCSAgSW50ZXJjb25uZWN0IGRyaXZlcnMgZm9yIFNhbXN1bmcgU29Dcy4KKworY29u ZmlnIElOVEVSQ09OTkVDVF9FWFlOT1MKKwl0cmlzdGF0ZSAiRXh5bm9zIGdlbmVyaWMgaW50ZXJj b25uZWN0IGRyaXZlciIKKwlkZXBlbmRzIG9uIElOVEVSQ09OTkVDVF9TQU1TVU5HCisJZGVmYXVs dCB5IGlmIEFSQ0hfRVhZTk9TCisJaGVscAorCSAgR2VuZXJpYyBpbnRlcmNvbm5lY3QgZHJpdmVy IGZvciBFeHlub3MgU29Dcy4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW50ZXJjb25uZWN0L3NhbXN1 bmcvTWFrZWZpbGUgYi9kcml2ZXJzL2ludGVyY29ubmVjdC9zYW1zdW5nL01ha2VmaWxlCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxOWQxZGYKLS0tIC9kZXYvbnVsbAorKysg Yi9kcml2ZXJzL2ludGVyY29ubmVjdC9zYW1zdW5nL01ha2VmaWxlCkBAIC0wLDAgKzEsNCBAQAor IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorZXh5bm9zLWludGVyY29ubmVjdC1v YmpzCQk6PSBleHlub3MubworCitvYmotJChDT05GSUdfSU5URVJDT05ORUNUX0VYWU5PUykJKz0g ZXh5bm9zLWludGVyY29ubmVjdC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2ludGVyY29ubmVjdC9z YW1zdW5nL2V4eW5vcy5jIGIvZHJpdmVycy9pbnRlcmNvbm5lY3Qvc2Ftc3VuZy9leHlub3MuYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTU5ZDhjCi0tLSAvZGV2L251bGwK KysrIGIvZHJpdmVycy9pbnRlcmNvbm5lY3Qvc2Ftc3VuZy9leHlub3MuYwpAQCAtMCwwICsxLDE5 OSBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLyoKKyAqIEV4 eW5vcyBnZW5lcmljIGludGVyY29ubmVjdCBwcm92aWRlciBkcml2ZXIKKyAqCisgKiBDb3B5cmln aHQgKGMpIDIwMjAgU2Ftc3VuZyBFbGVjdHJvbmljcyBDby4sIEx0ZC4KKyAqCisgKiBBdXRob3Jz OiBBcnR1ciDFmndpZ2/FhCA8YS5zd2lnb25Ac2Ftc3VuZy5jb20+CisgKiAgICAgICAgICBTeWx3 ZXN0ZXIgTmF3cm9ja2kgPHMubmF3cm9ja2lAc2Ftc3VuZy5jb20+CisgKi8KKyNpbmNsdWRlIDxs aW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcmNvbm5lY3QtcHJvdmlkZXIuaD4K KyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9vZi5oPgorI2luY2x1 ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BtX3Fvcy5oPgor I2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKworI2RlZmluZSBFWFlOT1NfSUNDX0RFRkFVTFRfQlVT X0NMS19SQVRJTwk4CisKK3N0cnVjdCBleHlub3NfaWNjX3ByaXYgeworCXN0cnVjdCBkZXZpY2Ug KmRldjsKKworCS8qIE9uZSBpbnRlcmNvbm5lY3Qgbm9kZSBwZXIgcHJvdmlkZXIgKi8KKwlzdHJ1 Y3QgaWNjX3Byb3ZpZGVyIHByb3ZpZGVyOworCXN0cnVjdCBpY2Nfbm9kZSAqbm9kZTsKKworCXN0 cnVjdCBkZXZfcG1fcW9zX3JlcXVlc3QgcW9zX3JlcTsKKwl1MzIgYnVzX2Nsa19yYXRpbzsKK307 CisKK3N0YXRpYyBzdHJ1Y3QgaWNjX25vZGUgKmV4eW5vc19pY2NfZ2V0X3BhcmVudChzdHJ1Y3Qg ZGV2aWNlX25vZGUgKm5wKQoreworCXN0cnVjdCBvZl9waGFuZGxlX2FyZ3MgYXJnczsKKwlzdHJ1 Y3QgaWNjX25vZGVfZGF0YSAqaWNjX25vZGVfZGF0YTsKKwlzdHJ1Y3QgaWNjX25vZGUgKmljY19u b2RlOworCWludCBudW0sIHJldDsKKworCW51bSA9IG9mX2NvdW50X3BoYW5kbGVfd2l0aF9hcmdz KG5wLCAiaW50ZXJjb25uZWN0cyIsCisJCQkJCSAiI2ludGVyY29ubmVjdC1jZWxscyIpOworCWlm IChudW0gPCAxKQorCQlyZXR1cm4gTlVMTDsgLyogcGFyZW50IG5vZGVzIGFyZSBvcHRpb25hbCAq LworCisJLyogR2V0IHRoZSBpbnRlcmNvbm5lY3QgdGFyZ2V0IG5vZGUgKi8KKwlyZXQgPSBvZl9w YXJzZV9waGFuZGxlX3dpdGhfYXJncyhucCwgImludGVyY29ubmVjdHMiLAorCQkJCQkiI2ludGVy Y29ubmVjdC1jZWxscyIsIDAsICZhcmdzKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIEVSUl9Q VFIocmV0KTsKKworCWljY19ub2RlX2RhdGEgPSBvZl9pY2NfZ2V0X2Zyb21fcHJvdmlkZXIoJmFy Z3MpOworCW9mX25vZGVfcHV0KGFyZ3MubnApOworCisJaWYgKElTX0VSUihpY2Nfbm9kZV9kYXRh KSkKKwkJcmV0dXJuIEVSUl9DQVNUKGljY19ub2RlX2RhdGEpOworCisJaWNjX25vZGUgPSBpY2Nf bm9kZV9kYXRhLT5ub2RlOworCWtmcmVlKGljY19ub2RlX2RhdGEpOworCisJcmV0dXJuIGljY19u b2RlOworfQorCitzdGF0aWMgaW50IGV4eW5vc19nZW5lcmljX2ljY19zZXQoc3RydWN0IGljY19u b2RlICpzcmMsIHN0cnVjdCBpY2Nfbm9kZSAqZHN0KQoreworCXN0cnVjdCBleHlub3NfaWNjX3By aXYgKnNyY19wcml2ID0gc3JjLT5kYXRhLCAqZHN0X3ByaXYgPSBkc3QtPmRhdGE7CisJczMyIHNy Y19mcmVxID0gbWF4KHNyYy0+YXZnX2J3LCBzcmMtPnBlYWtfYncpIC8gc3JjX3ByaXYtPmJ1c19j bGtfcmF0aW87CisJczMyIGRzdF9mcmVxID0gbWF4KGRzdC0+YXZnX2J3LCBkc3QtPnBlYWtfYncp IC8gZHN0X3ByaXYtPmJ1c19jbGtfcmF0aW87CisJaW50IHJldDsKKworCXJldCA9IGRldl9wbV9x b3NfdXBkYXRlX3JlcXVlc3QoJnNyY19wcml2LT5xb3NfcmVxLCBzcmNfZnJlcSk7CisJaWYgKHJl dCA8IDApIHsKKwkJZGV2X2VycihzcmNfcHJpdi0+ZGV2LCAiZmFpbGVkIHRvIHVwZGF0ZSBQTSBR b1Mgb2YgJXMgKHNyYylcbiIsCisJCQlzcmMtPm5hbWUpOworCQlyZXR1cm4gcmV0OworCX0KKwor CXJldCA9IGRldl9wbV9xb3NfdXBkYXRlX3JlcXVlc3QoJmRzdF9wcml2LT5xb3NfcmVxLCBkc3Rf ZnJlcSk7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X2Vycihkc3RfcHJpdi0+ZGV2LCAiZmFpbGVk IHRvIHVwZGF0ZSBQTSBRb1Mgb2YgJXMgKGRzdClcbiIsCisJCQlkc3QtPm5hbWUpOworCQlyZXR1 cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGljY19ub2RlICpl eHlub3NfZ2VuZXJpY19pY2NfeGxhdGUoc3RydWN0IG9mX3BoYW5kbGVfYXJncyAqc3BlYywKKwkJ CQkJCSB2b2lkICpkYXRhKQoreworCXN0cnVjdCBleHlub3NfaWNjX3ByaXYgKnByaXYgPSBkYXRh OworCisJaWYgKHNwZWMtPm5wICE9IHByaXYtPmRldi0+cGFyZW50LT5vZl9ub2RlKQorCQlyZXR1 cm4gRVJSX1BUUigtRUlOVkFMKTsKKworCXJldHVybiBwcml2LT5ub2RlOworfQorCitzdGF0aWMg aW50IGV4eW5vc19nZW5lcmljX2ljY19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKK3sKKwlzdHJ1Y3QgZXh5bm9zX2ljY19wcml2ICpwcml2ID0gcGxhdGZvcm1fZ2V0X2RydmRh dGEocGRldik7CisJc3RydWN0IGljY19ub2RlICpwYXJlbnRfbm9kZSwgKm5vZGUgPSBwcml2LT5u b2RlOworCisJcGFyZW50X25vZGUgPSBleHlub3NfaWNjX2dldF9wYXJlbnQocHJpdi0+ZGV2LT5w YXJlbnQtPm9mX25vZGUpOworCWlmIChwYXJlbnRfbm9kZSAmJiAhSVNfRVJSKHBhcmVudF9ub2Rl KSkKKwkJaWNjX2xpbmtfZGVzdHJveShub2RlLCBwYXJlbnRfbm9kZSk7CisKKwlpY2Nfbm9kZXNf cmVtb3ZlKCZwcml2LT5wcm92aWRlcik7CisJaWNjX3Byb3ZpZGVyX2RlbCgmcHJpdi0+cHJvdmlk ZXIpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZXh5bm9zX2dlbmVyaWNfaWNjX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGRldmljZSAqYnVz X2RldiA9IHBkZXYtPmRldi5wYXJlbnQ7CisJc3RydWN0IGV4eW5vc19pY2NfcHJpdiAqcHJpdjsK KwlzdHJ1Y3QgaWNjX3Byb3ZpZGVyICpwcm92aWRlcjsKKwlzdHJ1Y3QgaWNjX25vZGUgKmljY19u b2RlLCAqaWNjX3BhcmVudF9ub2RlOworCWludCByZXQ7CisKKwlwcml2ID0gZGV2bV9remFsbG9j KCZwZGV2LT5kZXYsIHNpemVvZigqcHJpdiksIEdGUF9LRVJORUwpOworCWlmICghcHJpdikKKwkJ cmV0dXJuIC1FTk9NRU07CisKKwlwcml2LT5kZXYgPSAmcGRldi0+ZGV2OworCXBsYXRmb3JtX3Nl dF9kcnZkYXRhKHBkZXYsIHByaXYpOworCisJcHJvdmlkZXIgPSAmcHJpdi0+cHJvdmlkZXI7CisK Kwlwcm92aWRlci0+c2V0ID0gZXh5bm9zX2dlbmVyaWNfaWNjX3NldDsKKwlwcm92aWRlci0+YWdn cmVnYXRlID0gaWNjX3N0ZF9hZ2dyZWdhdGU7CisJcHJvdmlkZXItPnhsYXRlID0gZXh5bm9zX2dl bmVyaWNfaWNjX3hsYXRlOworCXByb3ZpZGVyLT5kZXYgPSBidXNfZGV2OworCXByb3ZpZGVyLT5p bnRlcl9zZXQgPSB0cnVlOworCXByb3ZpZGVyLT5kYXRhID0gcHJpdjsKKworCXJldCA9IGljY19w cm92aWRlcl9hZGQocHJvdmlkZXIpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJ aWNjX25vZGUgPSBpY2Nfbm9kZV9jcmVhdGUocGRldi0+aWQpOworCWlmIChJU19FUlIoaWNjX25v ZGUpKSB7CisJCXJldCA9IFBUUl9FUlIoaWNjX25vZGUpOworCQlnb3RvIGVycl9wcm92X2RlbDsK Kwl9CisKKwlwcml2LT5ub2RlID0gaWNjX25vZGU7CisJaWNjX25vZGUtPm5hbWUgPSBkZXZtX2th c3ByaW50ZigmcGRldi0+ZGV2LCBHRlBfS0VSTkVMLCAiJXBPRm4iLAorCQkJCQlidXNfZGV2LT5v Zl9ub2RlKTsKKwlpZiAob2ZfcHJvcGVydHlfcmVhZF91MzIoYnVzX2Rldi0+b2Zfbm9kZSwgInNh bXN1bmcsZGF0YS1jbG9jay1yYXRpbyIsCisJCQkJICZwcml2LT5idXNfY2xrX3JhdGlvKSkKKwkJ cHJpdi0+YnVzX2Nsa19yYXRpbyA9IEVYWU5PU19JQ0NfREVGQVVMVF9CVVNfQ0xLX1JBVElPOwor CisJLyoKKwkgKiBSZWdpc3RlciBhIFBNIFFvUyByZXF1ZXN0IGZvciB0aGUgcGFyZW50IChkZXZm cmVxKSBkZXZpY2UuCisJICovCisJcmV0ID0gZGV2X3BtX3Fvc19hZGRfcmVxdWVzdChidXNfZGV2 LCAmcHJpdi0+cW9zX3JlcSwKKwkJCQkgICAgIERFVl9QTV9RT1NfTUlOX0ZSRVFVRU5DWSwgMCk7 CisJaWYgKHJldCA8IDApCisJCWdvdG8gZXJyX25vZGVfZGVsOworCisJaWNjX25vZGUtPmRhdGEg PSBwcml2OworCWljY19ub2RlX2FkZChpY2Nfbm9kZSwgcHJvdmlkZXIpOworCisJaWNjX3BhcmVu dF9ub2RlID0gZXh5bm9zX2ljY19nZXRfcGFyZW50KGJ1c19kZXYtPm9mX25vZGUpOworCWlmIChJ U19FUlIoaWNjX3BhcmVudF9ub2RlKSkgeworCQlyZXQgPSBQVFJfRVJSKGljY19wYXJlbnRfbm9k ZSk7CisJCWdvdG8gZXJyX3BtcW9zX2RlbDsKKwl9CisJaWYgKGljY19wYXJlbnRfbm9kZSkgewor CQlyZXQgPSBpY2NfbGlua19jcmVhdGUoaWNjX25vZGUsIGljY19wYXJlbnRfbm9kZS0+aWQpOwor CQlpZiAocmV0IDwgMCkKKwkJCWdvdG8gZXJyX3BtcW9zX2RlbDsKKwl9CisKKwlyZXR1cm4gMDsK KworZXJyX3BtcW9zX2RlbDoKKwlkZXZfcG1fcW9zX3JlbW92ZV9yZXF1ZXN0KCZwcml2LT5xb3Nf cmVxKTsKK2Vycl9ub2RlX2RlbDoKKwlpY2Nfbm9kZXNfcmVtb3ZlKHByb3ZpZGVyKTsKK2Vycl9w cm92X2RlbDoKKwlpY2NfcHJvdmlkZXJfZGVsKHByb3ZpZGVyKTsKKwlyZXR1cm4gcmV0OworfQor CitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBleHlub3NfZ2VuZXJpY19pY2NfZHJpdmVy ID0geworCS5kcml2ZXIgPSB7CisJCS5uYW1lID0gImV4eW5vcy1nZW5lcmljLWljYyIsCisJCS5z eW5jX3N0YXRlID0gaWNjX3N5bmNfc3RhdGUsCisJfSwKKwkucHJvYmUgPSBleHlub3NfZ2VuZXJp Y19pY2NfcHJvYmUsCisJLnJlbW92ZSA9IGV4eW5vc19nZW5lcmljX2ljY19yZW1vdmUsCit9Owor bW9kdWxlX3BsYXRmb3JtX2RyaXZlcihleHlub3NfZ2VuZXJpY19pY2NfZHJpdmVyKTsKKworTU9E VUxFX0RFU0NSSVBUSU9OKCJFeHlub3MgZ2VuZXJpYyBpbnRlcmNvbm5lY3QgZHJpdmVyIik7CitN T0RVTEVfQVVUSE9SKCJBcnR1ciDFmndpZ2/FhCA8YS5zd2lnb25Ac2Ftc3VuZy5jb20+Iik7CitN T0RVTEVfQVVUSE9SKCJTeWx3ZXN0ZXIgTmF3cm9ja2kgPHMubmF3cm9ja2lAc2Ftc3VuZy5jb20+ Iik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CitNT0RVTEVfQUxJQVMoInBsYXRmb3JtOmV4 eW5vcy1nZW5lcmljLWljYyIpOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=