On 2018-02-14 05:35 PM, Felix Kuehling wrote:
> On 2018-02-14 02:42 AM, Christian König wrote:
>> Am 14.02.2018 um 00:17 schrieb Felix Kuehling:
>>> On 2018-02-13 02:18 PM, Felix Kuehling wrote:
>>>> On 2018-02-13 01:15 PM, Christian König wrote:
>>>>> Am 13.02.2018 um 18:18 schrieb Felix Kuehling:
>>>>>> I don't see how you can have separate TTM objects referring to the
>>>>>> same memory.
>>>>> Well that is trivial, we do this all the time with prime and I+A
>>>> As I understand it, you use DMABuf to export/import buffers on multiple
>>>> devices. I believe all devices share a single amdgpu_bo, which contains
>>>> the ttm_buffer_object.
>> That's incorrect as well. Normally multiple devices have multiple
>> ttm_buffer_object, one for each device.
>> Going a bit higher that actually makes sense because the status of
>> each BO is deferent for each device. E.g. one device could have the BO
>> in access while it could be idle on another device.
> Can you point me where this is done? I'm looking at
> amdgpu_gem_prime_foreign_bo. It is used if an AMDGPU BO is imported into
> a different AMDGPU device. It creates a new GEM object, with a reference
> to the same amdgpu BO (gobj->bo = amdgpu_bo_ref(bo)). To me this looks
> very much like the same amdgpu_bo, and cosequently the same TTM BO being
> shared by two GEM objects and two devices.
amdgpu_gem_prime_foreign_bo doesn't exist in amd-staging-drm-next, let
alone upstream. Even on current internal branches, it's no longer used
for dma-buf import AFAICT.
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
amd-gfx mailing list