From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1B62C4D8D85 for ; Fri, 5 Jun 2026 11:38:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780659484; cv=none; b=jApoah60l18aU/xCpNkPepyUVjb65AqENd3QCl/GIIknEFceVuvQghorNyCPx4NlN16dm+YovQ47nIT9E8cbzL4xjqS7InCv7diXtvgvGeQaYm+cN9k4jmlqjNp2mf5Vc+N8hbyP3HRclj+AHy2ZYXdFqrKC3wHklWjjjiYz/jk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780659484; c=relaxed/simple; bh=0vd+vO7kT/Bwe+zNKztgtx34weofQNBHZTUxt16DUFQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=C1POnfMwdsGCGwxQed2if9Eyos240EQMgA+o/aw9NTyZPylaLMYXxYI0teAbbqLLZiel3RkrPvozjd4Bh44PackLQxUp6QpyhgNtaLrpPlNmQ08itNY6FOxV86xSst/zdGK+0EgctWxkPKdXQlwmwAF5Uc9T7FguGZxS5ZOqFr0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=je4y5F63; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="je4y5F63" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-490aebf33e9so10052395e9.3 for ; Fri, 05 Jun 2026 04:38:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780659481; x=1781264281; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6daWXnyshURFrvLbUnWsTDQNHdO5cag/yMoMIvHA3zY=; b=je4y5F63vJ0t4nHG4Qe82KFnMnixF7PIQSfbaVCqTHot5p/CkaW/OP8OofAdWPTy/g VTKsOcCVgKFqAZPJ7BjXvT+UQ06SymjNFe5kkqmWf1Am9cLUmxMpGfcinxTRvbPsG28G LJpWvftRMd7sJxjY6aLJhDnmz4NlXdbDTszLIj6PZtNV8k1v9ZWdnXwD10S4/OfuKXpg 5NM7DMgHNroUvJiZqlhOo4CMGTfk90ZlFiIllFDHtsO965PeZ3u3EvpFQasNaob/mAkP gpeJ1ZjZA5UJGGk+RFeRpZTnMU0HC0VGwOfvE7X5/ukMr1QNCauF2nji8JnYzRVTlunc 3O8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780659482; x=1781264282; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=6daWXnyshURFrvLbUnWsTDQNHdO5cag/yMoMIvHA3zY=; b=r5l1b36ay2Mhn82FNRrmUY3pnegKDWLYLi2qR4tF/4ArN9g45px+yRsopQW+2ehRy9 e9f3HxpWQUFlK+oK5ZjUJDkMxZR4wZLvpUzWXy3hqZsQk6pCwBFhFCIYegMERHt34vWE E4GpLpqyscinGGpgwzKhIo/uzBrpq14Y7ZCNjCTdxr9eiWfuot1Cj1+rCKs+QfzcsVoi m4+fInZeJfCsQVqzkwZFQOe+P+O4iP57KpuiiKVtP3y8MMiUbnynP0Q7jtWCBOA551X0 HqCypsLI9xYkLS0DAghx9zIbCnlsDSyjT7BDkBQvg+8Cimc0QnnQA7e0ydIZZmXMuEEx 6BKg== X-Forwarded-Encrypted: i=1; AFNElJ9hoRkyuoNmKsoZ7kGJtZu5aq9WrZg0fD9zDfCzJVp68BadycEu1mngFQ/YarheC5pNPHEXiy/9gghGn8E=@vger.kernel.org X-Gm-Message-State: AOJu0Yy4GolwEuEaQ+h960xLSE8O2hO3ktPxR6bLeCo6zoN5O3p2l0Jt QadPa/JjLgWJzrISH9C8QiVdvN6ng5RuPLnJlhg9E2GZw+FVMve6IDle X-Gm-Gg: Acq92OHhGU0GOZaR28gv7f2/f2tLRXC2ZB6YqIUgEpt8znIORKuxs6od2lXt+y12Oui lAE08c1F0BAU9wqs/XijudjLav7IKyMRl+C6l7zmloNI0IL8v4AuEI9Cieq7I5FkYptdxSfFQqk TKHvDPYvokfOLvOzXlnlDWD1bzIwZz7BBKe3VlXPMIAno5fwAOlFbAleoB4oCJCE22Dnrp7pXow 1jXoSvrvLTWtX87g0WALzyfQXkXO08EIqFbvg8b5YAQnlMrhLJ1/ECvLKuq0RZ2ub+qFESHNtDV 7VFBFLfOBX4ZAx4vh/t3ysz/in/YFguYmo9ZT3C/27CPBvXBDDxvPqverl40lXmR1rnZTd2T6qy cX3DoIsrl/4uJ0QK3sLChp6zI8XhXrX248j6MB9T0kH9MfitrXY1pN9s5jpUhrb8pFuSaAi1j1i 6GiTKwjMMYMBf7yMAbPXAIZvlRju1HPd6XDCKAh2NUTzr0wWhAdkLyh4cW4JhG X-Received: by 2002:a05:600c:c0d3:b0:48e:6db3:ff33 with SMTP id 5b1f17b1804b1-490c265c091mr36372165e9.14.1780659481627; Fri, 05 Jun 2026 04:38:01 -0700 (PDT) Received: from SMW024614.wbi.nxp.com ([128.77.115.158]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46028a6dcbdsm15262439f8f.7.2026.06.05.04.37.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Jun 2026 04:38:01 -0700 (PDT) From: Laurentiu Mihalcea To: Bjorn Andersson , Mathieu Poirier , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Sascha Hauer , Peng Fan , Fabio Estevam , Daniel Baluta , Francesco Dolcini Cc: linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/4] remoteproc: imx_rpoc: fix carveout name parsing Date: Fri, 5 Jun 2026 04:36:19 -0700 Message-ID: <20260605113621.1479-3-laurentiumihalcea111@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260605113621.1479-1-laurentiumihalcea111@gmail.com> References: <20260605113621.1479-1-laurentiumihalcea111@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Laurentiu Mihalcea The imx remoteproc driver assumes that the names of the reserved memory regions reflect their usage (e.g. "vdevbuffer", "vdev0vring0", etc.). This conflicts with the devicetree specification's recommendation, which states that the names of the devicetree nodes should be generic. Therefore, instead of relying on the node names, use the names passed via the "memory-region-names" property if present. Otherwise, keep the old behavior. The definition of imx_rproc_rmem_to_resource() is added to a common place as imx_dsp_rproc.c can also use it given that it suffers from the same aforementioned problem. Signed-off-by: Laurentiu Mihalcea --- drivers/remoteproc/imx_rproc.c | 13 +++++++++++-- drivers/remoteproc/imx_rproc.h | 21 +++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 7662ebd9d2f4..74719066905d 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -672,7 +672,7 @@ static int imx_rproc_prepare(struct rproc *rproc) int err; struct resource res; - err = of_reserved_mem_region_to_resource(np, i++, &res); + err = imx_rproc_rmem_to_resource(np, i++, &res); if (err) break; @@ -850,11 +850,20 @@ static int imx_rproc_addr_init(struct imx_rproc *priv, if (nph <= 0) return 0; + if (!of_property_present(np, "memory-region-names")) { + dev_warn(dev, "using node names for carveouts should be avoided\n"); + } else { + if (nph != of_property_count_strings(np, "memory-region-names")) { + dev_err(dev, "invalid reserved memory name count\n"); + return -EINVAL; + } + } + /* remap optional addresses */ for (a = 0; a < nph; a++) { struct resource res; - err = of_reserved_mem_region_to_resource(np, a, &res); + err = imx_rproc_rmem_to_resource(np, a, &res); if (err) { dev_err(dev, "unable to resolve memory region\n"); return err; diff --git a/drivers/remoteproc/imx_rproc.h b/drivers/remoteproc/imx_rproc.h index 0d7d48352a10..3632bc375c71 100644 --- a/drivers/remoteproc/imx_rproc.h +++ b/drivers/remoteproc/imx_rproc.h @@ -7,6 +7,8 @@ #ifndef _IMX_RPROC_H #define _IMX_RPROC_H +#include + /* address translation table */ struct imx_rproc_att { u32 da; /* device address (From Cortex M4 view)*/ @@ -45,4 +47,23 @@ struct imx_rproc_dcfg { u32 reset_vector_mask; }; +static inline int imx_rproc_rmem_to_resource(struct device_node *np, + int index, + struct resource *res) +{ + int ret; + + ret = of_reserved_mem_region_to_resource(np, index, res); + if (ret) + return ret; + + /* "memory-region-names" is optional */ + ret = of_property_read_string_index(np, "memory-region-names", + index, &res->name); + if (ret == -EINVAL) + return 0; + + return ret; +} + #endif /* _IMX_RPROC_H */ -- 2.43.0