Hi Bhaskar,
When you use ddi_dma_alloc_handle() with a pseudo device, the routine calls
into the pseudonex.c module. The pseudonex module routine for
ddi_dma_alloc_handle
calls is ddi_no_dma_allochdl(), which returns DDI_DMA_BADATTR (see the
code in pseudonex.c and sunddi.c).
max
Jayaraman, Bhaskar wrote:
Max yes I'm assigning smu_generic_dma_attr to tmp_dma_attr before making the
call. I've tried a bunch of things like changing the attributes but I still
keep getting the error. Would switching to DDI_DMA_FORCE_PHYSICAL be advised?
Since I'm writing this driver for a pseudo device I'm sure IOMMU virtual
addresses won't be used.
Bhaskar.
-----Original Message-----
From: m...@bruningsystems.com [mailto:m...@bruningsystems.com]
Sent: Friday, November 13, 2009 4:01 PM
To: Jayaraman, Bhaskar
Cc: opensolaris-code@opensolaris.org
Subject: Re: [osol-code] DDI_DMA_BADATTR error!
Hi Bhaskar,
Jayaraman, Bhaskar wrote:
Hi I'm using an x86 vm which has an emulated IOMMU on it. The following are the
attributes that I'm passing to ddi_dma_alloc_handle
static ddi_dma_attr_t smu_generic_dma_attr = {
DMA_ATTR_V0, /* dma_attr_version */
(unsigned long long)0, /* low DMA address
range */
(unsigned long long)0xffffffff, /* high DMA address range */
(unsigned long long)0xffffffff, /* DMA counter register */
8, /* DMA address alignment */
0x07, /* DMA burstsizes */
1, /* min DMA size */
(unsigned long long)0xffffffff, /* max DMA size */
(unsigned long long)0xffffffff, /* segment boundary */
16, /* dma_attr_sglen */
512, /* granularity of device */
0 /* bus specific DMA flags */
};
The call I make is ddi_dma_alloc_handle (instance->dip, &tmp_dma_attr,
DDI_DMA_DONTWAIT, 0, &acmd->cmd_dmahandle)
I assume you are assigning tmp_dma_attr to smu_generic_dma_attr before
making this call? What happens if you pass &smu_generic_dma_attr instead
of &tmp_dma_attr?
max
In the 3rd parameter, I've tried using DDI_DMA_SLEEP as well but I still get
the DDI_DMA_BADATTR error from the API.
I don't see where I'm going wrong in making the call.
Regards,
Bhaskar.
------------------------------------------------------------------------
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code