drm/i915: Declare i915_gem_object_create_internal() as taking phys_addr_t size
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 12 Jan 2017 13:04:31 +0000 (13:04 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 12 Jan 2017 16:47:04 +0000 (16:47 +0000)
commitfcd46e53449c4d659ffbedcd2823ea2f73e39927
treedd25d4584f71b38b204ca7a81c85414f5fe9ccd5
parent7c3f86b6dc51b38ee30aaac00cdf39d20b2e7b38
drm/i915: Declare i915_gem_object_create_internal() as taking phys_addr_t size

The internal object is a collection of struct pages and so is
intrinsically linked to the available physical memory on the machine,
and not an arbitrary type from the uabi. Use phys_addr_t so the link
between size and memory consumption is clear, and then double check that
we don't overflow the maximum object size.

v2: Also assert that size is not zero - a mistake I made a few times
while writing selftests.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170112130431.1844-1-chris@chris-wilson.co.uk
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem_internal.c