No subject


Thu Mar 26 03:30:04 AEDT 2026


dev->bus_dma_limit is set to 0. This is incorrect. For pre-mapped RAM, 
with my
patch, bus_dma_limit should always be set to some value.

</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
In that case, do you think adding an extra check for dev->bus_dma_limit
would help? I am sure you already would have thought of this and
probably are still working to find the correct fix?

+bool arch_dma_alloc_direct(struct device *dev)
+{
+	if (dev->dma_ops_bypass && dev->bus_dma_limit)
+		return true;
+
+	return false;
+}
+
+bool arch_dma_free_direct(struct device *dev, dma_addr_t dma_handle)
+{
+	if (!dev->dma_ops_bypass || !dev->bus_dma_limit)
+		return false;
+
+	return is_direct_handle(dev, dma_handle);
+}

<snip from Timothy>

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">introduced a serious regression into the kernel for a large number of
active users of the PowerNV platform, I would kindly ask that it be
reverted until it can be reworked not to break PowerNV support.  Bear
in mind there are other devices that are 40 bit DMA limited, and they
are also likely to break on Linux 7.0.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Looks like more people are facing an issue with this now.

-ritesh
</pre>
    </blockquote>
  </body>
</html>

--------------4Z4JYfk9s1hj0pMfVELb3yCz--



More information about the Linuxppc-dev mailing list