All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jin Qian <jinqian@android.com>
To: "Greg Hackmann" <ghackmann@google.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Yu Ning" <yu.ning@intel.com>,
	"Peter Senna Tschudin" <peter.senna@gmail.com>,
	"Dan Carpenter" <dan.carpenter@oracle.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Christoffer Dall" <christoffer.dall@linaro.org>,
	"Joe Perches" <joe@perches.com>,
	"Jason Hu" <jia-cheng.hu@intel.com>,
	linux-kernel@vger.kernel.org
Cc: Jin Qian <jinqian@android.com>
Subject: [PATCH 2/8] android_pipe: don't be clever with #define offsets
Date: Tue, 24 Nov 2015 17:10:06 -0800	[thread overview]
Message-ID: <1448413812-24289-3-git-send-email-jinqian@android.com> (raw)
In-Reply-To: <1448413812-24289-1-git-send-email-jinqian@android.com>

From: Alex Bennée <alex.bennee@linaro.org>

You just make it harder to figure out when commands are being used.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
(cherry picked from commit b765d478f67a2f6cb43c40a99114ea5ff1bcff97)
Signed-off-by: Jin Qian <jinqian@android.com>
---
 drivers/platform/goldfish/goldfish_pipe.c | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/drivers/platform/goldfish/goldfish_pipe.c b/drivers/platform/goldfish/goldfish_pipe.c
index e7a29e2..0fb3a34 100644
--- a/drivers/platform/goldfish/goldfish_pipe.c
+++ b/drivers/platform/goldfish/goldfish_pipe.c
@@ -90,12 +90,6 @@
 #define CMD_WRITE_BUFFER	4  /* send a user buffer to the emulator */
 #define CMD_WAKE_ON_WRITE	5  /* tell the emulator to wake us when writing
 				     is possible */
-
-/* The following commands are related to read operations, they must be
- * listed in the same order than the corresponding write ones, since we
- * will use (CMD_READ_BUFFER - CMD_WRITE_BUFFER) as a special offset
- * in goldfish_pipe_read_write() below.
- */
 #define CMD_READ_BUFFER        6  /* receive a user buffer from the emulator */
 #define CMD_WAKE_ON_READ       7  /* tell the emulator to wake us when reading
 				   * is possible */
@@ -272,8 +266,6 @@ static ssize_t goldfish_pipe_read_write(struct file *filp, char __user *buffer,
 	unsigned long irq_flags;
 	struct goldfish_pipe *pipe = filp->private_data;
 	struct goldfish_pipe_dev *dev = pipe->dev;
-	const int cmd_offset = is_write ? 0
-					: (CMD_READ_BUFFER - CMD_WRITE_BUFFER);
 	unsigned long address, address_end;
 	int ret = 0;
 
@@ -325,7 +317,8 @@ static ssize_t goldfish_pipe_read_write(struct file *filp, char __user *buffer,
 
 		/* Now, try to transfer the bytes in the current page */
 		spin_lock_irqsave(&dev->lock, irq_flags);
-		if (access_with_param(dev, CMD_WRITE_BUFFER + cmd_offset,
+		if (access_with_param(dev,
+				is_write ? CMD_WRITE_BUFFER : CMD_READ_BUFFER,
 				address, avail, pipe, &status)) {
 			gf_write_ptr(pipe, dev->base + PIPE_REG_CHANNEL,
 				     dev->base + PIPE_REG_CHANNEL_HIGH);
@@ -333,7 +326,7 @@ static ssize_t goldfish_pipe_read_write(struct file *filp, char __user *buffer,
 			gf_write_ptr((void *)address,
 				     dev->base + PIPE_REG_ADDRESS,
 				     dev->base + PIPE_REG_ADDRESS_HIGH);
-			writel(CMD_WRITE_BUFFER + cmd_offset,
+			writel(is_write ? CMD_WRITE_BUFFER : CMD_READ_BUFFER,
 					dev->base + PIPE_REG_COMMAND);
 			status = readl(dev->base + PIPE_REG_STATUS);
 		}
@@ -370,7 +363,8 @@ static ssize_t goldfish_pipe_read_write(struct file *filp, char __user *buffer,
 		set_bit(wakeBit, &pipe->flags);
 
 		/* Tell the emulator we're going to wait for a wake event */
-		goldfish_cmd(pipe, CMD_WAKE_ON_WRITE + cmd_offset);
+		goldfish_cmd(pipe,
+			is_write ? CMD_WAKE_ON_WRITE : CMD_WAKE_ON_READ);
 
 		/* Unlock the pipe, then wait for the wake signal */
 		mutex_unlock(&pipe->lock);
-- 
2.6.0.rc2.230.g3dd15c0


  parent reply	other threads:[~2015-11-25  1:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1448413812-24289-1-git-send-email-jinqian@android.com>
2015-11-25  1:10 ` [PATCH 1/8] goldfish: refactor goldfish platform configs Jin Qian
2015-11-25 12:32   ` Alex Bennée
2015-11-25  1:10 ` Jin Qian [this message]
2015-11-25  1:10 ` [PATCH 3/8] android_pipe: Pin pages to memory while copying and other cleanups Jin Qian
2015-11-25  1:10 ` [PATCH 4/8] platform: goldfish: pipe: add devicetree bindings Jin Qian
2015-11-25 11:22   ` Christoffer Dall
2015-11-25  1:10 ` [PATCH 5/8] platform: goldfish: pipe: don't log when dropping PIPE_ERROR_AGAIN Jin Qian
2015-11-25  1:10 ` [PATCH 6/8] [MIPS] Enable platform support for Goldfish virtual devices Jin Qian
2015-11-25  1:10 ` [PATCH 7/8] goldfish_pipe: Pass physical addresses to the device if supported Jin Qian
2015-11-25  1:10 ` [PATCH 8/8] goldfish: Enable ACPI-based enumeration for android pipe Jin Qian
2016-01-06 14:03 [PATCH 0/8] Goldfish: partial resync with Google tree Alan
2016-01-06 14:04 ` [PATCH 2/8] android_pipe: don't be clever with #define offsets Alan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1448413812-24289-3-git-send-email-jinqian@android.com \
    --to=jinqian@android.com \
    --cc=alex.bennee@linaro.org \
    --cc=christoffer.dall@linaro.org \
    --cc=dan.carpenter@oracle.com \
    --cc=ghackmann@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jia-cheng.hu@intel.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peter.senna@gmail.com \
    --cc=yu.ning@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.