2011/12/7 Rafał Miłecki <zajec5@xxxxxxxxx>: > W dniu 7 grudnia 2011 15:53 użytkownik Alex Deucher > <alexdeucher@xxxxxxxxx> napisał: >> 2011/12/7 Rafał Miłecki <zajec5@xxxxxxxxx>: >>> W dniu 7 grudnia 2011 14:53 użytkownik Alex Deucher >>> <alexdeucher@xxxxxxxxx> napisał: >>>> 2011/12/7 Rafał Miłecki <zajec5@xxxxxxxxx>: >>>>> In theory function atombios_get_encoder_mode should report >>>>> ATOM_ENCODER_MODE_HDMI when TV supports audio. Current we report >>>>> ATOM_ENCODER_MODE_DVI if card is DCE4. >>>>> >>>>> Is there any reason for it? Can we just drop that DCE4 condition? This >>>>> fixme seems to be here since ever. >>>>> >>>> >>>> It causes display corruption unless the hdmi packet engine is set up properly. >>> >>> Even with radeon.audio=0? >> >> No, as in that case, DVI is returned. On DCE3.0 and newer chips there >> is no explicit hdmi engine enable bit. You just select HDMI mode >> rather than DVI mode in the digital encoder setup. So if you select >> HDMI in the encoder setup and you have not configured the hdmi engine >> correctly you will git display corruption or a blank screen. Which is >> why I had to disable audio by default. Since audio is off by default, >> the DCE4 conditional in the hdmi case could be removed. > > OK, it makes sense, thanks. > > Btw I believe there *is* HDMI enabling bit on DCE3+, we probably just > don't need to poke it manually :) > It is bit 0x1000 in registers > 0x7000, 0x7c00, 0x10800, 0x11400, 0x12000, 0x12c00 > > All my HDMI frames are ignored without that bit set. > As I mentioned above, that register (DIG_CNTL) is programmed by DIGxEncoderControl table based on the encoder mode selected (DP, LVDS, DVI, HDMI). Bits 14:12 select the DIG_MODE of the encoder. 0 = DP, 1 = LVDS, 2 = DVI, 3 = HDMI. Alex > -- > Rafał > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel