[RFC] Host1x/TegraDRM UAPI (drm_tegra_submit_relocation)

Mikko Perttunen cyndis at kapsi.fi
Fri Jun 26 09:01:00 UTC 2020


On 6/26/20 1:50 AM, Dmitry Osipenko wrote:
> 25.06.2020 12:27, Mikko Perttunen пишет:
>> On 6/25/20 1:33 AM, Dmitry Osipenko wrote:
>>> 23.06.2020 15:09, Mikko Perttunen пишет:
>>>> struct drm_tegra_submit_relocation {
>>>>           /* [in] Index of GATHER or GATHER_UPTR command in commands. */
>>>>           __u32 gather_command_index;
>>>>
>>>>           /*
>>>>            * [in] Mapping handle (obtained through CHANNEL_MAP) of the
>>>> memory
>>>>            *   the address of which will be patched in.
>>>>            */
>>>>           __u32 mapping_id;
>>>>
>>>>           /*
>>>>            * [in] Offset in the gather that will be patched.
>>>>            */
>>>>           __u64 gather_offset;
>>>>
>>>>           /*
>>>>            * [in] Offset in target buffer whose paddr/IOVA will be
>>>> written
>>>>            *   to the gather.
>>>>            */
>>>>           __u64 target_offset;
>>>>
>>>>           /*
>>>>            * [in] Number of bits the resulting address will be logically
>>>>            *   shifted right before writing to gather.
>>>>            */
>>>>           __u32 shift;
>>>>
>>>>           __u32 reserved[1];
>>>> };
>>>
>>> We will also need read/write direction flag here for the
>>> DMA-reservations set up, it will be used for the implicit BO fencing by
>>> the job's scheduler.
>>>
>>
>> Ideally on newer chips with context isolation, we no longer know what
>> DMA-BUFs are being used by the job at submit time - they would just be
>> pointers after being MAPped.
> 
> The DMA-BUFs themselves shouldn't be needed, but GEMs should.

Yes, I meant to say GEM instead of DMA-BUF.

> 
>> Do you know how other GPUs deal with DMA reservations - I expect
>> separate MAP and SUBMIT steps would be pretty common?
> 
> I can't instantly recall what other drivers do, could be worthwhile to
> take a closer look.

I'll see if I can find some similar situations in other drivers.

Mikko

> 
>> Do you have to
>> pass the DMA-BUF to both steps (i.e. do IOMMU mapping during MAP, and
>> manage reservations at SUBMIT)?
> 
> Yes, this sounds good to me if DMA-BUF part is replaced with a GEM.
> 
> Please see my other reply regarding the MAP IOCTL where I'm suggesting
> to back mapping IDs with a GEM.
>


More information about the dri-devel mailing list