Commit 085f8871 authored by Alistair Strachan's avatar Alistair Strachan Committed by Greg Kroah-Hartman

staging: Android: vsoc: Create wc kernel mapping for region shm.

Map the region shm as write-combining instead of uncachable.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Arve Hjønnevåg <arve@android.com>
Cc: Todd Kjos <tkjos@android.com>
Cc: Martijn Coenen <maco@android.com>
Cc: Greg Hartman <ghartman@google.com>
Cc: devel@driverdev.osuosl.org
Cc: kernel-team@android.com
Signed-off-by: default avatarAlistair Strachan <astrachan@google.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 03420865
...@@ -17,7 +17,6 @@ vsoc.c, uapi/vsoc_shm.h ...@@ -17,7 +17,6 @@ vsoc.c, uapi/vsoc_shm.h
waiting threads. We should eventually use multiple queues and select the waiting threads. We should eventually use multiple queues and select the
queue based on the region. queue based on the region.
- Add debugfs support for examining the permissions of regions. - Add debugfs support for examining the permissions of regions.
- Use ioremap_wc instead of ioremap_nocache.
- Remove VSOC_WAIT_FOR_INCOMING_INTERRUPT ioctl. This functionality has been - Remove VSOC_WAIT_FOR_INCOMING_INTERRUPT ioctl. This functionality has been
superseded by the futex and is there for legacy reasons. superseded by the futex and is there for legacy reasons.
......
...@@ -802,9 +802,7 @@ static int vsoc_probe_device(struct pci_dev *pdev, ...@@ -802,9 +802,7 @@ static int vsoc_probe_device(struct pci_dev *pdev,
dev_info(&pdev->dev, "shared memory @ DMA %p size=0x%zx\n", dev_info(&pdev->dev, "shared memory @ DMA %p size=0x%zx\n",
(void *)vsoc_dev.shm_phys_start, vsoc_dev.shm_size); (void *)vsoc_dev.shm_phys_start, vsoc_dev.shm_size);
/* TODO(ghartman): ioremap_wc should work here */ vsoc_dev.kernel_mapped_shm = pci_iomap_wc(pdev, SHARED_MEMORY_BAR, 0);
vsoc_dev.kernel_mapped_shm = ioremap_nocache(
vsoc_dev.shm_phys_start, vsoc_dev.shm_size);
if (!vsoc_dev.kernel_mapped_shm) { if (!vsoc_dev.kernel_mapped_shm) {
dev_err(&vsoc_dev.dev->dev, "cannot iomap region\n"); dev_err(&vsoc_dev.dev->dev, "cannot iomap region\n");
vsoc_remove_device(pdev); vsoc_remove_device(pdev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment