On 5/5/26 1:49 PM, Harsh Prateek Bora wrote:
On 05/05/26 2:24 am, Gaurav Batra wrote:
@@ -2431,7 +2437,7 @@ static int iommu_mem_notifier(struct
notifier_block *nb, unsigned long action,
spin_lock(&dma_win_list_lock);
list_for_each_entry(window, &dma_win_list, list) {
if (window->direct && (arg->start_pfn << PAGE_SHIFT) <
- ddw_memory_hotplug_max()) {
+ pseries_ddw_max_ram) {
ret |= tce_setrange_multi_pSeriesLP(arg->start_pfn,
arg->nr_pages, window->prop);
I think not only start_pfn, but end_pfn also needs to be within allowed
range, which may require clamping arg->nr_pages if crossing the limits.
The reason to only check for start_pfn is because the range given will
either be in the RAM or pmemory. It can never cross the boundary
}
@@ -2444,7 +2450,7 @@ static int iommu_mem_notifier(struct
notifier_block *nb, unsigned long action,
spin_lock(&dma_win_list_lock);
list_for_each_entry(window, &dma_win_list, list) {
if (window->direct && (arg->start_pfn << PAGE_SHIFT) <
- ddw_memory_hotplug_max()) {
+ pseries_ddw_max_ram) {
ret |= tce_clearrange_multi_pSeriesLP(arg->start_pfn,
arg->nr_pages, window->prop);
}