All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH powerpc] Fix a dma_mask issue of vio
@ 2013-11-19  8:11 Li Zhong
  2013-11-20  1:28 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 9+ messages in thread
From: Li Zhong @ 2013-11-19  8:11 UTC (permalink / raw)
  To: PowerPC email list; +Cc: Paul Mackerras, rmk+kernel

I encountered following issue:
[    0.283035] ibmvscsi 30000015: couldn't initialize event pool
[    5.688822] ibmvscsi: probe of 30000015 failed with error -1

which prevents the storage from being recognized, and the machine from
booting.

After some digging, it seems that it is caused by commit 4886c399da

as dma_mask pointer in viodev->dev is not set, so in
dma_set_mask_and_coherent(), dma_set_coherent_mask() is not called
because dma_set_mask(), which is dma_set_mask_pSeriesLP() returned EIO.
While before the commit, dma_set_coherent_mask() is always called. 

I tried to replace dma_set_mask_and_coherent() with
dma_coerce_mask_and_coherent(), and the machine could boot again. 

But I'm not sure whether this is the correct fix...

---
 arch/powerpc/kernel/vio.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c
index e7d0c88..76a6482 100644
--- a/arch/powerpc/kernel/vio.c
+++ b/arch/powerpc/kernel/vio.c
@@ -1419,7 +1419,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node)
 
 		/* needed to ensure proper operation of coherent allocations
 		 * later, in case driver doesn't set it explicitly */
-		dma_set_mask_and_coherent(&viodev->dev, DMA_BIT_MASK(64));
+		dma_coerce_mask_and_coherent(&viodev->dev, DMA_BIT_MASK(64));
 	}
 
 	/* register with generic device framework */

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-11-27  9:22 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-19  8:11 [RFC PATCH powerpc] Fix a dma_mask issue of vio Li Zhong
2013-11-20  1:28 ` Benjamin Herrenschmidt
2013-11-20  2:04   ` Li Zhong
2013-11-20 23:23   ` Russell King - ARM Linux
2013-11-21  0:01     ` Benjamin Herrenschmidt
2013-11-21  0:08       ` Russell King - ARM Linux
2013-11-21  0:22         ` Benjamin Herrenschmidt
2013-11-21  1:56           ` Li Zhong
2013-11-28  9:22           ` [PATCH powerpc] Revert c6102609 and replace it with the correct fix for vio dma mask setting Li Zhong

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.