On Mon, Jan 17, 2011 at 12:08 PM, Alex Deucher <[email protected]> wrote:
> On Sun, Jan 16, 2011 at 11:24 AM, Andrea Merello
> <[email protected]> wrote:
>> Hello!
>> While I was trying (without success) to make KMS work on my PC I saw
>> in DMESG a message that asked me to make a report to your mailing
>> list:
>>
>> ([drm]   DDC: no ddc bus - possible BIOS bug - please report to
>> [email protected])
>>
>> So I'm doing this report now, and wolud like to exploit the occasion
>> to tell you about another (trivial) thing about the driver firmware
>> loading.
>>
>> Following I report few details about how I got that message:
>>
>> I have a mainline 2.6.37 and a  RV730 PRO [Radeon HD 4650] PCIexpress card.
>>
>> What happen here is that without KMS all works (console OK, X OK, DRI
>> OK) but with KSM the screen become black during kernel loading.
>> By default my system does NOT run X after boot.
>>
>> I think my monitor is not recognized. it is connected via DVI. The
>> card has also a HDMI and a VGA connectors.
>>
>> Please note that in the log you will also see some messages you will
>> not recognize: I have added some printk in the r600.c kernel driver to
>> trace initialization flow. I did no any other modification in the
>> code.
>
> Is this a Mac card by any chance?  What are the pci subsystem ids for
> your card (lspci -vnn)?  The attached patch (against Linus master)
> should fix the issue.  If you are using an older kernel, you'll also
> need this patch:
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=f598aa7593427ffe3a61e7767c34bd695a5e7ed0
>
>

Patch attached this time.

Alex

>>
>> I needed to add those to investigate another issue I had (now
>> resolved) with this driver related to firmware loading:
>> The problem was that I had no any diagnostic message when a microcode
>> file was missing (r700_rlc.bin)
>>
>> Can I suggest you to add some printk when request_firmware fails? I
>> think this can be very helpful in order to help to individuate this
>> kind of problem and to individuate the specific file that is missing.
>>
>> The "goto out" branch for failing firmware_request printed nothing..
>> The system simply hung (the screen was still showing the latest good
>> image with readable kernel message "Loading RV730 microcode") without
>> giving any other hint.
>>
>
> The kernel has a 2 minute timeout or something like that when looking
> for firmware.
>
> Alex
>
>> If you need some other info, or if you need I make some test please
>> ask me. I will be happy to do.
>>
>> Please CC me in case of some discussion about this.
>> Thanks a lot
>>
>> Andrea
>>
>>
>>
>> Jan 17 00:49:38 supernova kernel: [    0.302490] [drm] Initialized drm
>> 1.1.0 20060810
>> Jan 17 00:49:38 supernova kernel: [    0.302549] [drm] radeon
>> defaulting to kernel modesetting.
>> Jan 17 00:49:38 supernova kernel: [    0.302581] [drm] radeon kernel
>> modesetting enabled.
>> Jan 17 00:49:38 supernova kernel: [    0.302645] radeon 0000:01:00.0:
>> PCI INT A -> GSI 16 (level, low) -> IRQ 16
>> Jan 17 00:49:38 supernova kernel: [    0.305142] [drm] initializing
>> kernel modesetting (RV730 0x1002:0x9498).
>> Jan 17 00:49:38 supernova kernel: [    0.305239] [drm] register mmio
>> base: 0xFE8E0000
>> Jan 17 00:49:38 supernova kernel: [    0.305271] [drm] register mmio size: 
>> 65536
>> Jan 17 00:49:38 supernova kernel: [    0.305422] ATOM BIOS: 4650
>> Jan 17 00:49:38 supernova kernel: [    0.305476] radeon 0000:01:00.0:
>> VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)
>> Jan 17 00:49:38 supernova kernel: [    0.305515] radeon 0000:01:00.0:
>> GTT: 512M 0x0000000040000000 - 0x000000005FFFFFFF
>> Jan 17 00:49:38 supernova kernel: [    0.305556] mtrr: type mismatch
>> for d0000000,10000000 old: write-back new: write-combining
>> Jan 17 00:49:38 supernova kernel: [    0.305593] [drm] Detected VRAM
>> RAM=1024M, BAR=256M
>> Jan 17 00:49:38 supernova kernel: [    0.305624] [drm] RAM width 128bits DDR
>> Jan 17 00:49:38 supernova kernel: [    0.305677] [TTM] Zone  kernel:
>> Available graphics memory: 2026446 kiB.
>> Jan 17 00:49:38 supernova kernel: [    0.305710] [TTM] Initializing
>> pool allocator.
>> Jan 17 00:49:38 supernova kernel: [    0.305757] [drm] radeon: 1024M
>> of VRAM memory ready
>> Jan 17 00:49:38 supernova kernel: [    0.305789] [drm] radeon: 512M of
>> GTT memory ready.
>> Jan 17 00:49:38 supernova kernel: [    0.305866] radeon 0000:01:00.0:
>> radeon: using MSI.
>> Jan 17 00:49:38 supernova kernel: [    0.305921] [drm] radeon: irq 
>> initialized.
>> Jan 17 00:49:38 supernova kernel: [    0.305953] [drm] GART: num cpu
>> pages 131072, num gpu pages 131072
>> Jan 17 00:49:38 supernova kernel: [    0.307035] [drm] Loading RV730 
>> Microcode
>> Jan 17 00:49:38 supernova kernel: [    0.307068] [drm] requesting
>> radeon/RV730_pfp.bin
>> Jan 17 00:49:38 supernova kernel: [    0.307102] [drm] requesting
>> radeon/RV730_me.bin
>> Jan 17 00:49:38 supernova kernel: [    0.307133] [drm] requesting
>> radeon/R700_rlc.bin
>> Jan 17 00:49:38 supernova kernel: [    0.307164] [drm] Aff fw has been get
>> Jan 17 00:49:38 supernova kernel: [    0.308936] radeon 0000:01:00.0: WB 
>> enabled
>> Jan 17 00:49:38 supernova kernel: [    0.339215] [drm] r600 resume
>> Jan 17 00:49:38 supernova kernel: [    0.355248] [drm] r600 cp start
>> Jan 17 00:49:38 supernova kernel: [    0.355279] [drm] r600 cp start exiting
>> Jan 17 00:49:38 supernova kernel: [    0.355309] [drm] r600 ring test
>> Jan 17 00:49:38 supernova kernel: [    0.355342] [drm] ring test
>> succeeded in 1 usecs
>> Jan 17 00:49:38 supernova kernel: [    0.355460] [drm] radeon: ib pool ready.
>> Jan 17 00:49:38 supernova kernel: [    0.355564] [drm] ib test
>> succeeded in 0 usecs
>> Jan 17 00:49:38 supernova kernel: [    0.355595] [drm] Enabling audio support
>> Jan 17 00:49:38 supernova kernel: [    0.356072] [drm] Radeon Display 
>> Connectors
>> Jan 17 00:49:38 supernova kernel: [    0.356103] [drm] Connector 0:
>> Jan 17 00:49:38 supernova kernel: [    0.356133] [drm]   DVI-I
>> Jan 17 00:49:38 supernova kernel: [    0.356162] [drm]   DDC: no ddc
>> bus - possible BIOS bug - please report to [email protected]
>> Jan 17 00:49:38 supernova kernel: [    0.356199] [drm]   Encoders:
>> Jan 17 00:49:38 supernova kernel: [    0.356229] [drm]     CRT2:
>> INTERNAL_KLDSCP_DAC2
>> Jan 17 00:49:38 supernova kernel: [    0.356259] [drm]     TV1:
>> INTERNAL_KLDSCP_DAC2
>> Jan 17 00:49:38 supernova kernel: [    0.356290] [drm]     DFP2:
>> INTERNAL_UNIPHY1
>> Jan 17 00:49:38 supernova kernel: [    0.356320] [drm] Connector 1:
>> Jan 17 00:49:38 supernova kernel: [    0.356349] [drm]   HDMI-A
>> Jan 17 00:49:38 supernova kernel: [    0.356378] [drm]   HPD3
>> Jan 17 00:49:38 supernova kernel: [    0.356407] [drm]   DDC: 0x7e40
>> 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
>> Jan 17 00:49:38 supernova kernel: [    0.356443] [drm]   Encoders:
>> Jan 17 00:49:38 supernova kernel: [    0.356473] [drm]     DFP1: 
>> INTERNAL_UNIPHY
>> Jan 17 00:49:38 supernova kernel: [    0.356503] [drm] Connector 2:
>> Jan 17 00:49:38 supernova kernel: [    0.356532] [drm]   DVI-I
>> Jan 17 00:49:38 supernova kernel: [    0.356561] [drm]   HPD1
>> Jan 17 00:49:38 supernova kernel: [    0.356590] [drm]   DDC: 0x7e20
>> 0x7e20 0x7e24 0x7e24 0x7e28 0x7e28 0x7e2c 0x7e2c
>> Jan 17 00:49:38 supernova kernel: [    0.356626] [drm]   Encoders:
>> Jan 17 00:49:38 supernova kernel: [    0.356655] [drm]     DFP1: 
>> INTERNAL_UNIPHY
>> Jan 17 00:49:38 supernova kernel: [    0.356691] [drm]     CRT1:
>> INTERNAL_KLDSCP_DAC1
>> Jan 17 00:49:38 supernova kernel: [    0.360618] [drm] Internal
>> thermal controller without fan control
>> Jan 17 00:49:38 supernova kernel: [    0.361294] [drm] radeon: power
>> management initialized
>> Jan 17 00:49:38 supernova kernel: [    0.390317] No connectors
>> reported connected with modes
>> Jan 17 00:49:38 supernova kernel: [    0.390350] [drm] Cannot find any
>> crtc or sizes - going 1024x768
>> Jan 17 00:49:38 supernova kernel: [    0.391894] [drm] fb mappable at 
>> 0xD0142000
>> Jan 17 00:49:38 supernova kernel: [    0.391925] [drm] vram apper at 
>> 0xD0000000
>> Jan 17 00:49:38 supernova kernel: [    0.391955] [drm] size 3145728
>> Jan 17 00:49:38 supernova kernel: [    0.391984] [drm] fb depth is 24
>> Jan 17 00:49:38 supernova kernel: [    0.392014] [drm]    pitch is 4096
>> Jan 17 00:49:38 supernova kernel: [    0.392162] fbcon: radeondrmfb
>> (fb0) is primary device
>> Jan 17 00:49:38 supernova kernel: [    0.395804] Console: switching to
>> colour frame buffer device 128x48
>> Jan 17 00:49:38 supernova kernel: [    0.397260] fb0: radeondrmfb
>> frame buffer device
>> Jan 17 00:49:38 supernova kernel: [    0.397278] drm: registered panic 
>> notifier
>> Jan 17 00:49:38 supernova kernel: [    0.397298] [drm] Initialized
>> radeon 2.7.0 20080528 for 0000:01:00.0 on minor 0
>> _______________________________________________
>> xorg-driver-ati mailing list
>> [email protected]
>> http://lists.x.org/mailman/listinfo/xorg-driver-ati
>>
>
From 299b4b7b626b21e826a38e984bc32f7c770c7d75 Mon Sep 17 00:00:00 2001
From: Alex Deucher <[email protected]>
Date: Mon, 17 Jan 2011 12:04:38 -0500
Subject: [PATCH] drm/radeon/kms: make the mac rv630 quirk generic

Seems some other boards do this as well.

Signed-off-by: Alex Deucher <[email protected]>
Cc: [email protected]
---
 drivers/gpu/drm/radeon/radeon_atombios.c |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index 1573202..5277790 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -387,15 +387,11 @@ static bool radeon_atom_apply_quirks(struct drm_device *dev,
 			*line_mux = 0x90;
 	}
 
-	/* mac rv630 */
-	if ((dev->pdev->device == 0x9588) &&
-	    (dev->pdev->subsystem_vendor == 0x106b) &&
-	    (dev->pdev->subsystem_device == 0x00a6)) {
-		if ((supported_device == ATOM_DEVICE_TV1_SUPPORT) &&
-		    (*connector_type == DRM_MODE_CONNECTOR_DVII)) {
-			*connector_type = DRM_MODE_CONNECTOR_9PinDIN;
-			*line_mux = CONNECTOR_7PIN_DIN_ENUM_ID1;
-		}
+	/* mac rv630, rv730, others */
+	if ((supported_device == ATOM_DEVICE_TV1_SUPPORT) &&
+	    (*connector_type == DRM_MODE_CONNECTOR_DVII)) {
+		*connector_type = DRM_MODE_CONNECTOR_9PinDIN;
+		*line_mux = CONNECTOR_7PIN_DIN_ENUM_ID1;
 	}
 
 	/* ASUS HD 3600 XT board lists the DVI port as HDMI */
-- 
1.7.1.1

_______________________________________________
xorg-driver-ati mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-driver-ati

Reply via email to