On Tue, Jan 27, 2015 at 07:07:44AM +0100, Thomas Hellstrom wrote: > On 01/26/2015 11:51 PM, Dave Airlie wrote: > > On 23 January 2015 at 18:05, Thierry Reding wrote: > >> From: Thierry Reding > >> > >> The current implementation is limited by the number of addresses that > >> fit into an unsigned long. This causes problems on 32-bit Tegra where > >> unsigned long is 32-bit but drm_mm is used to manage an IOVA space of > >> 4 GiB. Given the 32-bit limitation, the range is limited to 4 GiB - 1 > >> (or 4 GiB - 4 KiB for page granularity). > >> > >> This commit changes the start and size of the range to be an unsigned > >> 64-bit integer, thus allowing much larger ranges to be supported. > > This seems fine to me, Chris, Daniel or Thomas, any objections? > > > > Dave. > > This is perfectly fine with me, although I'm a bit curious why the > allocation granularity of the IOVA space needs to be 1 byte? Are you referring to the 4 GiB - 1 comment? The point I was trying to make is not that the granularity of the IOVA space needs to be 1 byte but rather that using an unsigned long for a size on a 32-bit machine will give you 4 GiB - 1 addresses. The IOMMU page size is still 4 KiB for Tegra. Thierry