Jump to content

Mobility Radeon HD 4650:Full Resolution with QE & CI working on Internal LVDS screen


mucha
 Share

696 posts in this topic

Recommended Posts

ATOM BIOS Rom:

SubsystemVendorID: 0x1028 SubsystemID: 0x0272

IOBaseAddress: 0x2000

Filename: BR034414.001

BIOS Bootup Message:

BR034414-001 M96 DDR3 128bit 400e/800m

 

Connector at index 0 type: VGA (1)

Connector's i2cid: 95

Connector at index 1 type: HDMI-A (11)

Connector's i2cid: 90

Connector at index 2 type: LVDS (7)

Connector's i2cid: 94

Connector at index 3 type: DisplayPort (10)

Connector's i2cid: 91

 

 

I have only VGA and HDMI working, LVDS is black. I think it's probably related to the limitation of the boot loader:

 

 

"

Cheeko reports that due to limitations in chameleon injector, only 1st 2 ports will work with GraphicsEnabler.

Also that anyone not using 4xxx may have to modify ati.c further.

"

Try picking the 2 ports that are most important to you, and using them as 1st two ports -- ie switch the order in your patch

Link to comment
Share on other sites

"

Cheeko reports that due to limitations in chameleon injector, only 1st 2 ports will work with GraphicsEnabler.

Also that anyone not using 4xxx may have to modify ati.c further.

"

I think you misunderstood checcco's statement. It means only two connector listed in IORegistry. It doesn't means only two output working. On my HD4570, there are three connectors. All three connectors are working properly (LVDS + VGA & LVDS + HDMI).

Link to comment
Share on other sites

Try picking the 2 ports that are most important to you, and using them as 1st two ports -- ie switch the order in your patch

I have tried many combinations and the only conclusion I got is that both VGA and HDMI ports work correctly only if put after LVDS.

 

 

 

I managed to compile the boot with Shrike. Same as Vervet, black LVDS HDMI and VGA working. There's something wrong with the LVDS values.

Link to comment
Share on other sites

I finally manage to achieve a FULL log from radeondump with latest RadeonHD.kext loaded. It says UNIPHYE, DIG1, but it black even with the correct lines. There is a lot of informations, if someone can find difference between this and working configurations it would be nice. I'm attaching it here.

 

http://dl.dropbox.com/u/8433914/enc.txt

 

I must add that the log is from a RadeonHD boot with WORKING LVDS, I mean full resolution.

Link to comment
Share on other sites

Please post the RadeonHD dump. Use 10.6 RadeonHD (10/20/2009 update). Yeah, installed the 10/20/2009 update.

 

When using RadeonHD, the monitor is not viewable. So you'll need to setup remote connection:-

  1. Boot with -x -v
  2. Setup remote connection (VNC) in System Preferences (in Sharing). Don't forget to set the VNC password.
  3. Test the remote connection.
  4. Reboot your computer (boot without any flags) (Correction - boot to 32bit mode: arch=i386).
  5. Connect remotely from other computer via VNC.
  6. In the "10.6 RadeonHD (10/20/2009 update)" package, there is a command line utility called RadeonDump:-

    1. Open terminal.
    2. Enter "sudo -s" & then enter password when asked.
    3. Change directory (cd) to where RadeonDump located.
    4. Enter "./RadeonDump > ~/Desktop/Encoder.txt"

[*]Post the Encoder.txt here.

 

Kizwan, I did everything as you said. here is the Encoder.txt. It is a little too long.

Thanks for your help!

Encoder.txt

Link to comment
Share on other sites

I finally manage to achieve a FULL log from radeondump with latest RadeonHD.kext loaded. It says UNIPHYE, DIG1, but it black even with the correct lines. There is a lot of informations, if someone can find difference between this and working configurations it would be nice. I'm attaching it here.

 

http://dl.dropbox.com/u/8433914/enc.txt

 

I must add that the log is from a RadeonHD boot with WORKING LVDS, I mean full resolution.

 

Try this patch.

 

: Object: ID: 3105 name: VGA type: 3 id: 5

: * SrcObject: ID: 2115 name: INTERNAL_KLDSCP_DAC1 enum: 1

: rhdAtomDDCFromI2CRecord: I2C Record: HW_Line[5] EngineID: 1 I2CAddr: 0

 

: Object: ID: 310c name: HDMI_TYPE_A type: 3 id: c

: * SrcObject: ID: 211e name: UNIPHY enum: 1

: rhdAtomDDCFromI2CRecord: I2C Record: HW_Line[0] EngineID: 1 I2CAddr: 0

 

: Object: ID: 310e name: LVDS type: 3 id: e

: * SrcObject: ID: 2121 name: UNIPHY2 enum: 1

: rhdAtomDDCFromI2CRecord: I2C Record: HW_Line[4] EngineID: 1 I2CAddr: 0

 

: Object: ID: 3113 name: DISPLAYPORT type: 3 id: 13

: * SrcObject: ID: 221e name: UNIPHY enum: 2

: rhdAtomDDCFromI2CRecord: I2C Record: HW_Line[1] EngineID: 1 I2CAddr: 0

 

: Connector[0] {.._VGA, "VGA CRT1", ..{ RHD_OUTPUT_DACA, ..} }

: Connector[1] {.._DVI_SINGLE, "HDMI_TYPE_A DFP1", .. { RHD_OUTPUT_UNIPHYA, ..} }

: Connector[2] {.._PANEL, "LVDS LCD1", RHD_DDC_4, .. { RHD_OUTPUT_UNIPHYE, ..} }

 

: Sensing DACA on Output AtomOutput DACA

: AtomDACLoadDetection

: Calling DAC_LoadDetection

 

: DAC_LoadDetection Successful

 

: Mapping DIG1 encoder to KLDSKP_UNIPHYE

: Crtc[0]: found native mode from Monitor[LVDS Panel]:

: Modeline "1920x1080" 153 1920 1968 2000 2280 1080 1082 1087 1122:

: Connector "PANEL" uses Monitor "LVDS Panel":

 

: Listing modesetting layout:

: ATOM CRTC 1: tied to Atom PLL 1 and LUT A:

: Outputs: AtomOutput UniphyE (PANEL):

: ATOM CRTC 2: unused

: Unused Outputs: AtomOutput DACA: , AtomOutput UniphyA:

 

Connector[0]=Port0=00 =VGA :HW_Line[5] SenseLine = (5 & 0xf)+1 = 06

Connector[1]=Port1=01 =HDMI-A:HW_Line[0] SenseLine = (0 & 0xf)+1 = 01

Connector[2]=Port2=02 =LVDS :HW_Line[4] SenseLine = (4 & 0xf)+1 = 05

 

CRTC0>DIG1>UNIPHYE>LVDS Encoder = 0x00 Transmitter = 0x12

CRTC1>DAC > DACA >VGA   Encoder = 0x10 Transmitter = 0x00

CRTC1>DIG2>UNIPHYA>HDMI Encoder = 0x01 Transmitter = 0x10

 

Then, you get Transmitter, Encoder, Port, and SenseLine like this.

02 00 00 00 40 00 00 00 09 01 00 00 12 00 02 05 LVDS

10 00 00 00 10 00 00 00 00 01 00 00 00 10 00 06 VGA

00 08 00 00 00 02 00 00 00 01 00 00 10 01 01 01 HDMI

Link to comment
Share on other sites

Kizwan, I did everything as you said. here is the Encoder.txt. It is a little too long.

Thanks for your help!

Dell Studio 1747 with Radeon Mobility 4650 (0x9480)

ATOM BIOS Rom:
SubsystemVendorID: 0x1028 SubsystemID: 0x02ea
IOBaseAddress: 0x2000
Filename: BR034427.002
BIOS Bootup Message:
BR034427-002 M96 DDR3 128bit 550e/700m									  

Connector at index 0 type: VGA (1)
Connector's i2cid: 90
Connector at index 1 type: LVDS (7)
Connector's i2cid: 96
Connector at index 2 type: HDMI-A (11)
Connector's i2cid: 91
Connector at index 3 type: DisplayPort (10)
Connector's i2cid: 94

senseid = (i2cid And 0xF) + 1
VGA: (90 And 0xF) + 1 = 1
LVDS: (96 And 0xF) + 1 = 7
HDMI: (91 And 0xF) + 1 = 2
DP: (94 And 0xF) + 1 = 5

 

Radeon Dump:-

Object: ID: 3113 name: DISPLAYPORT type: 3 id: 13
rhdAtomGetConnectorID
* SrcObject: ID: 221e name: UNIPHY enum: 2
- Record Type: 1
  rhdAtomDDCFromI2CRecord:  I2C Record: HW_Line[4] EngineID: 1 I2CAddr: 0
rhdAtomGetDDCIndex
Found DDC GPIO Index: 4
- Record Type: 2
  rhdAtomHPDFromRecord:  HPD Record: GPIO ID: 9 Plugged_PinState: 0
rhdAtomParseGPIOLutForHPD
  rhdAtomParseGPIOLutForHPD: GPIO PinID: 9 Index: 1fa5 Shift: 16
- Record Type: 4
rhdAtomDeviceTagsFromRecord
  NumberOfDevice: 1
  Devices: DFP2
Connector[0] {RHD_CONNECTOR_VGA, "VGA CRT1", RHD_DDC_0, RHD_HPD_NONE, { RHD_OUTPUT_DACA, RHD_OUTPUT_NONE } }
Connector[1] {RHD_CONNECTOR_PANEL, "LVDS LCD1", RHD_DDC_NONE, RHD_HPD_NONE, { RHD_OUTPUT_UNIPHYE, RHD_OUTPUT_NONE } }
Connector[2] {RHD_CONNECTOR_DVI_SINGLE, "HDMI_TYPE_A DFP1", RHD_DDC_1, RHD_HPD_1, { RHD_OUTPUT_UNIPHYA, RHD_OUTPUT_NONE } }
...
Mapping DIG1 encoder to KLDSKP_UNIPHYE
...
Listing modesetting layout:
ATOM CRTC 1: tied to Atom PLL 1 and LUT A:
Outputs: AtomOutputDACA (VGA 1)
ATOM CRTC 2: tied to Atom PLL 2 and LUT B:
Outputs: AtomOutputUniphyE (PANEL)
Unused Outputs: AtomOutputu puUniphyA
...

 

CRTC0 > DIG1 > UNIPHYE > LVDS: Encoder=0x00 Transmitter=0x12

CRTC1 > DAC > DACA > VGA: Encoder=0x10 Transmitter=0x00

CRTC1 > DIG2 > UNIPHYA > HDMI: Encoder=0x01 Transmitter=0x10

CRTC1 > DIG2 > (UNIPHY + LINK_B = UNIPHYB) > DP: Encoder=0x01 Transmitter=0x20

 

Patched connections table:-

--> 00000000 02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 07 (LVDS)

--> 00000010 10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 01 (VGA)

--> 00000020 00 08 00 00 00 02 00 00 00 01 00 00 10 01 02 02 (HDMI)

--> 00000030 00 04 00 00 00 04 00 00 00 01 00 00 20 01 04 05 (DP)

Link to comment
Share on other sites

I finally manage to achieve a FULL log from radeondump with latest RadeonHD.kext loaded. It says UNIPHYE, DIG1, but it black even with the correct lines. There is a lot of informations, if someone can find difference between this and working configurations it would be nice. I'm attaching it here.

 

http://dl.dropbox.com/u/8433914/enc.txt

 

I must add that the log is from a RadeonHD boot with WORKING LVDS, I mean full resolution.

Studio XPS 1640 - Mobility 4670

ATOM BIOS Rom:
SubsystemVendorID: 0x1028 SubsystemID: 0x0272
IOBaseAddress: 0x2000
Filename: BR034414.001
BIOS Bootup Message:
BR034414-001 M96 DDR3 128bit 400e/800m

Connector at index 0 type: VGA (1)
Connector's i2cid: 95
Connector at index 1 type: HDMI-A (11)
Connector's i2cid: 90
Connector at index 2 type: LVDS (7)
Connector's i2cid: 94
Connector at index 3 type: DisplayPort (10)
Connector's i2cid: 91

senseid = (i2cid And 0xF) + 1
VGA: (95 And 0xF) + 1 = 6
HDMI: (90 And 0xF) + 1 = 1
LVDS: (94 And 0xF) + 1 = 5
DP: (91 And 0xF) + 1 = 2

 

Radeon Dump:-

[RadeonHD]: Object: ID: 3113 name: DISPLAYPORT type: 3 id: 13
[RadeonHD]: rhdAtomGetConnectorID
[RadeonHD]:  * SrcObject: ID: 221e name: UNIPHY enum: 2
[RadeonHD]:  - Record Type: 1
[RadeonHD]:	rhdAtomDDCFromI2CRecord:  I2C Record: HW_Line[1] EngineID: 1 I2CAddr: 0
[RadeonHD]: rhdAtomGetDDCIndex
[RadeonHD]:  Found DDC GPIO Index: 1
[RadeonHD]:  - Record Type: 2
[RadeonHD]:	rhdAtomHPDFromRecord:  HPD Record: GPIO ID: 7 Plugged_PinState: 0
[RadeonHD]: rhdAtomParseGPIOLutForHPD
[RadeonHD]:	rhdAtomParseGPIOLutForHPD: GPIO PinID: 7 Index: 1fa5 Shift: 8
[RadeonHD]:  - Record Type: 4
[RadeonHD]: rhdAtomDeviceTagsFromRecord
[RadeonHD]:	NumberOfDevice: 1
[RadeonHD]:	Devices: DFP2
[RadeonHD]: Connector[0] {RHD_CONNECTOR_VGA, "VGA CRT1", RHD_DDC_NONE, RHD_HPD_NONE, { RHD_OUTPUT_DACA, RHD_OUTPUT_NONE } }
[RadeonHD]: Connector[1] {RHD_CONNECTOR_DVI_SINGLE, "HDMI_TYPE_A DFP1", RHD_DDC_0, RHD_HPD_0, { RHD_OUTPUT_UNIPHYA, RHD_OUTPUT_NONE } }
[RadeonHD]: Connector[2] {RHD_CONNECTOR_PANEL, "LVDS LCD1", RHD_DDC_4, RHD_HPD_NONE, { RHD_OUTPUT_UNIPHYE, RHD_OUTPUT_NONE } }
...
[RadeonHD]: Mapping DIG1 encoder to KLDSKP_UNIPHYE
...
[RadeonHD]: Listing modesetting layout:
[RadeonHD]: ATOM CRTC 1: tied to Atom PLL 1 and LUT A:
[RadeonHD]: 	Outputs: AtomOutput UniphyE (PANEL)[RadeonHD]: 
[RadeonHD]: ATOM CRTC 2: unused
[RadeonHD]: 	Unused Outputs: AtomOutput DACA[RadeonHD]: , AtomOutput UniphyA[RadeonHD]: 
...

 

CRTC0 > DIG1 > UNIPHYE > LVDS: Encoder=0x00 Transmitter=0x12

CRTC1 > DAC > DACA > VGA: Encoder=0x10 Transmitter=0x00

CRTC1 > DIG2 > UNIPHYA > HDMI: Encoder=0x01 Transmitter=0x10

CRTC1 > DIG2 > (UNIPHY + LINK_B = UNIPHYB) > DP: Encoder=0x01 Transmitter=0x20

 

Patched connections table:-

--> 00000000 02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 05 (LVDS)

--> 00000010 10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 06 (VGA)

--> 00000020 00 08 00 00 00 02 00 00 00 01 00 00 10 01 02 01 (HDMI)

--> 00000030 00 04 00 00 00 04 00 00 00 01 00 00 20 01 04 02 (DP)

Link to comment
Share on other sites

Studio XPS 1640 - Mobility 4670

ATOM BIOS Rom:
SubsystemVendorID: 0x1028 SubsystemID: 0x0272
IOBaseAddress: 0x2000
Filename: BR034414.001
BIOS Bootup Message:
BR034414-001 M96 DDR3 128bit 400e/800m

Connector at index 0 type: VGA (1)
Connector's i2cid: 95
Connector at index 1 type: HDMI-A (11)
Connector's i2cid: 90
Connector at index 2 type: LVDS (7)
Connector's i2cid: 94
Connector at index 3 type: DisplayPort (10)
Connector's i2cid: 91

senseid = (i2cid And 0xF) + 1
VGA: (95 And 0xF) + 1 = 6
HDMI: (90 And 0xF) + 1 = 1
LVDS: (94 And 0xF) + 1 = 5
DP: (91 And 0xF) + 1 = 2

 

Radeon Dump:-

[RadeonHD]: Object: ID: 3113 name: DISPLAYPORT type: 3 id: 13
[RadeonHD]: rhdAtomGetConnectorID
[RadeonHD]:  * SrcObject: ID: 221e name: UNIPHY enum: 2
[RadeonHD]:  - Record Type: 1
[RadeonHD]:	rhdAtomDDCFromI2CRecord:  I2C Record: HW_Line[1] EngineID: 1 I2CAddr: 0
[RadeonHD]: rhdAtomGetDDCIndex
[RadeonHD]:  Found DDC GPIO Index: 1
[RadeonHD]:  - Record Type: 2
[RadeonHD]:	rhdAtomHPDFromRecord:  HPD Record: GPIO ID: 7 Plugged_PinState: 0
[RadeonHD]: rhdAtomParseGPIOLutForHPD
[RadeonHD]:	rhdAtomParseGPIOLutForHPD: GPIO PinID: 7 Index: 1fa5 Shift: 8
[RadeonHD]:  - Record Type: 4
[RadeonHD]: rhdAtomDeviceTagsFromRecord
[RadeonHD]:	NumberOfDevice: 1
[RadeonHD]:	Devices: DFP2
[RadeonHD]: Connector[0] {RHD_CONNECTOR_VGA, "VGA CRT1", RHD_DDC_NONE, RHD_HPD_NONE, { RHD_OUTPUT_DACA, RHD_OUTPUT_NONE } }
[RadeonHD]: Connector[1] {RHD_CONNECTOR_DVI_SINGLE, "HDMI_TYPE_A DFP1", RHD_DDC_0, RHD_HPD_0, { RHD_OUTPUT_UNIPHYA, RHD_OUTPUT_NONE } }
[RadeonHD]: Connector[2] {RHD_CONNECTOR_PANEL, "LVDS LCD1", RHD_DDC_4, RHD_HPD_NONE, { RHD_OUTPUT_UNIPHYE, RHD_OUTPUT_NONE } }
...
[RadeonHD]: Mapping DIG1 encoder to KLDSKP_UNIPHYE
...
[RadeonHD]: Listing modesetting layout:
[RadeonHD]: ATOM CRTC 1: tied to Atom PLL 1 and LUT A:
[RadeonHD]: 	Outputs: AtomOutput UniphyE (PANEL)[RadeonHD]: 
[RadeonHD]: ATOM CRTC 2: unused
[RadeonHD]: 	Unused Outputs: AtomOutput DACA[RadeonHD]: , AtomOutput UniphyA[RadeonHD]: 
...

 

CRTC0 > DIG1 > UNIPHYE > LVDS: Encoder=0x00 Transmitter=0x12

CRTC1 > DAC > DACA > VGA: Encoder=0x10 Transmitter=0x00

CRTC1 > DIG2 > UNIPHYA > HDMI: Encoder=0x01 Transmitter=0x10

CRTC1 > DIG2 > (UNIPHY + LINK_B = UNIPHYB) > DP: Encoder=0x01 Transmitter=0x20

 

Patched connections table:-

--> 00000000 02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 05 (LVDS)

--> 00000010 10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 06 (VGA)

--> 00000020 00 08 00 00 00 02 00 00 00 01 00 00 10 01 02 01 (HDMI)

--> 00000030 00 04 00 00 00 04 00 00 00 01 00 00 20 01 04 02 (DP)

Yes Kizwan that's the correct TrEnc configuration I already used it and as I said it gives me blank LVDS. I know there is an other user with a more recent 1645, which hopefully has a WLED and not RGB led display. Ask him to try this configuration with your Vervet booter and check if LVDS is working correctly. I am suspecting that it may be a EDID problem or something. I'd say we should ask someone (maybe Dong?) to recognize some useful data in the dump to see why the RadeonHD is outputting fine and the ATIFramebuffer is not.

Link to comment
Share on other sites

Yes Kizwan that's the correct TrEnc configuration I already used it and as I said it gives me blank LVDS. I know there is an other user with a more recent 1645, which hopefully has a WLED and not RGB led display. Ask him to try this configuration with your Vervet booter and check if LVDS is working correctly. I am suspecting that it may be a EDID problem or something. I'd say we should ask someone (maybe Dong?) to recognize some useful data in the dump to see why the RadeonHD is outputting fine and the ATIFramebuffer is not.

I know you already tried many transmitter & encoder values but probably wrong combination. If you're willing to test, please test my patched connection table with Shrike framebuffer. Shrike framebuffer only support 3 connections. So only put/patch LVDS, VGA & HDMI.

 

I noticed in your RadeonHD's log, you didn't plugged in external monitor to either VGA or HDMI or DisplayPort. Try get RadeonHD's log again with external monitor connected to either HDMI or DisplayPort. Probably when external monitor connected to either port, RadeonHD initialized the LVDS a bit different. On my notebook, LVDS is using DIG2 encoder while HDMI is using DIG1:-

Mapping DIG1 encoder to KLDSKP_UNIPHYB

Mapping DIG2 encoder to KLDSKP_UNIPHYE

If you can get two sets of RadeonHD's log (one with monitor connected to HDMI, the other one connected to DisplayPort), that would be great.

Link to comment
Share on other sites

Dell Studio 1747 with Radeon Mobility 4650 (0x9480)

ATOM BIOS Rom:
 SubsystemVendorID: 0x1028 SubsystemID: 0x02ea
 IOBaseAddress: 0x2000
 Filename: BR034427.002
 BIOS Bootup Message:
BR034427-002 M96 DDR3 128bit 550e/700m									  

Connector at index 0 type: VGA (1)
Connector's i2cid: 90
Connector at index 1 type: LVDS (7)
Connector's i2cid: 96
Connector at index 2 type: HDMI-A (11)
Connector's i2cid: 91
Connector at index 3 type: DisplayPort (10)
Connector's i2cid: 94

senseid = (i2cid And 0xF) + 1
VGA: (90 And 0xF) + 1 = 1
LVDS: (96 And 0xF) + 1 = 7
HDMI: (91 And 0xF) + 1 = 2
DP: (94 And 0xF) + 1 = 5

 

Radeon Dump:-

Object: ID: 3113 name: DISPLAYPORT type: 3 id: 13
rhdAtomGetConnectorID
 * SrcObject: ID: 221e name: UNIPHY enum: 2
 - Record Type: 1
rhdAtomDDCFromI2CRecord:  I2C Record: HW_Line[4] EngineID: 1 I2CAddr: 0
rhdAtomGetDDCIndex
 Found DDC GPIO Index: 4
 - Record Type: 2
rhdAtomHPDFromRecord:  HPD Record: GPIO ID: 9 Plugged_PinState: 0
rhdAtomParseGPIOLutForHPD
rhdAtomParseGPIOLutForHPD: GPIO PinID: 9 Index: 1fa5 Shift: 16
 - Record Type: 4
rhdAtomDeviceTagsFromRecord
NumberOfDevice: 1
Devices: DFP2
Connector[0] {RHD_CONNECTOR_VGA, "VGA CRT1", RHD_DDC_0, RHD_HPD_NONE, { RHD_OUTPUT_DACA, RHD_OUTPUT_NONE } }
Connector[1] {RHD_CONNECTOR_PANEL, "LVDS LCD1", RHD_DDC_NONE, RHD_HPD_NONE, { RHD_OUTPUT_UNIPHYE, RHD_OUTPUT_NONE } }
Connector[2] {RHD_CONNECTOR_DVI_SINGLE, "HDMI_TYPE_A DFP1", RHD_DDC_1, RHD_HPD_1, { RHD_OUTPUT_UNIPHYA, RHD_OUTPUT_NONE } }
...
Mapping DIG1 encoder to KLDSKP_UNIPHYE
...
Listing modesetting layout:
ATOM CRTC 1: tied to Atom PLL 1 and LUT A:
 Outputs: AtomOutputDACA (VGA 1)
ATOM CRTC 2: tied to Atom PLL 2 and LUT B:
 Outputs: AtomOutputUniphyE (PANEL)
 Unused Outputs: AtomOutputu puUniphyA
...

 

CRTC0 > DIG1 > UNIPHYE > LVDS: Encoder=0x00 Transmitter=0x12

CRTC1 > DAC > DACA > VGA: Encoder=0x10 Transmitter=0x00

CRTC1 > DIG2 > UNIPHYA > HDMI: Encoder=0x01 Transmitter=0x10

CRTC1 > DIG2 > (UNIPHY + LINK_B = UNIPHYB) > DP: Encoder=0x01 Transmitter=0x20

 

Patched connections table:-

--> 00000000 02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 07 (LVDS)

--> 00000010 10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 01 (VGA)

--> 00000020 00 08 00 00 00 02 00 00 00 01 00 00 10 01 02 02 (HDMI)

--> 00000030 00 04 00 00 00 04 00 00 00 01 00 00 20 01 04 05 (DP)

 

Thank you very much!!! I will try it tonight when I get back home and report back.

Link to comment
Share on other sites

I know you already tried many transmitter & encoder values but probably wrong combination. If you're willing to test, please test my patched connection table with Shrike framebuffer. Shrike framebuffer only support 3 connections. So only put/patch LVDS, VGA & HDMI.

 

I noticed in your RadeonHD's log, you didn't plugged in external monitor to either VGA or HDMI or DisplayPort. Try get RadeonHD's log again with external monitor connected to either HDMI or DisplayPort. Probably when external monitor connected to either port, RadeonHD initialized the LVDS a bit different. On my notebook, LVDS is using DIG2 encoder while HDMI is using DIG1:-

 

If you can get two sets of RadeonHD's log (one with monitor connected to HDMI, the other one connected to DisplayPort), that would be great.

Ive already tried those. The enc.txt just confirmed that I was using the right TR/ENC. I also tested every combination with and without HDMI plugged, so that's not the case. I think the LVDS problem could be a single link signal used instead the dual link one, as this reference.

 

http://www.insanelymac.com/forum/index.php...p;#entry1362685

 

I am also waiting the other user to report in.

 

ps: I tried the shrike framebuffer too. According to my tests, both vervet and shirke behave the same.

Link to comment
Share on other sites

Thank you very much!!! I will try it tonight when I get back home and report back.

Can you provide me RadeonHD dump with external monitor is connected to either HDMI or DisplayPort? I want to see how RadeonHD initialized the links when external monitor connected. Thank you.

Link to comment
Share on other sites

Studio XPS 1640 - Mobility 4670

ATOM BIOS Rom:
SubsystemVendorID: 0x1028 SubsystemID: 0x0272
IOBaseAddress: 0x2000
Filename: BR034414.001
BIOS Bootup Message:
BR034414-001 M96 DDR3 128bit 400e/800m

Connector at index 0 type: VGA (1)
Connector's i2cid: 95
Connector at index 1 type: HDMI-A (11)
Connector's i2cid: 90
Connector at index 2 type: LVDS (7)
Connector's i2cid: 94
Connector at index 3 type: DisplayPort (10)
Connector's i2cid: 91

senseid = (i2cid And 0xF) + 1
VGA: (95 And 0xF) + 1 = 6
HDMI: (90 And 0xF) + 1 = 1
LVDS: (94 And 0xF) + 1 = 5
DP: (91 And 0xF) + 1 = 2

 

Radeon Dump:-

[RadeonHD]: Object: ID: 3113 name: DISPLAYPORT type: 3 id: 13
[RadeonHD]: rhdAtomGetConnectorID
[RadeonHD]:  * SrcObject: ID: 221e name: UNIPHY enum: 2
[RadeonHD]:  - Record Type: 1
[RadeonHD]:	rhdAtomDDCFromI2CRecord:  I2C Record: HW_Line[1] EngineID: 1 I2CAddr: 0
[RadeonHD]: rhdAtomGetDDCIndex
[RadeonHD]:  Found DDC GPIO Index: 1
[RadeonHD]:  - Record Type: 2
[RadeonHD]:	rhdAtomHPDFromRecord:  HPD Record: GPIO ID: 7 Plugged_PinState: 0
[RadeonHD]: rhdAtomParseGPIOLutForHPD
[RadeonHD]:	rhdAtomParseGPIOLutForHPD: GPIO PinID: 7 Index: 1fa5 Shift: 8
[RadeonHD]:  - Record Type: 4
[RadeonHD]: rhdAtomDeviceTagsFromRecord
[RadeonHD]:	NumberOfDevice: 1
[RadeonHD]:	Devices: DFP2
[RadeonHD]: Connector[0] {RHD_CONNECTOR_VGA, "VGA CRT1", RHD_DDC_NONE, RHD_HPD_NONE, { RHD_OUTPUT_DACA, RHD_OUTPUT_NONE } }
[RadeonHD]: Connector[1] {RHD_CONNECTOR_DVI_SINGLE, "HDMI_TYPE_A DFP1", RHD_DDC_0, RHD_HPD_0, { RHD_OUTPUT_UNIPHYA, RHD_OUTPUT_NONE } }
[RadeonHD]: Connector[2] {RHD_CONNECTOR_PANEL, "LVDS LCD1", RHD_DDC_4, RHD_HPD_NONE, { RHD_OUTPUT_UNIPHYE, RHD_OUTPUT_NONE } }
...
[RadeonHD]: Mapping DIG1 encoder to KLDSKP_UNIPHYE
...
[RadeonHD]: Listing modesetting layout:
[RadeonHD]: ATOM CRTC 1: tied to Atom PLL 1 and LUT A:
[RadeonHD]:	 Outputs: AtomOutput UniphyE (PANEL)[RadeonHD]: 
[RadeonHD]: ATOM CRTC 2: unused
[RadeonHD]:	 Unused Outputs: AtomOutput DACA[RadeonHD]: , AtomOutput UniphyA[RadeonHD]: 
...

 

CRTC0 > DIG1 > UNIPHYE > LVDS: Encoder=0x00 Transmitter=0x12

CRTC1 > DAC > DACA > VGA: Encoder=0x10 Transmitter=0x00

CRTC1 > DIG2 > UNIPHYA > HDMI: Encoder=0x01 Transmitter=0x10

CRTC1 > DIG2 > (UNIPHY + LINK_B = UNIPHYB) > DP: Encoder=0x01 Transmitter=0x20

 

Patched connections table:-

--> 00000000 02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 05 (LVDS)

--> 00000010 10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 06 (VGA)

--> 00000020 00 08 00 00 00 02 00 00 00 01 00 00 10 01 02 01 (HDMI)

--> 00000030 00 04 00 00 00 04 00 00 00 01 00 00 20 01 04 02 (DP)

 

Kizwan, unfortunately, again only HDMI is working. Do you think there any hope? :)

Link to comment
Share on other sites

Can you provide me RadeonHD dump with external monitor is connected to either HDMI or DisplayPort? I want to see how RadeonHD initialized the links when external monitor connected. Thank you.

 

Actually for the lust dump I connected external monitor to both VGA and HDMI

Link to comment
Share on other sites

I updated to 10.6.7 and now to initialize the internal display I have to do the "detect displays" in system preferences (I mean to get backlight and black screen as usual, since at boot the LVDS display is powered off). I am using the same vervet framebuffer with the supposedly correct configuration.

However I managed to get a ioreg -l of the booted 10.6.7 connected with working VGA connector, and I found out something interesting. The 02 00 00 00 type of display we are naming as LVDS is actually TMDS, so maybe who has the internal lcd working is because is using a TMDS connection, I thought that there could be a difference.

 

http://dl.dropbox.com/u/8433914/out.txt

 

check the dump out. I think you will find some useful informations other than this TMDS/LVDS mismatch.

 

Let me know.

Link to comment
Share on other sites

I updated to 10.6.7 and now to initialize the internal display I have to do the "detect displays" in system preferences (I mean to get backlight and black screen as usual, since at boot the LVDS display is powered off). I am using the same vervet framebuffer with the supposedly correct configuration.

However I managed to get a ioreg -l of the booted 10.6.7 connected with working VGA connector, and I found out something interesting. The 02 00 00 00 type of display we are naming as LVDS is actually TMDS, so maybe who has the internal lcd working is because is using a TMDS connection, I thought that there could be a difference.

 

http://dl.dropbox.com/u/8433914/out.txt

 

check the dump out. I think you will find some useful informations other than this TMDS/LVDS mismatch.

 

Let me know.

 

I also updated to 10.6.7 and connected with working HDMI. I got similar ioreg-l with TMDS.

See attached file.

Ioreg_l.rtf

Link to comment
Share on other sites

Actually for the lust dump I connected external monitor to both VGA and HDMI

Your last dump only detect LVDS & a monitor connected to VGA. Can you get the RadeonHD's log file again with external monitor only connected to HDMI?

Link to comment
Share on other sites

Here is the dump with only HDMI connected. Please see attached. Thank you!

Thank you. However, somehow, RadeonHD doesn't detect the monitor connected to HDMI port & I presume that it also failed to extract correct EDID from internal LCD:-

Query for AtomBIOS Get Panel EDID: failed
Raw EDID data:
 00 ff ff ff ff ff ff 00 30 ae 22 40 00 00 00 00
 2d 10 01 03 80 1d 15 78 ea 6f 95 9c 54 4c 87 26
 21 50 54 21 08 00 81 80 01 01 01 01 01 01 01 01
 01 01 01 01 01 01 30 2a 78 20 51 1a 10 40 30 70
 13 00 1f d7 10 00 00 18 25 23 78 20 51 1a 10 40
 30 70 13 00 1f d7 10 00 00 18 00 00 00 0f 00 90
 43 32 90 43 28 0f 01 00 30 64 90 55 00 00 00 fe
 00 4c 54 44 31 34 31 45 4e 39 42 0a 20 20 00 35
EDID data for LVDS Panel
00: 0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
00: 00 ff ff ff ff ff ff 00 30 ae 22 40 00 00 00 00 
10: 2d 10 01 03 80 1d 15 78 ea 6f 95 9c 54 4c 87 26 
20: 21 50 54 21 08 00 81 80 01 01 01 01 01 01 01 01 
30: 01 01 01 01 01 01 30 2a 78 20 51 1a 10 40 30 70 
40: 13 00 1f d7 10 00 00 18 25 23 78 20 51 1a 10 40 
50: 30 70 13 00 1f d7 10 00 00 18 00 00 00 0f 00 90 
60: 43 32 90 43 28 0f 01 00 30 64 90 55 00 00 00 fe 
70: 00 4c 54 44 31 34 31 45 4e 39 42 0a 20 20 00 35 
RHDAtomOutputAllocFree
Mapping DIG1 encoder to KLDSKP_UNIPHYE
Crtc[0]: found native mode from Monitor[LVDS Panel]: 
Modeline "1600x900"  96  1600 1648 1680 1736  900 901 906 922
Connector "PANEL" uses Monitor "LVDS Panel":
RHDValidateScaledToMode
rhdModeValidateCrtc
DxModeValid: ATOM CRTC 1
rhdAtomOutputModeValid
Listing modesetting layout:
ATOM CRTC 1: tied to Atom PLL 1 and LUT A:
Outputs: AtomOutputUniphyE (PANEL)
ATOM CRTC 2: unused
Unused Outputs: AtomOutputDACA, AtomOutputUniphyA

As you can see - "Mapping DIG1 encoder to KLDSKP_UNIPHYE" - only LVDS is got mapped while HDMI is not.

 

Honestly, at this point, I don't know how to get LVDS working but if you want to continue testing, please see below.

 

Can you provide:-

1) Get EDID value in Windows by using a software called "MonInfo". The "Raw data" is EDID value:-

edid.jpg

2) Please try this connectors table with Shrike framebuffer. Please test this without any external monitor plugged in. I change the LVDS link a little bit, telling it to use DUAL_LINK:-

CRTC0 > DIG1 > UNIPHY_EF > LVDS: Encoder=0x00 Transmitter=0x02

--> 00000000 02 00 00 00 40 00 00 00 09 01 00 00 02 00 00 07 (LVDS)

--> 00000010 10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 01 (VGA)

--> 00000020 00 08 00 00 00 02 00 00 00 01 00 00 10 01 02 02 (HDMI)

Offset of Shrike connections table (3 connections):-

  • 32bit: 0x00037298
  • 64bit: 0x00010F80

Link to comment
Share on other sites

mucha,

 

Thanks for your guide, inspiring most of ati people.

I have a Sony Vaio VPCEB17 with Mobility 5650 and 1920x1080 internal display.

I can have QE CI enabled with 10.7 kexts. However, my internal display was scrambled.

 

So the first thing I would think of is 10.6.6 framebuffer personalities.

After you uploaded your Howto file, I tried over night. Not working.

 

I would like to need your favor to help me as belows

 

 

I have the same problem on my VAIO FW495 with a mobility 4650... Could you solve it?

 

I cannot get de i2cid because it is in another format or blank... I attach here my rom dump, could someone help me please???

 

I also cannot get RadeonHD to load in 64bit mode and the 32bit mode sends a lot of error to the dmesg buffer and I cannot see the radeon messages...

 

 

Please help...

1002_9480.rom.tar.gz

Link to comment
Share on other sites

I'll try now to override the display edid and see what happens.

 

I own an imac with the same mobility 4670 card of the xps, I dumped some logs for you to check out, to see the differences. I tried to do also a linux xorg.log of the imac to check the uniphy values and connectors indexes but they are not shown. Anyone knows a way to dump the connector indexes and senseids of the imac? radeondump works only with bios.

 

logs:

 

http://dl.dropbox.com/u/8433914/LOGS.zip

Link to comment
Share on other sites

Another info. With Transmitter set to 12 (linkA) the display is listed as TMDSA, with 02 (supposedly A+B dual link), is listed as TMDSB (LINK2). TMDS is not LVDS..I think is used on DVI displays? Imac connection shows LVDS. Check the logs and let me know.

Link to comment
Share on other sites

 Share

×
×
  • Create New...