Steven Stallion wrote:
> Well, I swapped everything over to re and moved over to 16-bit DMA. I'm
> now seeing the following:
>
> Sep 3 22:53:09 devel pcisch: [ID 876218 kern.warning] WARNING: re0 peer
> only dev 60015ae7e00
> Sep 3 22:53:09 devel pcisch: [ID 346402 kern.warning] WARNING: re0 peer
> only device bad attr
> Sep 3 22:53:09 devel re: [ID 179634 kern.warning] WARNING: re0 failed
> to allocate DMA resources!
>
> re_dma_attr is:
>
The attributes you give below are probably horribly wrong. they
indicate that the memory has to be 32K aligned, and in the lower 64K.
That's probably not what you intended.
My guess is you want to set addr_high to some fairly large value
(0xffffffff if the device can address the entire 32-bit address space --
which if it can take a 16-bit segment pointer, and a 16-bit offset,
should be correct). The attr_count_max should probably still be set to
0xffff though.
-- Garrett
> 114 static ddi_dma_attr_t re_dma_attr = {
>
> 115 DMA_ATTR_V0, /* dma_attr_version */
>
> 116 0, /* dma_attr_addr_lo */
>
> 117 0xffff, /* dma_attr_addr_hi */
>
> 118 0xffff, /* dma_attr_count_max */
>
> 119 32768, /* dma_attr_align */
>
> 120 0x1f, /* dma_attr_burstsizes */
>
> 121 1, /* dma_attr_minxfer */
>
> 122 0xffff, /* dma_attr_maxxfer */
>
> 123 0xffff, /* dma_attr_seg */
>
> 124 1, /* dma_attr_sgllen */
>
> 125 1, /* dma_attr_granular */
>
> 126 0 /* dma_attr_flags */
>
> 127 };
>
>
> Any ideas?
>
>
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss