From: Rafał M. <za...@gm...> - 2009-06-24 19:07:18
|
Khem, hi, my first patch here and my first touching kernel code ever. I try to make my RV620 work in console using radeon KMS. Using Jerome's WIP code and my own hacks I discovered this quite general bug in treating encoders. Before patch: Jun 23 15:15:49 linux-aodr kernel: i2c-adapter i2c-1: unable to read EDID block. Jun 23 15:15:49 linux-aodr kernel: radeon 0000:01:00.0: VGA-1: no EDID data Jun 23 15:15:49 linux-aodr kernel: i2c-adapter i2c-2: unable to read EDID block. Jun 23 15:15:49 linux-aodr kernel: radeon 0000:01:00.0: LVDS-1: no EDID data Jun 23 15:15:49 linux-aodr kernel: i2c-adapter i2c-3: unable to read EDID block. Jun 23 15:15:49 linux-aodr kernel: radeon 0000:01:00.0: HDMI Type B-1: no EDID data Jun 23 15:15:49 linux-aodr kernel: i2c-adapter i2c-2: unable to read EDID block. Jun 23 15:15:49 linux-aodr kernel: radeon 0000:01:00.0: LVDS-1: no EDID data Jun 23 15:15:49 linux-aodr kernel: [drm:drm_helper_initial_config] *ERROR* connectors have no modes, using standard modes Jun 23 15:15:49 linux-aodr kernel: [drm_mode:drm_mode_debug_printmodeline], Modeline 11:"800x600" 60315 40000 800 840 968 1056 600 601 605 628 0x10 0x5 Jun 23 15:15:49 linux-aodr kernel: [drm_mode:drm_mode_debug_printmodeline], Modeline 12:"800x600" 60315 40000 800 840 968 1056 600 601 605 628 0x10 0x5 Jun 23 15:15:49 linux-aodr kernel: [drm_mode:drm_mode_debug_printmodeline], Modeline 13:"800x600" 60315 40000 800 840 968 1056 600 601 605 628 0x10 0x5 Jun 23 15:15:49 linux-aodr kernel: [drm] fb mappable at 0xFFFFC90011800000 Jun 23 15:15:49 linux-aodr kernel: [drm] vram apper at 0xC0000000 Jun 23 15:15:49 linux-aodr kernel: [drm] size 1996800 Jun 23 15:15:49 linux-aodr kernel: [drm] fb depth is 24 Jun 23 15:15:49 linux-aodr kernel: [drm] pitch is 3328 Jun 23 15:15:49 linux-aodr kernel: Console: switching to colour frame buffer device 100x37 Witch patch applied: Jun 23 15:25:20 linux-aodr kernel: i2c-adapter i2c-1: unable to read EDID block. Jun 23 15:25:20 linux-aodr kernel: radeon 0000:01:00.0: VGA-1: no EDID data Jun 23 15:25:20 linux-aodr kernel: i2c-adapter i2c-2: unable to read EDID block. Jun 23 15:25:20 linux-aodr kernel: radeon 0000:01:00.0: LVDS-1: no EDID data Jun 23 15:25:20 linux-aodr kernel: i2c-adapter i2c-3: unable to read EDID block. Jun 23 15:25:20 linux-aodr kernel: radeon 0000:01:00.0: HDMI Type B-1: no EDID data Jun 23 15:25:20 linux-aodr kernel: i2c-adapter i2c-2: unable to read EDID block. Jun 23 15:25:20 linux-aodr kernel: radeon 0000:01:00.0: LVDS-1: no EDID data Jun 23 15:25:20 linux-aodr kernel: [drm_mode:drm_mode_debug_printmodeline], Modeline 11:"1600x900" 59954 88540 1600 1614 1626 1630 900 902 904 906 0x48 0x0 Jun 23 15:25:20 linux-aodr kernel: [drm] fb mappable at 0xFFFFC90011E00000 Jun 23 15:25:20 linux-aodr kernel: [drm] vram apper at 0xC0000000 Jun 23 15:25:20 linux-aodr kernel: [drm] size 5760000 Jun 23 15:25:20 linux-aodr kernel: [drm] fb depth is 24 Jun 23 15:25:20 linux-aodr kernel: [drm] pitch is 6400 Jun 23 15:25:20 linux-aodr kernel: Console: switching to colour frame buffer device 200x56 Jun 23 15:25:20 linux-aodr kernel: [drm_mode:drm_mode_debug_printmodeline], Modeline 0:"" 0 0 0 0 0 0 0 0 0 0 0x0 0x0 Jun 23 15:25:20 linux-aodr kernel: [drm_mode:drm_mode_debug_printmodeline], Modeline 13:"1600x900" 59954 88540 1600 1614 1626 1630 900 902 904 906 0x48 0x0 Jun 23 15:25:20 linux-aodr kernel: [drm_mode:drm_mode_debug_printmodeline], Modeline 13:"1600x900" 59954 88540 1600 1614 1626 1630 900 902 904 906 0x48 0x0 So this just makes radeon drm call radeon_atombios_get_lvds_info to get mode for PANEL. I'm not sure how would you like to apply this and if this actually is important for 2.6.31. As we support up to R5xx only here, can we hit this bug actually? Can hardware below R6xx use ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA? -- Rafał Miłecki |