[Intel-gfx] [PATCH 12/13] drm/i915: clean up pipe bpp confusion

Daniel Vetter daniel.vetter at ffwll.ch
Wed Mar 27 23:41:55 CET 2013


On Wed, Mar 27, 2013 at 10:28 PM, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> I had to double check this against 9/13... I guess the order will be
> clearer with the actual code as opposed to patches.
>
> But won't these override the pipe_config bpp we set in
> pipe_config_set_bpp()?  Why bother setting it there if each of the
> encoders will set it themselves, and the real comparison is against
> the plane bpp?  And doesn't that mean we'd need to set pipe_config->bpp
> in the DP version too?

The pipe_bpp we set from the planes is the proposed one, used when
nothing else overrides it. Then encoders can come around and add in
their opinion about what's possible. Note that encoders want to know
which pipe_bpp is the proposed one (from looking just at the plane) to
make their own decision. E.g. hdmi wants to updither 10bpc to 12bpc
(if possible) since it doesn't support 10bpc natively. Whereas DP only
ever down-dithers.

This way we gain a notch more flexibility in handling bpp.

My auto-fdi dither work which is based on top of this goes one step
further and checks (after plane/pipe/encoder all had their say)
whether it actually fits into the fdi link. If it doesn't fit it tries
to dither down. If that's possible we'll restart the pipe_config
arbitrage, but with the new proposed pipe_bpp plus a flag telling
everyone that they'll get shot if they try to increase bw
requirements.

> Maybe I've been looking at this too hard and I've just confused
> myself...

Maybe it's a bit overdesigned ;-)
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list