Skip site navigation (1)Skip section navigation (2)
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>