[RFC 0/4] Add NVIDIA Tegra DRM support
j.glisse at gmail.com
Thu Apr 19 15:21:26 PDT 2012
On Thu, Apr 19, 2012 at 4:40 PM, Thierry Reding
<thierry.reding at avionic-design.de> wrote:
> * Dave Airlie wrote:
>> On Thu, Apr 19, 2012 at 6:35 PM, Thierry Reding
>> <thierry.reding at avionic-design.de> wrote:
>> > Before posting the next round of patches I wanted to clarify whether we need
>> > to take the Tegra driver through staging. Lucas brought this up referring to
>> > previous experience with Nouveau where Linus used to complain that userspace
>> > ABI was broken for non-staging drivers. I don't know how relevant that is
>> > for Tegra. We could also keep it in drivers/gpu/drm and only add userspace
>> > interfaces that we are sure are not going to change. Currently there isn't
>> > isn't anything that could be easily broken as only some of the standard DRM
>> > interfaces are supported anyway.
>> > Alternatively we could keep the driver in a separate tree until it becomes
>> > mature enough.
>> > Any thoughts?
>> It's probably okay to avoid staging if it doesn't add any userspace ioctls.
>> A KMS driver that just supports the dumb ioctls so -modesetting works,
>> would be the first thing to aim for I suppose, like how the exynos
>> guys did it.
>> Adding userspace interfaces is where you'll get into ABI guarantees
>> etc, and these are normally required only for the accel engines.
> I think this is what Lucas was concerned about. The plan is to look at how
> much can be used from the Nouveau code and make it work on the Tegra. So
> would it be possible to get a basic dumb KMS driver into mainline
> (non-staging) and phase in acceleration later on, with ABI guarantees? I
> guess development can go on in separate trees until the ABI is stable and can
> subsequently be ported to the mainline driver.
> Is that an acceptable approach?
Or you can hide the accel ioctl behing a staging/experimental kernel
option that give you right to change the ABI and do everything upstream.
Once you like your abi you just remove the option and enable the
ioctl for the default case.
More information about the dri-devel