>-----Original Message----- >From: Daniel Ferguson <danielf@xxxxxxxxxxxxxxxxxxxxxx> >Sent: 08 August 2025 17:39 >To: Shiju Jose <shiju.jose@xxxxxxxxxx>; rafael@xxxxxxxxxx; bp@xxxxxxxxx; >akpm@xxxxxxxxxxxxxxxxxxxx; rppt@xxxxxxxxxx; >dferguson@xxxxxxxxxxxxxxxxxxx; linux-edac@xxxxxxxxxxxxxxx; linux- >acpi@xxxxxxxxxxxxxxx; linux-mm@xxxxxxxxx; linux-doc@xxxxxxxxxxxxxxx; >tony.luck@xxxxxxxxx; lenb@xxxxxxxxxx; leo.duran@xxxxxxx; >Yazen.Ghannam@xxxxxxx; mchehab@xxxxxxxxxx >Cc: Jonathan Cameron <jonathan.cameron@xxxxxxxxxx>; Linuxarm ><linuxarm@xxxxxxxxxx>; rientjes@xxxxxxxxxx; jiaqiyan@xxxxxxxxxx; >Jon.Grimm@xxxxxxx; dave.hansen@xxxxxxxxxxxxxxx; >naoya.horiguchi@xxxxxxx; james.morse@xxxxxxx; jthoughton@xxxxxxxxxx; >somasundaram.a@xxxxxxx; erdemaktas@xxxxxxxxxx; pgonda@xxxxxxxxxx; >duenwen@xxxxxxxxxx; gthelen@xxxxxxxxxx; >wschwartz@xxxxxxxxxxxxxxxxxxx; wbs@xxxxxxxxxxxxxxxxxxxxxx; >nifan.cxl@xxxxxxxxx; tanxiaofei <tanxiaofei@xxxxxxxxxx>; Zengtao (B) ><prime.zeng@xxxxxxxxxxxxx>; Roberto Sassu <roberto.sassu@xxxxxxxxxx>; >kangkang.shen@xxxxxxxxxxxxx; wanghuiqiang <wanghuiqiang@xxxxxxxxxx> >Subject: Re: [PATCH v10 0/3] ACPI: Add support for ACPI RAS2 feature table > >> Changes >> ======= >> v9 -> v10: >> 1. Use pcc_chan->shmem instead of >> acpi_os_ioremap(pcc_chan->shmem_base_addr,...) as it was >> acpi_os_ioremap internally by the PCC driver to pcc_chan->shmem. >> >> 2. Changes required for the Ampere Computing system where uses a single >> PCC channel for RAS2 memory features across all NUMA domains. Based on >the >> requirements from by Daniel on V9 >> https://lore.kernel.org/all/547ed8fb-d6b7-4b6b-a38b- >bf13223971b1@xxxxxxxxxxxxxxxxxxxxxx/ >> and discussion with Jonathan. >> 2.1 Add node_to_range lookup facility to numa_memblks. This is to retrieve >the lowest >> physical continuous memory range of the memory associated with a NUMA >domain. >> 2.2. Set requested addr range to the memory region's base addr and size >> while send RAS2 cmd GET_PATROL_PARAMETER >> in functions ras2_update_patrol_scrub_params_cache() & >> ras2_get_patrol_scrub_running(). >> 2.3. Split struct ras2_mem_ctx into struct ras2_mem_ctx_hdr and struct >ras2_pxm_domain >> to support cases, uses a single PCC channel for RAS2 scrubbers across all >NUMA >> domains and PCC channel per RAS2 scrub instance. Provided ACPI spec >define single >> memory scrub per NUMA domain. >> 2.4. EDAC feature sysfs folder for RAS2 changed from "acpi_ras_memX" to >"acpi_ras_mem_idX" >> because memory scrub instances across all NUMA domains would present >under >> "acpi_ras_mem_id0" when a system uses a single PCC channel for RAS2 >scrubbers across >> all NUMA domains etc. >> 2.5. Removed Acked-by: Rafael from patch [2], because of the several above >changes from v9. > >A) We have tested the changes you have made, and they work. Thank you. Thanks for verifying the changes. > >B) In the early days of this patch series, as we began developing our firmware to >keep pace with your development of this driver, we indeed only had one PCC >channel shared across all proximity domains. Since then, we have evolved our >firmware to have a PCC channel per proximity domain. It didn't seem important >to mention this to you since the supporting code was minimal. However, with >this latest update (v10), it has become apparent that you have taken extra >efforts to preserve this accommodation. So, now I'm obliged to say that we no >longer need this accommodation. If it would help make things cleaner, and >require less explanation, we support the removal of this legacy, non-compliant >accommodation. Thanks Daniel for sharing information. I will remove workarounds previously added for non-compliant case and will simplify the code. > >Respectfully, >~Daniel > > Thanks, Shiju