Adding set_blob ioctl to DRM

Dave Airlie airlied at gmail.com
Wed Feb 19 17:24:40 PST 2014


> I am working on enabling a Color Enhancement block for primary display
> for Exynos SoC. I need to
> set a bunch of parameters like Color Conversion matrix, Contrast
> Improvement parameters etc ~ 30 parameters from User Space.
>
> I am planning to use KDS blob property to receive these parameters.
> Currently drivers are not allowed to create a blob property inside
> drm. Neither, user space can set the blob. There is no ioctl provided
> for same.

I don't really like the idea of sticking unstructured data into an
ioctl, for the driver to interpret,

it opens the door to all kinds of ugly driver hacks, so I think we
should have writable blobs,
but with well defined structures inside them, not per-driver ones.

Per-driver structures will lead to binary userspace drivers that start
sticking a pll timings blob on the end and require it to set a mode,
because I know driver developers will abuse any interface in the worst
way possible.

Currently the only blob we really have is EDID and its well defined,
so if we are going to add writable blobs, they need to be well defined
and as little as possible driver specific, just to avoid driver
writings doing what driver writers do.

Dave.


More information about the dri-devel mailing list