- 19 10月, 2016 1 次提交
-
-
由 Lorenzo Stoakes 提交于
This removes the 'write' and 'force' from get_user_pages() and replaces them with 'gup_flags' to make the use of FOLL_FORCE explicit in callers as use of this flag can result in surprising behaviour (and hence bugs) within the mm subsystem. Signed-off-by: NLorenzo Stoakes <lstoakes@gmail.com> Acked-by: NChristian König <christian.koenig@amd.com> Acked-by: NJesper Nilsson <jesper.nilsson@axis.com> Acked-by: NMichal Hocko <mhocko@suse.com> Reviewed-by: NJan Kara <jack@suse.cz> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 03 4月, 2016 1 次提交
-
-
由 Linus Torvalds 提交于
Commit d4edcf0d ("mm/gup: Switch all callers of get_user_pages() to not pass tsk/mm") switched get_user_pages() callers to the simpler model where they no longer pass in the thread and mm pointer. But since then we've merged changes to a few drivers that re-introduce use of the old interface. Let's fix them up. They continued to work fine (thanks to the truly disgusting macros introduced in commit cde70140: "mm/gup: Overload get_user_pages() functions"), but cause unnecessary build noise. Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 15 2月, 2016 1 次提交
-
-
由 Shraddha Barke 提交于
Coherent mapping guarantees that the device and CPU are in sync. Signed-off-by: NShraddha Barke <shraddha.6596@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 08 2月, 2016 1 次提交
-
-
由 Dan Carpenter 提交于
We recently messed up the error handling here. We can return with the pipe->lock held or sometimes we unlock twice by mistake. Fixes: 2f3be882 ('goldfish_pipe: Pin pages to memory while copying and other cleanups') Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Reviewed-by: NChristoffer Dall <christoffer.dall@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 29 1月, 2016 6 次提交
-
-
由 Jason Hu 提交于
Add ACPI binding to the android pipe driver Signed-off-by: NJason Hu <jia-cheng.hu@intel.com> Signed-off-by: NJin Qian <jinqian@android.com> Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Yu Ning 提交于
For reading and writing guest user space buffers, currently the kernel sends the guest virtual address of the buffer to the pipe device. This virtual address has to be first converted to a guest physical address. Doing this translation on the QEMU side is inefficient and requires additional handling when KVM is enabled, whose implementation would either incur intrusive changes to QEMU's KVM support code or suffer from poor performance, see commit 08c7228c50f8 ("x86-kvm: only sync SREGS when doing address translation") of $AOSP/external/qemu for details, and thus should be avoided if possible. There is a TODO comment in hw/misc/android_pipe.c in the new Android emulator source tree ($AOSP/external/qemu-android) which requests that the translation be done on the kernel side and that physical addresses be passed to the device instead of virtual ones. Once the QEMU-side implementation is done, the kernel will need to support both the new paddr-based pipe device and the old vaddr-based one (which will continue to be used by the classic emulator). This patch achieves that by leveraging the device version register available in the new device. See https://android-review.googlesource.com/128280 for the QEMU-side patch. In addition, use the mmap semaphore (in read mode) to safeguard the call to get_user_pages(). Signed-off-by: NYu Ning <yu.ning@intel.com> Signed-off-by: NJin Qian <jinqian@android.com> Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> -
由 Greg Hackmann 提交于
On PIPE_ERROR_AGAIN, just stopping in the middle of a transfer and returning the number of bytes actually handled is the right behavior. Other errors should be returned on the next read() or write() call. Continue logging those until we confirm nothing actually relies on the existing (wrong) behavior of dropping errors on the floor. Signed-off-by: NGreg Hackmann <ghackmann@google.com> Signed-off-by: NJin Qian <jinqian@android.com> Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Greg Hackmann 提交于
Add bindings so we don't need to rely on goldfish virtual bus for probing any more, which means we don't need ARM and MIPS goldfish board code for instantiating the bus. In the long term we would like to move towards replacing the Android pipe with virtio-vsock that is currently under development. Signed-off-by: NGreg Hackmann <ghackmann@google.com> Signed-off-by: NJin Qian <jinqian@android.com> Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Christoffer Dall 提交于
The existing code had a troubling TODO statement concerning the fact that it just did a check if the page that the QEMU backend was going to read from / write to was there before the call to the QEMU backend and then relying on the fact that the page stayed around, even in a preemptible SMP kernel. Obviously the page could go away or be reassigned, and strange things may happen. Further, writes were not tracked, so any use of COW or KSM-like features would break completely. Probably that was never used by adbd (the only current active user of the pipe), but could prove much more dangerous for the GPU passthrough mechanism. Instead, use get_user_pages() as the comment suggested and cleanup the error path and add the set_page_dirt() call on a successful read operation. Also clarify the count used to return from successful read/write calls and use Linux style commentary in various places of the file. Note: The "just ignore error and return whatever we read so far" error handling is really quite horrific. I cannot change it without a more careful study of all user space ABIs reliance on this 'feature'. Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org> Signed-off-by: NJin Qian <jinqian@android.com> Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Alex Bennée 提交于
It just makes it harder to figure out which commands are being used. Signed-off-by: NAlex Bennée <alex.bennee@linaro.org> Signed-off-by: NJin Qian <jinqian@android.com> Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 31 5月, 2015 1 次提交
-
-
由 Peter Senna Tschudin 提交于
As the first argument of gf_write64() was of type unsigned long, and as some calls to gf_write64() were casting the first argument from void * to u64 the compiler and/or sparse were printing warnings for casts of wrong sizes when compiling for i386. This patch changes the type of the first argument of gf_write64() to const void *, and update calls to the function. This change fixed the warnings and allowed to remove casts from 3 calls to gf_write64(). In addition gf_write64() was renamed to gf_write_ptr() as the name was misleading because it only writes 32 bits on 32 bit systems. gf_write_dma_addr() was added to handle dma_addr_t values which is used at drivers/staging/goldfish/goldfish_audio.c. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NPeter Senna Tschudin <peter.senna@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 25 5月, 2015 1 次提交
-
-
由 Joe Perches 提交于
Move the close parenthesis. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 17 5月, 2014 1 次提交
-
-
由 Octavian Purdila 提交于
drivers/platform/goldfish/goldfish_pipe.c: In function 'goldfish_cmd_status': drivers/platform/goldfish/goldfish_pipe.c:164:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] writel((u32)(u64)pipe, dev->base + PIPE_REG_CHANNEL); ^ drivers/platform/goldfish/goldfish_pipe.c: In function 'goldfish_cmd': drivers/platform/goldfish/goldfish_pipe.c:180:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] writel((u32)(u64)pipe, dev->base + PIPE_REG_CHANNEL); ^ drivers/platform/goldfish/goldfish_pipe.c: In function 'goldfish_pipe_read_write': drivers/platform/goldfish/goldfish_pipe.c:337:16: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] writel((u32)(u64)pipe, dev->base + PIPE_REG_CHANNEL); Reported-by: NFengguang Wu <fengguang.wu@intel.com> Cc: Jun Tian <jun.j.tian@intel.com> Acked-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NOctavian Purdila <octavian.purdila@intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 16 5月, 2014 3 次提交
-
-
由 Alan 提交于
Use the 64bit helper method to scrub most of the ifdefs from the driver. The pipe reading has a funny case we can't scrub completely. Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Jun Tian 提交于
When using multiple adb on 64 bit kernel to transfer data, the goldfish pipe interrupt will crash the kernel. Signed-off-by: NJun Tian <jun.j.tian@intel.com> Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Jun Tian 提交于
Support 64-bit channel and address for the goldfish pipe driver. Signed-off-by: NJun Tian <jun.j.tian@intel.com> Signed-off-by: NOctavian Purdila <octavian.purdila@intel.com> Signed-off-by: NBrian Wood <brian.j.wood@intel.com> Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 25 1月, 2013 2 次提交
-
-
由 Alan Cox 提交于
Note a point in the pipe driver that wants future attention Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 David 'Digit' Turner 提交于
A QEMU pipe is a very fast communication channel between the guest system and the emulator. Usage from the guest is simply something like; // connect to special device fd = open("/dev/qemu_pipe", O_RDWR); // tell which service we want to talk to (must be zero-terminated) write(fd, "pipeName", strlen("pipeName")+1); // do read()/write() through fd now ... // close channel close(fd); Signed-off-by: NDavid 'Digit' Turner <digit@android.com> [Added support for parameter buffers for speed] igned-off-by: NXin, Xiaohui <xiaohui.xin@intel.com> Signed-off-by: NJiang, Yunhong <yunhong.jiang@intel.com> Signed-off-by: NNakajima, Jun <jun.nakajima@intel.com> [Ported to 3.6] Signed-off-by: NTom Keel <thomas.keel@intel.com> [Ported to 3.7, moved to platform/goldfish] Signed-off-by: NAlan Cox <alan@linux.intel.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-