On Tue, Jul 15, 2014 at 02:35:19PM +1000, Dave Airlie wrote:
On 14 July 2014 18:37, Christian König deathsimple@vodafone.de wrote:
I vote for HSA module that expose ioctl and is an intermediary with the kernel driver that handle the hardware. This gives a single point for HSA hardware and yes this enforce things for any hardware manufacturer. I am more than happy to tell them that this is it and nothing else if they want to get upstream.
I think we should still discuss this single point of entry a bit more.
Just to make it clear the plan is to expose all physical HSA capable devices through a single /dev/hsa device node to userspace.
This is why we don't design kernel interfaces in secret foundations, and expect anyone to like them.
I think at this time this is unlikely to get into 3.17. But Christian had point on having multiple device file. So something like /dev/hsa/*
So before we go any further, how is this stuff planned to work for multiple GPUs/accelerators?
My understanding is that you create queue and each queue is associated with a device. You can create several queue for same device and have different priority btw queue.
Btw queue here means a ring buffer that understand a common set of pm4 packet.
Do we have a userspace to exercise this interface so we can see how such a thing would look?
I think we need to wait a bit before freezing and accepting the kernel api and see enough userspace bits to be confortable. Moreover if AMD wants common API for HSA i also think that they at very least needs there HSA partner to make public comment on the kernel API.
Cheers, Jérôme