[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<DU0PR04MB92990AF6A62D43CCF73D7D1480DB2@DU0PR04MB9299.eurprd04.prod.outlook.com>
Date: Tue, 9 Jul 2024 08:35:34 +0000
From: Aisheng Dong <aisheng.dong@....com>
To: Oreoluwa Babatunde <quic_obabatun@...cinc.com>, "robh@...nel.org"
<robh@...nel.org>, "saravanak@...gle.com" <saravanak@...gle.com>,
"klarasmodin@...il.com" <klarasmodin@...il.com>
CC: "hch@....de" <hch@....de>, "m.szyprowski@...sung.com"
<m.szyprowski@...sung.com>, "robin.murphy@....com" <robin.murphy@....com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"iommu@...ts.linux.dev" <iommu@...ts.linux.dev>, "will@...nel.org"
<will@...nel.org>, "catalin.marinas@....com" <catalin.marinas@....com>,
"kernel@...cinc.com" <kernel@...cinc.com>, Jason Liu <jason.hui.liu@....com>
Subject: RE: [PATCH 0/4] Revert use of Unflatten_devicetree APIs from
reserved_mem
> From: Oreoluwa Babatunde <quic_obabatun@...cinc.com>
> Sent: 2024年7月9日 7:06
>
> With recent changes made to initialize the cma regions before the page tables
> are setup, commit f2a524d9ef5b ("of: reserved_mem: Restructure code to call
> reserved mem init functions earlier"), an issue was introduced where the
> initialization of the cma regions fail and are initialized as "non-reusable"
> regions instead of "reusable". [1], [2]
>
> This issue occurs because the device_node of the regions are not yet created
> by the time the cma regions are being initialized.
>
> The cma regions need to be initialized before the page tables are setup for
> them to be configured correctly as was realized in [3].
>
> Hence, since the unflatten_devicetree APIs are not available until after the
> page tables have been setup, revert back to using the fdt APIs. This makes it
> possible to store a reference to each cma node in the reserved_mem array by
> the time it is needed in the init function.
>
> [1] https://lore.kernel.org/all/DU0PR04MB9299C3EC247E1FE2C373440F80DE2@DU0PR04MB9299.eurprd04.prod.outlook.com/
For CMA regressions issue, tested it worked.
Tested-by: Dong Aisheng <aisheng.dong@....com>
Regards
Aisheng
>
> Oreoluwa Babatunde (4):
> Revert "of: reserved_mem: Restructure code to call reserved mem init
> functions earlier"
> Revert "of: reserved_mem: Rename fdt_* functions to refelct the change
> from using fdt APIs"
> Revert "of: reserved_mem: Use unflatten_devicetree APIs to scan
> reserved memory nodes"
> of: reserved_mem: Restructure code to call rmem init functions earlier
>
> drivers/of/fdt.c | 2 +-
> drivers/of/of_private.h | 2 +-
> drivers/of/of_reserved_mem.c | 103 +++++++++++++++++---------------
> include/linux/of_reserved_mem.h | 2 +-
> kernel/dma/coherent.c | 10 ++--
> kernel/dma/contiguous.c | 8 +--
> kernel/dma/swiotlb.c | 10 ++--
> 7 files changed, 72 insertions(+), 65 deletions(-)
>
> --
> 2.34.1
Powered by blists - more mailing lists