public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Writing to PCI registers before probe?
@ 2004-03-02  9:46 Mark Tranchant
  0 siblings, 0 replies; only message in thread
From: Mark Tranchant @ 2004-03-02  9:46 UTC (permalink / raw)
  To: linux-kernel

I have an old Pentium 100 machine running 2.6.3, with onboard PIIXa 
controller. I'm trying to enable DMA, but the controller doesn't even 
recognize its own IDE interface. Here's the snipped output from lspci:

root@mauve:~# lspci
00:00.0 Host bridge: Intel Corp. 430FX - 82437FX TSC [Triton I] (rev 02)
00:07.0 ISA bridge: Intel Corp. 82371FB PIIX ISA [Triton I] (rev 02)
(other devices)

If I use setpci to write to an appropriate register, the device then 
recognizes its IDE interface if I tell lspci to do a direct access scan:

root@mauve:~# setpci -s 00:07.0 6a.w=0005
root@mauve:~# lspci -H 1
00:00.0 Host bridge: Intel Corp. 430FX - 82437FX TSC [Triton I] (rev 02)
00:07.0 ISA bridge: Intel Corp. 82371FB PIIX ISA [Triton I] (rev 02)
00:07.1 IDE interface: Intel Corp. 82371FB PIIX IDE [Triton I] (rev 02)
(other devices)

However, the bus has already been scanned, so a straight lspci gives the 
same results as before, and hdparm still can't turn on DMA. Compiling PIIX 
support as a module and insmoding after the setpci makes no difference.

I want to do the register write prior to the bus being scanned. I've seen 
solutions with older kernels, but the bus scan has been significantly 
re-written since then. Would anyone familiar with the 2.6 PCI subsystem 
kindly help me out here? This is a production server, so I don't want too 
much downtime experimenting.

Many thanks,

-- 
Mark.
mark@tranchant.plus.com
http://tranchant.plus.com/



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-03-02  9:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-02  9:46 Writing to PCI registers before probe? Mark Tranchant

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox