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

Reply via email to