From patchwork Fri Feb 26 07:35:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 1444792 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=XSDqiMjx; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dn1gQ71mQz9sTD for ; Fri, 26 Feb 2021 18:36:34 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1D7F281444; Fri, 26 Feb 2021 08:36:28 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XSDqiMjx"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B8A2280059; Fri, 26 Feb 2021 08:36:20 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id DCF8480059 for ; Fri, 26 Feb 2021 08:36:16 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=bmeng.cn@gmail.com Received: by mail-ed1-x531.google.com with SMTP id h19so9769346edb.9 for ; Thu, 25 Feb 2021 23:36:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=jEPr8sogZA+cimdu/gEZKBXYTo4m7t+mhrNRAmlmiGw=; b=XSDqiMjxaI3b0SyRbQ3D55kZp7V4hbWEsFglOXiSeZ0SlH9R1LDMbnwGTmC/9brJ+m MU9CQpZbTyUMfJaun5JnWlud4u1mYF9EueEY9FJjgCX9Zd84JIc1FXvGnn6NFAYT2+3c V2u9q+bHQfXn23kpzvXRivHrgpEzT89W/OF3tANC6mU4sVt0PuEDlWRmj6mBH7cgsT6j rX1GpnzuMM66F7I3UbBDA7NeUXySlq4+SuUIkUa0sdlHXAzTRaAj1uPd0w3ebrKRI4Pr ttsxb6haXlH61d6ilpPFOaHsVAtSYWhu/8i1Tanmuk7B7XsQ2FQ5xBKRBkil0ZXsCYvM JYZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=jEPr8sogZA+cimdu/gEZKBXYTo4m7t+mhrNRAmlmiGw=; b=JtIBfWC8jDgpOpANEkBWvOXkl8oMhcISPI94nfbfl1Fspy+zJZtf++uwVx5Bku/Dy0 w5Q+cYMbqOYTMe0hysDTIN/y+sEHldL0wXeqcjNhUXS3rpfOkA/f9LKpGkbFcfXyQNLz qlp8nopeK+mqDUmuE8soCMknRdOPzEMYZ6C2dHvVg4MCTh5kazaSC0ZPby9KyQfQ+vmb NMnivAk3eXe0DvxxSpwVExXP/Q83nB/3wPUAMx9gZfqjMF/Ga4kVr8Gsim4crSMa5TSk 4glz0jMcj6I6cCcscpW5fNTo2F8YpEfJErtZQVs1QrQDR4vJp3UKdouWWJIZlVN+QRck Gy4g== X-Gm-Message-State: AOAM533GMdPuWeqaWiaeSTFU9fgQwEk28FMVtyo43i/EUo3K4XZfaTeV vCUYYwM0AJDQZgmUrFlni1c= X-Google-Smtp-Source: ABdhPJwbUvdMrUo3FF1adObWSsPE8hD7rrBHxvL0wnC8y3qSCr308i5Vp/4dNP2TEH3xnzdjXkLCGg== X-Received: by 2002:aa7:d8da:: with SMTP id k26mr1843486eds.364.1614324976631; Thu, 25 Feb 2021 23:36:16 -0800 (PST) Received: from pek-vx-bsp2.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id y8sm60350eju.31.2021.02.25.23.36.14 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Feb 2021 23:36:16 -0800 (PST) From: Bin Meng To: Simon Glass , u-boot@lists.denx.de Subject: [PATCH 2/2] of: addr: Translate 'dma-ranges' for parent nodes missing 'dma-ranges' Date: Fri, 26 Feb 2021 15:35:49 +0800 Message-Id: <1614324949-61314-2-git-send-email-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1614324949-61314-1-git-send-email-bmeng.cn@gmail.com> References: <1614324949-61314-1-git-send-email-bmeng.cn@gmail.com> X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean 'dma-ranges' frequently exists without parent nodes having 'dma-ranges'. While this is an error for 'ranges', this is fine because DMA capable devices always have a translatable DMA address. Also, with no 'dma-ranges' at all, the assumption is that DMA addresses are 1:1 with no restrictions unless perhaps the device itself has implicit restrictions. This keeps in sync with Linux kernel commit: 81db12ee15cb: of/address: Translate 'dma-ranges' for parent nodes missing 'dma-ranges' Signed-off-by: Bin Meng Reviewed-by: Simon Glass --- drivers/core/of_addr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/core/of_addr.c b/drivers/core/of_addr.c index 36cdfd3..b9abf90 100644 --- a/drivers/core/of_addr.c +++ b/drivers/core/of_addr.c @@ -174,12 +174,12 @@ static int of_translate_one(const struct device_node *parent, u64 offset = OF_BAD_ADDR; ranges = of_get_property(parent, rprop, &rlen); - if (ranges == NULL) { + if (ranges == NULL && strcmp(rprop, "dma-ranges")) { debug("no ranges; cannot translate\n"); return 1; } - if (rlen == 0) { + if (ranges == NULL || rlen == 0) { offset = of_read_number(addr, na); memset(addr, 0, pna * 4); debug("empty ranges; 1:1 translation\n");