[haiku-bugs] Re: [Haiku] #8457: Blank screen after boot on Radeon Mobility 4670 HD (was: radeon_hd ignores lvds edid patch table resulting in incorrect lvds resolutions)

  • From: "kallisti5" <trac@xxxxxxxxxxxx>
  • Date: Mon, 01 Jul 2013 04:52:03 -0000

#8457: Blank screen after boot on Radeon Mobility 4670 HD
------------------------------------------+----------------------------
   Reporter:  kvark                       |      Owner:  kallisti5
       Type:  bug                         |     Status:  new
   Priority:  normal                      |  Milestone:  R1
  Component:  Drivers/Graphics/radeon_hd  |    Version:  R1/Development
 Resolution:                              |   Keywords:  blank radeon
 Blocked By:                              |   Blocking:  7662
Has a Patch:  0                           |   Platform:  x86
------------------------------------------+----------------------------

Comment (by kallisti5):

 Ha.. this confirms i'm not crazy.  If we disassemble
 (http://cgit.freedesktop.org/~mhopf/AtomDis/) the atombios you provided...

 {{{
 kallisti5@houvonglucka01 AtomDis :( $ ./atomdis
 ~/radeon_hd_bios_1002_9488_0.bin d 0006
 Read 20000 bytes of data from
 /home/kallisti5/radeon_hd_bios_1002_9488_0.bin

 data_table  0000acf0  #06  (LVDS_Info):

   Size         0036
   Format Rev.  01
   Param Rev.   00
   Content Rev. 02

   00000000:            302a 7805  1c01 1a04  1000 2c00        0*x.......,.
   00000010: 7000 0100  0300 0000  0000 0000  0600 0000    p...............
   00000020: 0000 2000  f401 0324  4d3c 0101  0000 0000    .. ....$M<......
   00000030: 0030 0000  0000                               .0....

   0000:  ATOM_COMMON_TABLE_HEADER sHeader                    :
     0000:  USHORT usStructureSize                              = 0x0036
 (54)
     0002:  UCHAR ucTableFormatRevision                         = 0x01
 (1)
     0003:  UCHAR ucTableContentRevision                        = 0x02
 (2)
   0004:  ATOM_DTD_FORMAT sLCDTiming                          :
     0004:  USHORT usPixClk                                     = 0x2a30
 (10800)
     0006:  USHORT usHActive                                    = 0x0578
 (1400)
     0008:  USHORT usHBlanking_Time                             = 0x011c
 (284)
     000a:  USHORT usVActive                                    = 0x041a
 (1050)
     000c:  USHORT usVBlanking_Time                             = 0x0010
 (16)
     000e:  USHORT usHSyncOffset                                = 0x002c
 (44)
     0010:  USHORT usHSyncWidth                                 = 0x0070
 (112)
     0012:  USHORT usVSyncOffset                                = 0x0001
 (1)
     0014:  USHORT usVSyncWidth                                 = 0x0003
 (3)
     0016:  USHORT usImageHSize                                 = 0x0000
 (0)
     0018:  USHORT usImageVSize                                 = 0x0000
 (0)
     001a:  UCHAR ucHBorder                                     = 0x00
 (0)
     001b:  UCHAR ucVBorder                                     = 0x00
 (0)
     001c:  ATOM_MODE_MISC_INFO_ACCESS susModeMiscInfo          :
       001c:  (union) ATOM_MODE_MISC_INFO sbfAccess               :
                USHORT HorizontalCutOff:1                           =
 0x0000     (0)
                USHORT HSyncPolarity:1                              =
 0x0001     (1)
                USHORT VSyncPolarity:1                              =
 0x0001     (1)
                USHORT VerticalCutOff:1                             =
 0x0000     (0)
                USHORT H_ReplicationBy2:1                           =
 0x0000     (0)
                USHORT V_ReplicationBy2:1                           =
 0x0000     (0)
                USHORT CompositeSync:1                              =
 0x0000     (0)
                USHORT Interlace:1                                  =
 0x0000     (0)
                USHORT DoubleClock:1                                =
 0x0000     (0)
                USHORT RGB888:1                                     =
 0x0000     (0)
                USHORT Reserved:6                                   =
 0x0000     (0)
       001c:  (union) USHORT usAccess                             = 0x0006
 (6)
     001e:  UCHAR ucInternalModeNumber                          = 0x00
 (0)
     001f:  UCHAR ucRefreshRate                                 = 0x00
 (0)
   0020:  USHORT usExtInfoTableOffset                         = 0x0000
 (0)
   0022:  USHORT usSupportedRefreshRate                       = 0x0020
 (32)
   0024:  USHORT usOffDelayInMs                               = 0x01f4
 (500)
   0026:  UCHAR ucPowerSequenceDigOntoDEin10Ms                = 0x03
 (3)
   0027:  UCHAR ucPowerSequenceDEtoBLOnin10Ms                 = 0x24
 (36)
   0028:  UCHAR ucLVDS_Misc                                   = 0x4d
 (77)
   0029:  UCHAR ucPanelDefaultRefreshRate                     = 0x3c
 (60)
   002a:  UCHAR ucPanelIdentification                         = 0x01
 (1)
   002b:  UCHAR ucSS_Id                                       = 0x01
 (1)
   002c:  USHORT usLCDVenderID                                = 0x0000
 (0)
   002e:  USHORT usLCDProductID                               = 0x0000
 (0)
   0030:  UCHAR ucLCDPanel_SpecialHandlingCap                 = 0x00
 (0)
   0031:  UCHAR ucPanelInfoSize                               = 0x30
 (48)
   0032:  UCHAR ucReserved                                [0] = 0x00
 (0)
   0033:  UCHAR ucReserved                                [1] = 0x00
 (0)

   Total data structure size:  0034
 }}}

 it definitely tells us:
     usHActive = 0x0578     (1400)
     usVActive = 0x041a     (1050)

 Your LVDS_Info table is 1.2:
   0006:   acf0  Len 0036  Rev 01:02  (LVDS_Info)    (struct size 0034)


 Which means it shouldn't (and doesn't) contain a usModePatchTableOffset.

--
Ticket URL: <http://dev.haiku-os.org/ticket/8457#comment:27>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts:

  • » [haiku-bugs] Re: [Haiku] #8457: Blank screen after boot on Radeon Mobility 4670 HD (was: radeon_hd ignores lvds edid patch table resulting in incorrect lvds resolutions) - kallisti5