Subject: Re: autri0: can't map memory space
To: David Young <dyoung@pobox.com>
From: Andreas Gustafsson <gson@gson.org>
List: current-users
Date: 12/23/2007 20:04:13
David Young wrote:
> > Note how the Command register is now 0x0000.  The "Memory space
> > accesses" bit being off appears to be what's causing the "can't map
> > memory space" error.
> 
> I think that is a symptom of "can't map memory space," not a cause.

I don't think so - I added a debug printf to pci_probe_device()
printing the value of the variable "csr", and as pci_probe_device() is
probing the autri0 device before the failing attach, csr already has
the value 0x02900000.

> Will you send the complete pcictl output for that device?

See below for the full output of "pcictl /dev/pci0 dump -d 6" with
the -current kernel.
-- 
Andreas Gustafsson, gson@gson.org


PCI configuration registers:
  Common header:
    0x00: 0x545110b9 0xc2900000 0x04010001 0x00004000

    Vendor Name: Acer Labs (0x10b9)
    Device Name: M5451 AC-Link Controller Audio Device (0x5451)
    Command register: 0x0000
      I/O space accesses: off
      Memory space accesses: off
      Bus mastering: off
      Special cycles: off
      MWI transactions: off
      Palette snooping: off
      Parity error checking: off
      Address/data stepping: off
      System error (SERR): off
      Fast back-to-back transactions: off
      Interrupt disable: off
    Status register: 0xc290
      Capability List support: on
      66 MHz capable: off
      User Definable Features (UDF) support: off
      Fast back-to-back capable: on
      Data parity error detected: off
      DEVSEL timing: medium (0x1)
      Slave signaled Target Abort: off
      Master received Target Abort: off
      Master received Master Abort: off
      Asserted System Error (SERR): on
      Parity error detected: on
    Class Name: multimedia (0x04)
    Subclass Name: audio (0x01)
    Interface: 0x00
    Revision ID: 0x01
    BIST: 0x00
    Header Type: 0x00 (0x00)
    Latency Timer: 0x40
    Cache Line Size: 0x00

  Type 0 ("normal" device) header:
    0x10: 0x00000001 0x00000000 0x00000000 0x00000000
    0x20: 0x00000000 0x00000000 0x00000000 0x00011179
    0x30: 0x00000000 0x000000dc 0x00000000 0x180201ff

    Base address register at 0x10
      type: i/o
      base: 0x00000000, not sized
    Base address register at 0x14
      not implemented(?)
    Base address register at 0x18
      not implemented(?)
    Base address register at 0x1c
      not implemented(?)
    Base address register at 0x20
      not implemented(?)
    Base address register at 0x24
      not implemented(?)
    Cardbus CIS Pointer: 0x00000000
    Subsystem vendor ID: 0x1179
    Subsystem ID: 0x0001
    Expansion ROM Base Address: 0x00000000
    Capability list pointer: 0xdc
    Reserved @ 0x38: 0x00000000
    Maximum Latency: 0x18
    Minimum Grant: 0x02
    Interrupt pin: 0x01 (pin A)
    Interrupt line: 0xff

  Capability register at 0xdc
    type: 0x01 (Power Management, rev. 1.0)

  Device-dependent header:
    0x40: 0x00000000 0xe2080000 0x00000000 0x00000000
    0x50: 0x00000000 0x00000000 0x00000000 0x00000000
    0x60: 0x00000000 0x00000000 0x00000000 0x00000000
    0x70: 0x00000000 0x00000000 0x00000000 0x00000000
    0x80: 0x00000000 0x00000000 0x00000000 0x00000000
    0x90: 0x00000000 0x00000000 0x00000000 0x00000000
    0xa0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xd0: 0x00000000 0x00000000 0x00000000 0xe6220001
    0xe0: 0x00000003 0x00000000 0x00000000 0x00000000
    0xf0: 0x00000000 0x00000000 0x00000000 0x00000000