Date: Fri, 14 Nov 2008 15:52:02 +0200 From: Alexander Motin <mav@FreeBSD.org> To: Hans Petter Selasky <hselasky@c2i.net> Cc: Perforce Change Reviews <perforce@freebsd.org> Subject: Re: PERFORCE change 152649 for review - busdma problem Message-ID: <491D8282.5060506@FreeBSD.org> In-Reply-To: <200811140915.18846.hselasky@c2i.net> References: <200811080910.mA89AgTZ048172@repoman.freebsd.org> <200811140915.18846.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi. Hans Petter Selasky wrote: > I am going to revert this patch and suggest a new one. I am not sure how to > best implement it, but will it be Ok if I make the offset adjustment only for > alignment <= 1 byte ? Alignment <= 1 byte means no (any possible) alignment. So busdma may use any physical address within permitted range. Adding strict requirement that this address should be aligned withing page same as logical address will IMHO be too restrictive and as I understand will lead to additional physical memory consumption. I am not very understand the problem and how are you going to manage it. As I understand, the problem is that you can specify offset for non-first scatter/gather segment only as page address. Is it correct? So which in-page offset used for that segments? If zero, you should just specify busdma to align all segments to the page boundary. If it should be the same as after the last sent data, then I can hardly imagine how are you going to manage this to implement real scatter/gather for misaligned data. > Is there any documentation or specification that needs to be updated? Sorry, I am not a busdma expert, I was just digging it several times while working on some drivers. -- Alexander Motin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?491D8282.5060506>