xtensa/PCI: Do not mmap PCI BARs to userspace as write-through
These should be uncached, not write-through. Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
Родитель
cef4d02305
Коммит
03a064b431
|
@ -333,25 +333,6 @@ __pci_mmap_make_offset(struct pci_dev *dev, struct vm_area_struct *vma,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Set vm_page_prot of VMA, as appropriate for this architecture, for a pci
|
|
||||||
* device mapping.
|
|
||||||
*/
|
|
||||||
static __inline__ void
|
|
||||||
__pci_mmap_set_pgprot(struct pci_dev *dev, struct vm_area_struct *vma,
|
|
||||||
enum pci_mmap_state mmap_state, int write_combine)
|
|
||||||
{
|
|
||||||
int prot = pgprot_val(vma->vm_page_prot);
|
|
||||||
|
|
||||||
/* Set to write-through */
|
|
||||||
prot = (prot & _PAGE_CA_MASK) | _PAGE_CA_WT;
|
|
||||||
#if 0
|
|
||||||
if (!write_combine)
|
|
||||||
prot |= _PAGE_WRITETHRU;
|
|
||||||
#endif
|
|
||||||
vma->vm_page_prot = __pgprot(prot);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Perform the actual remap of the pages for a PCI device mapping, as
|
* Perform the actual remap of the pages for a PCI device mapping, as
|
||||||
* appropriate for this architecture. The region in the process to map
|
* appropriate for this architecture. The region in the process to map
|
||||||
|
@ -372,7 +353,7 @@ int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
__pci_mmap_set_pgprot(dev, vma, mmap_state, write_combine);
|
vma->vm_page_prot = pgprot_device(vma->vm_page_prot);
|
||||||
|
|
||||||
ret = io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
|
ret = io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
|
||||||
vma->vm_end - vma->vm_start,vma->vm_page_prot);
|
vma->vm_end - vma->vm_start,vma->vm_page_prot);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче