title: How to set a fragment of the MMIO space in a different cache attribute?
body: <p>I'd like to map the whole MMIO with <code>ioremap() or pci_iomap()</code> and then set as WC only few pages.</p>
  
  <ul>
  <li><code>set_memory_wc()</code> uses <code>__pa()</code> to convert the virt to phys address but that is invalid for MMIO space.</li>
  <li>Unfortunately <code>ioremap_change_attr()</code> is a wrapper for <code>set_memory_*()</code> functions</li>
  </ul>
  
  <p><strong>Question:</strong></p>
  
  <ul>
  <li><strong>Is there such a function for mem space mapped with those functions?</strong></li>
  </ul>
  
  <p>Source: <a href="https://kernelnewbies.kernelnewbies.narkive.com/qaX6sjqI/ioremap-addresses" rel="nofollow noreferrer">https://kernelnewbies.kernelnewbies.narkive.com/qaX6sjqI/ioremap-addresses</a></p>