[haiku-bugs] Re: [Haiku] #9807: RealTek RTL8111 listed but does not work

  • From: "ttcoder" <trac@xxxxxxxxxxxx>
  • Date: Sat, 13 Jul 2013 16:53:19 -0000

#9807: RealTek RTL8111 listed but does not work
---------------------------------------+----------------------------
   Reporter:  ttcoder                  |      Owner:  nobody
       Type:  bug                      |     Status:  new
   Priority:  normal                   |  Milestone:  R1
  Component:  Drivers/Network/rtl81xx  |    Version:  R1/Development
 Resolution:                           |   Keywords:
 Blocked By:                           |   Blocking:
Has a Patch:  0                        |   Platform:  All
---------------------------------------+----------------------------

Comment (by ttcoder):

 Replying to [comment:18 korli]:
 > The expected log "ht msi mapping enabled" isn't showing up. This could
 mean this mapping is already enabled though.

 Seems it is:

 {{{
 KERN: ====== inside pci_enable_msi()
 KERN: ***** inside pci_ht_msi_map( 4276092928 )
 KERN: info->ht_mapping_capable = 1
 KERN: enabled=1
 KERN: msi enabled: 0x0081 (ttcdr build)
 }}}

 The code path does not enter inside the if(), as per my brute-force
 tracing:


 {{{
 pci_ht_msi_map(PCIDev *device, uint64 address)
 {
 dprintf("***** inside pci_ht_msi_map( %Ld )\n", address);
         ht_mapping_info *info = &device->arch_info.ht_mapping;
 dprintf("info->ht_mapping_capable = %d\n", info->ht_mapping_capable);
         if (!info->ht_mapping_capable)
                 return;

         bool enabled = (info->control_value & PCI_ht_command_msi_enable)
 != 0;
 dprintf("enabled=%d\n", enabled);
         if ((address != 0) != enabled) {
 dprintf(" ..if\n");
                 if (enabled) {
 dprintf(" ..  if enabled\n");
                         info->control_value &= ~PCI_ht_command_msi_enable;
                 } else {
 dprintf(" ..  else (with info->address_value=0x%Lx)\n",
 info->address_value);
                         if ((address >> 20) != (info->address_value >>
 20))
                                 return;
                         dprintf("ht msi mapping enabled\n");
 }}}

 As a side node, I'm seeing something that was not there before, the
 rtl81xx driver output is now intertwined with mtrr lines; probably means
 nothing though:
 {{{
 KERN: [rtl81xx] (re) Using 1 MSI message
 KERN:   mtrr:  0: base:    0x90000, size:    0x10000, type: 0
 KERN: [rtl81xx] (re) bus_alloc_resource(1, [1], 0x0, 0xffffffff, 0x1,0x2)
 KERN:   mtrr:  1: base:    0xa0000, size:    0x20000, type: 0
 }}}

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

Other related posts: