On Thu, Jul 21, 2016 at 12:58:16PM -0700, Eric Anholt wrote:
Mario Kleiner mario.kleiner.de@gmail.com writes:
Hi Eric and all,
this batch prevents setting modes one shouldn't set, adds precise vblank timestamping for interlaced video modes, and one fix for vblank en/disable during crtc en/disable.
All successfully tested, also with timing measurement equipment, on the RPi 2B.
This all seems pretty reasonable to me. My question for modesetting gurus would be: Is mode_fixup the place to be filtering out unsupportable modes from the user (or their displays)?
Yup. And I wanted to forever add some glue so that drivers could share the same validation logic between mode_fixup (for modesets) and mode_valid (for probing). But never came up with a helper scaffolding that looked satisfactory. The icky bit is that mode_fixup wants an adjusted mode, and we'd need to fake that somehow to reuse the same code in mode_valid. It's even worse for atomic, where atomic_check (the new mode_fixup) gets an entire atomic state. But I still think for simpler hw (anything which doesn't have funny crtc/encoder specific restrictions) we should be able to create something that just works. -Daniel