So I have a custom CM3 board based upon the reference devkit design. It outputs just fine over HDMI when in legacy or in fake KMS mode, but not in full KMS.
When in full KMS it thinks HDMI is disconnected and outputs over composite instead. If I write to /sys/class/drm/card0-HDMI-A-1/status I can force HDMI to be connected, after which HDMI output works (including DDC).
So this would seem to be a hotplug issue, specifically hotplug detection on the ARM, which makes me think devicetree.
I have tried setting "device_tree=$FILENAME" in /boot/cmdline.txt to both bcm2708-rpi-cm.dtb (the default apparently even for the CM3?) and bcm2710-rpi-cm3.dtb, although I note that https://github.com/raspberrypi/linux/bl ... 3.dts#L132 shows hotplug as being on pin 46 (as for the CM) instead of 128 (on the CM3). Is this correct?