Skip to contentSkip to conversation

block/ps3vram: Minor updates and fixes

PATCH Applied Geoff Levand 4 participants 8 messages Jun 10, 2015 – Jun 11, 2015

Subsystems (4)
lore
Share & tools
lore

Geoff Levand

author maintainer
#0 lore raw

cover block/ps3vram: Minor updates and fixes

Hi Jens,

Here are a few minor updates for the ps3vram driver. The third patch adds me as co-maintainer of the driver, which I think is fitting as I have been maintaining it for the last few years and expect I would be involved in any future inquiries regarding it.

Please apply, thanks.

-Geoff

The following changes since commit d4a4f75cd8f29cd9464a5a32e9224a91571d6649:

Linux 4.1-rc7 (2015-06-07 20:23:50 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git for-merge-2

for you to fetch changes up to 1d082300a03a735c006739907e6aea082007663c:

MAINTAINERS: Update ps3vram block driver (2015-06-10 10:46:25 -0700)

----------------------------------------------------------------
Geert Uytterhoeven (1):
block/ps3vram: Remove obsolete reference to MTD

Geoff Levand (2):
block/ps3vram: Fix sparse warnings
MAINTAINERS: Update ps3vram block driver

 MAINTAINERS             |  2 ++
 drivers/block/ps3vram.c | 34 +++++++++++++++++-----------------
 2 files changed, 19 insertions(+), 17 deletions(-)
Signature · 1 line
2.1.0
author maintainer
#1 lore raw

PATCH 1/3 block/ps3vram: Fix sparse warnings

Fix sparse warnings like these:

drivers/block/ps3vram.c: warning: incorrect type in assignment (different address spaces)
drivers/block/ps3vram.c: expected unsigned int [usertype] *ctrl
drivers/block/ps3vram.c: got void [noderef] <asn:2>*

---
 drivers/block/ps3vram.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)
drivers/block/ps3vram.c +16 -16
index ef45cfb..a7bf836 100644
@@ -73,8 +73,8 @@ struct ps3vram_priv {
 
 	u64 memory_handle;
 	u64 context_handle;
-	u32 *ctrl;
-	void *reports;
+	u32 __iomem *ctrl;
+	void __iomem *reports;
 	u8 *xdr_buf;
 
 	u32 *fifo_base;
@@ -104,7 +104,7 @@ static char *size = "256M";
 module_param(size, charp, 0);
 MODULE_PARM_DESC(size, "memory size");
 
-static u32 *ps3vram_get_notifier(void *reports, int notifier)
+static u32 __iomem *ps3vram_get_notifier(void __iomem *reports, int notifier)
 {
 	return reports + DMA_NOTIFIER_OFFSET_BASE +
 	       DMA_NOTIFIER_SIZE * notifier;
@@ -113,22 +113,22 @@ static u32 *ps3vram_get_notifier(void *reports, int notifier)
 static void ps3vram_notifier_reset(struct ps3_system_bus_device *dev)
 {
 	struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev);
-	u32 *notify = ps3vram_get_notifier(priv->reports, NOTIFIER);
+	u32 __iomem *notify = ps3vram_get_notifier(priv->reports, NOTIFIER);
 	int i;
 
 	for (i = 0; i < 4; i++)
-		notify[i] = 0xffffffff;
+		iowrite32be(0xffffffff, notify + i);
 }
 
 static int ps3vram_notifier_wait(struct ps3_system_bus_device *dev,
 				 unsigned int timeout_ms)
 {
 	struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev);
-	u32 *notify = ps3vram_get_notifier(priv->reports, NOTIFIER);
+	u32 __iomem *notify = ps3vram_get_notifier(priv->reports, NOTIFIER);
 	unsigned long timeout;
 
 	for (timeout = 20; timeout; timeout--) {
-		if (!notify[3])
+		if (!ioread32be(notify + 3))
 			return 0;
 		udelay(10);
 	}
@@ -136,7 +136,7 @@ static int ps3vram_notifier_wait(struct ps3_system_bus_device *dev,
 	timeout = jiffies + msecs_to_jiffies(timeout_ms);
 
 	do {
-		if (!notify[3])
+		if (!ioread32be(notify + 3))
 			return 0;
 		msleep(1);
 	} while (time_before(jiffies, timeout));
@@ -148,8 +148,8 @@ static void ps3vram_init_ring(struct ps3_system_bus_device *dev)
 {
 	struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev);
 
-	priv->ctrl[CTRL_PUT] = FIFO_BASE + FIFO_OFFSET;
-	priv->ctrl[CTRL_GET] = FIFO_BASE + FIFO_OFFSET;
+	iowrite32be(FIFO_BASE + FIFO_OFFSET, priv->ctrl + CTRL_PUT);
+	iowrite32be(FIFO_BASE + FIFO_OFFSET, priv->ctrl + CTRL_GET);
 }
 
 static int ps3vram_wait_ring(struct ps3_system_bus_device *dev,
@@ -159,14 +159,14 @@ static int ps3vram_wait_ring(struct ps3_system_bus_device *dev,
 	unsigned long timeout = jiffies + msecs_to_jiffies(timeout_ms);
 
 	do {
-		if (priv->ctrl[CTRL_PUT] == priv->ctrl[CTRL_GET])
+		if (ioread32be(priv->ctrl + CTRL_PUT) == ioread32be(priv->ctrl + CTRL_GET))
 			return 0;
 		msleep(1);
 	} while (time_before(jiffies, timeout));
 
 	dev_warn(&dev->core, "FIFO timeout (%08x/%08x/%08x)\n",
-		 priv->ctrl[CTRL_PUT], priv->ctrl[CTRL_GET],
-		 priv->ctrl[CTRL_TOP]);
+		 ioread32be(priv->ctrl + CTRL_PUT), ioread32be(priv->ctrl + CTRL_GET),
+		 ioread32be(priv->ctrl + CTRL_TOP));
 
 	return -ETIMEDOUT;
 }
@@ -189,7 +189,7 @@ static void ps3vram_rewind_ring(struct ps3_system_bus_device *dev)
 
 	ps3vram_out_ring(priv, 0x20000000 | (FIFO_BASE + FIFO_OFFSET));
 
-	priv->ctrl[CTRL_PUT] = FIFO_BASE + FIFO_OFFSET;
+	iowrite32be(FIFO_BASE + FIFO_OFFSET, priv->ctrl + CTRL_PUT);
 
 	/* asking the HV for a blit will kick the FIFO */
 	status = lv1_gpu_fb_blit(priv->context_handle, 0, 0, 0, 0);
@@ -207,8 +207,8 @@ static void ps3vram_fire_ring(struct ps3_system_bus_device *dev)
 
 	mutex_lock(&ps3_gpu_mutex);
 
-	priv->ctrl[CTRL_PUT] = FIFO_BASE + FIFO_OFFSET +
-			       (priv->fifo_ptr - priv->fifo_base) * sizeof(u32);
+	iowrite32be(FIFO_BASE + FIFO_OFFSET + (priv->fifo_ptr - priv->fifo_base)
+		* sizeof(u32), priv->ctrl + CTRL_PUT);
 
 	/* asking the HV for a blit will kick the FIFO */
 	status = lv1_gpu_fb_blit(priv->context_handle, 0, 0, 0, 0);
Signature · 1 line
2.1.0
#2 lore raw

PATCH 2/3 block/ps3vram: Remove obsolete reference to MTD

In reply to Geoff Levand

The ps3vram driver is a plain block device driver since commit f507cd22035fdadd5dbb476dd05e9e7ee21c3b84 ("ps3/block: Replace mtd/ps3vram by block/ps3vram").

---
 drivers/block/ps3vram.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/block/ps3vram.c +1 -1
index a7bf836..b1612eb 100644
@@ -1,5 +1,5 @@
 /*
- * ps3vram - Use extra PS3 video ram as MTD block device.
+ * ps3vram - Use extra PS3 video ram as block device.
  *
  * Copyright 2009 Sony Corporation
  *
Signature · 1 line
2.1.0
#3 lore raw

Re: [PATCH 2/3] block/ps3vram: Remove obsolete reference to MTD

On Wed, Jun 10, 2015 at 8:00 PM, Geert Uytterhoeven <[email protected]> did not write:

Quoted 6 lines

The ps3vram driver is a plain block device driver since commit f507cd22035fdadd5dbb476dd05e9e7ee21c3b84 ("ps3/block: Replace mtd/ps3vram by block/ps3vram").

For the record: while I did send out this patch back in 2013, I didn't resend it yesterday.

Geoff:
1. Please fix your scripts (start using git-send-email?), to avoid sending fake email. Thanks!
2. I am grateful you didn't forget about this patch, and that it got applied.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

maintainer
#4 lore raw

Re: [PATCH 2/3] block/ps3vram: Remove obsolete reference to MTD

Quoted 9 lines · Geert Uytterhoeven

On Wed, Jun 10, 2015 at 8:00 PM, Geert Uytterhoeven <[email protected]> did not write:

Quoted 6 lines

The ps3vram driver is a plain block device driver since commit f507cd22035fdadd5dbb476dd05e9e7ee21c3b84 ("ps3/block: Replace mtd/ps3vram by block/ps3vram").

Quoted 6 lines

For the record: while I did send out this patch back in 2013, I didn't resend it yesterday.

Geoff:
1. Please fix your scripts (start using git-send-email?), to avoid sending fake email. Thanks!

Indeed, 2/3 of these patches ended up in my spam.

Quoted 1 line

2. I am grateful you didn't forget about this patch, and that it got applied.

I'll add:

3. Your git base should be the base of where you want this to be pulled in, or prior. Yours was 4.1-rc7, and I'm not pulling in tons of unrelated changes for 3 patches. If you are targeting the next release and don't depend on existing block changes, then your base should be 4.0. If you are dependent on changes in the block tree, the block tree should be your base.

Signature · 1 line
Jens Axboe
author maintainer
#5 lore raw

PATCH 3/3 MAINTAINERS: Update ps3vram block driver

In reply to Geoff Levand

Add myself as co-maintainer of the ps3vram block driver, and add linuxppc-dev as a relevant mailing list.

I have been acting as maintainer of this driver for the last several years, and if there is some inquiry regarding it I would like to be notified.

---
 MAINTAINERS | 2 ++
 1 file changed, 2 insertions(+)
MAINTAINERS +2 -0
index d8afd29..921809b 100644
@@ -7882,6 +7882,8 @@ F:	sound/ppc/snd_ps3*
 
 PS3VRAM DRIVER
 M:	Jim Paris <[email protected]>
+M:	Geoff Levand <[email protected]>
+L:	[email protected]
 L:	[email protected]
 S:	Maintained
 F:	drivers/block/ps3vram.c
Signature · 1 line
2.1.0
maintainer Acked-by on the v1 series
#6 lore raw
In reply to Geoff Levand
Quoted 6 lines · Geoff Levand

Hi Jens,

Here are a few minor updates for the ps3vram driver. The third patch adds me as co-maintainer of the driver, which I think is fitting as I have been maintaining it for the last few years and expect I would be involved in any future inquiries regarding it.

Thanks Geoff.

Jim

Quoted 31 lines

Please apply, thanks.

-Geoff

The following changes since commit d4a4f75cd8f29cd9464a5a32e9224a91571d6649:

Linux 4.1-rc7 (2015-06-07 20:23:50 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-linux.git for-merge-2

for you to fetch changes up to 1d082300a03a735c006739907e6aea082007663c:

MAINTAINERS: Update ps3vram block driver (2015-06-10 10:46:25 -0700)

----------------------------------------------------------------
Geert Uytterhoeven (1):
block/ps3vram: Remove obsolete reference to MTD

Geoff Levand (2):
block/ps3vram: Fix sparse warnings
MAINTAINERS: Update ps3vram block driver

 MAINTAINERS             |  2 ++
 drivers/block/ps3vram.c | 34 +++++++++++++++++-----------------
 2 files changed, 19 insertions(+), 17 deletions(-)
Signature · 1 line
2.1.0
maintainer Applied
#7 lore raw
In reply to Geoff Levand
Quoted 8 lines · Geoff Levand

Hi Jens,

Here are a few minor updates for the ps3vram driver. The third patch adds me as co-maintainer of the driver, which I think is fitting as I have been maintaining it for the last few years and expect I would be involved in any future inquiries regarding it.

Please apply, thanks.

Applied to for-4.2/drivers, thanks.

Signature · 1 line
Jens Axboe