diff mbox

DMA: Fix allocation size for PL330 data buffer depth.

Message ID 1415294412-13818-1-git-send-email-Liviu.Dudau@arm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Liviu Dudau Nov. 6, 2014, 5:20 p.m. UTC
The datasheet for PL330 says that the data buffer value in the CRD
register is 10bits wide. However, the value stored is "minus one",
which the driver corrects for. Maximum value that the data buffer
depth can have is 1024 lines, which requires 11 bits for storage.

While making updates I found printing the peripheral ID as a hex
value to be more useful as the datasheet shows the values that way.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
 drivers/dma/pl330.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Vinod Koul Nov. 12, 2014, 9:39 a.m. UTC | #1
On Thu, Nov 06, 2014 at 05:20:12PM +0000, Liviu Dudau wrote:
> The datasheet for PL330 says that the data buffer value in the CRD
> register is 10bits wide. However, the value stored is "minus one",
> which the driver corrects for. Maximum value that the data buffer
> depth can have is 1024 lines, which requires 11 bits for storage.
> 
> While making updates I found printing the peripheral ID as a hex
> value to be more useful as the datasheet shows the values that way.

Applied, thanks

Please snure you use the right subsytem name
Liviu Dudau Nov. 14, 2014, 12:33 p.m. UTC | #2
On Wed, Nov 12, 2014 at 09:39:52AM +0000, Vinod Koul wrote:
> On Thu, Nov 06, 2014 at 05:20:12PM +0000, Liviu Dudau wrote:
> > The datasheet for PL330 says that the data buffer value in the CRD
> > register is 10bits wide. However, the value stored is "minus one",
> > which the driver corrects for. Maximum value that the data buffer
> > depth can have is 1024 lines, which requires 11 bits for storage.
> > 
> > While making updates I found printing the peripheral ID as a hex
> > value to be more useful as the datasheet shows the values that way.
> 
> Applied, thanks

Thanks!

> 
> Please snure you use the right subsytem name

Sorry about that. Just for clarity, it should've been 'dmaengine', right?

Best regards,
Liviu

> 
> -- 
> ~Vinod
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Vinod Koul Dec. 5, 2014, 5:40 p.m. UTC | #3
On Fri, Nov 14, 2014 at 12:33:01PM +0000, Liviu Dudau wrote:
> On Wed, Nov 12, 2014 at 09:39:52AM +0000, Vinod Koul wrote:
> > On Thu, Nov 06, 2014 at 05:20:12PM +0000, Liviu Dudau wrote:
> > > The datasheet for PL330 says that the data buffer value in the CRD
> > > register is 10bits wide. However, the value stored is "minus one",
> > > which the driver corrects for. Maximum value that the data buffer
> > > depth can have is 1024 lines, which requires 11 bits for storage.
> > > 
> > > While making updates I found printing the peripheral ID as a hex
> > > value to be more useful as the datasheet shows the values that way.
> > 
> > Applied, thanks
> 
> Thanks!
> 
> > 
> > Please snure you use the right subsytem name
> 
> Sorry about that. Just for clarity, it should've been 'dmaengine', right?
Yes...
diff mbox

Patch

diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
index 4839bfa..7f62b73 100644
--- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c
@@ -271,7 +271,7 @@  struct pl330_config {
 #define DMAC_MODE_NS	(1 << 0)
 	unsigned int	mode;
 	unsigned int	data_bus_width:10; /* In number of bits */
-	unsigned int	data_buf_dep:10;
+	unsigned int	data_buf_dep:11;
 	unsigned int	num_chan:4;
 	unsigned int	num_peri:6;
 	u32		peri_ns;
@@ -2732,7 +2732,7 @@  pl330_probe(struct amba_device *adev, const struct amba_id *id)
 
 
 	dev_info(&adev->dev,
-		"Loaded driver for PL330 DMAC-%d\n", adev->periphid);
+		"Loaded driver for PL330 DMAC-%x\n", adev->periphid);
 	dev_info(&adev->dev,
 		"\tDBUFF-%ux%ubytes Num_Chans-%u Num_Peri-%u Num_Events-%u\n",
 		pcfg->data_buf_dep, pcfg->data_bus_width / 8, pcfg->num_chan,