Marcus Overhagen
f017b372bd
added more debug output, read device error register after a reset
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 12:39:03 +00:00
Marcus Overhagen
479c2cafbc
added more debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 12:08:12 +00:00
Marcus Overhagen
f0e260b3bf
added more debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 12:07:38 +00:00
Marcus Overhagen
152fffc418
added more debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 12:06:15 +00:00
Marcus Overhagen
5f50c05486
cleanup of the rescanning code
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 00:17:51 +00:00
Marcus Overhagen
d394cf760c
check for device presence before trying to read the signature
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-08 22:31:35 +00:00
Marcus Overhagen
4e9047599d
Modified device reset and detection, still broken
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-08 21:46:30 +00:00
Marcus Overhagen
b44b755c91
modified device detection
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 19:29:15 +00:00
Marcus Overhagen
0cd362c755
copying current ide bus manager into ata directory
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 12:59:53 +00:00
Marcus Overhagen
413e26b8a0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 12:59:01 +00:00
Marcus Overhagen
580e5994d9
Moved files again, this time to the correct dir.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 12:56:59 +00:00
Marcus Overhagen
ffaf504fbc
copying current ide bus manager into ata directory
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 12:48:21 +00:00
Marcus Overhagen
b830be90e2
Marked some bits as RWC and RW1.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 15:35:48 +00:00
Marcus Overhagen
0762289b3f
Cleanup ccb->data_length handling.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 15:19:10 +00:00
Marcus Overhagen
ebd99341e9
Fixed a copy&paste error. scsi_cmd_rw_10 has only a 16 bit length field,
...
while scsi_cmd_rw_12 has a 32 bit field. As both are big endian, that
error shouldn't have caused any problem or data corruption.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 14:53:38 +00:00
Marcus Overhagen
ec2bf719e8
Implemented ExecuteSataRequest() to execute all ATA and (later) ATAPI commands.
...
Converted Identify Device and Read / Write commands, they now create a sata_request
and pass it to ExecuteSataRequest. Added support for cache flushing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 02:27:05 +00:00
Marcus Overhagen
56f0b1a01a
A helper class to easier support Native Command Qeueuing and ATAPI support.
...
This class either encapsulates scsi_ccb or can be used stand alone.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 02:23:39 +00:00
Marcus Overhagen
e50610ed49
added defines for LBA limitations
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 02:19:58 +00:00
Marcus Overhagen
0cc1690a17
Added a comment describing the command FIS layout, because AHCI, SATA and ATA/ATAPI standards use inconsitent terminology.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-04 21:24:51 +00:00
Marcus Overhagen
f6872148ca
Restart. Do not pass Go, do not collect 00.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-02 22:02:15 +00:00
Marcus Overhagen
971cf1881e
Disable an io interrupt when more than 99% are unhandled. This somewhat prevents random freezing.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-02 17:33:27 +00:00
Marcus Overhagen
7eb5430510
Added debug info at the place that seems to deadlock in SMP systems with > 2 CPUs
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-01 20:45:29 +00:00
Marcus Overhagen
70eb0da7e0
Mask io-space bit in promise_tx2 driver, the driver was broken after recent ide-adapter changes.
...
Replaced IDE_ADAPTER_IS_PRIMARY by IDE_ADAPTER_CHANNEL_INDEX to support more than 2 bus master channels,
and made ide_adapter aware of 3rd and 4th channel when calculating bus master dma address.
Fixed bus master DMA support in legacy_sata driver for tertiary and quaternary channel, channel 3 and 4
were using the DMA engine of primary and secondary channels (that might have destroyed your data).
Use PCI_address_io_mask instead of ~PCI_address_space (no functional change).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-01 20:31:14 +00:00
Marcus Overhagen
fc205e9717
added more debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 22:35:26 +00:00
Marcus Overhagen
65751aad16
Increased keypress detection time to 750ms. The old 50ms value never worked for me.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 22:30:41 +00:00
Marcus Overhagen
882123356b
Added more debugging code. The partition code appears to be using objects that have been destroyed.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 22:26:08 +00:00
Marcus Overhagen
37502d0f9f
added more debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 22:24:40 +00:00
Marcus Overhagen
61d902eaf9
improved debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 15:26:38 +00:00
Marcus Overhagen
518772739f
dump all found devices and partitions to serial debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 15:25:05 +00:00
Marcus Overhagen
4b4e08cc67
added more debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-25 14:52:49 +00:00
Marcus Overhagen
2e4a883509
Disabled setting Intel IDE mode to AHCI until the PCI manager can assign new resources
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-24 00:38:06 +00:00
Marcus Overhagen
434785951a
better debug output during device scanning
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-24 00:36:07 +00:00
Marcus Overhagen
fbdeb12ca0
Properly restore IRQ setting for JMicron PATA function.
...
No longer reconfigure JMB360 and JMB362, those have no PATA function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-23 23:22:54 +00:00
Marcus Overhagen
edfb3c00bc
disabled some debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-23 22:21:25 +00:00
Marcus Overhagen
b53df1b383
Although this should simply enable IO decoding and bus master
...
functionality when not set by bios, it currently crashes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-19 22:22:23 +00:00
Marcus Overhagen
5aa9034e50
Moved masking of PCI ressource bits into a single place.
...
Improved debug output and error reporting for I/O and interrupts resources.
Init of ISA IDE or PCI IDE driver can now be seen in debug output, too.
Verified that both still work with Vmware
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-19 21:33:30 +00:00
Marcus Overhagen
35f6af0388
PCI bus enumeration shouldn't be required on x86, thus enable it only for PPC an M68k
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-16 22:49:45 +00:00
Marcus Overhagen
39ee19ec0c
preserve IRQ when splitting Jmicron devices
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-16 22:15:46 +00:00
Marcus Overhagen
b571493666
drop into debugger when things go wrong
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-10 22:04:34 +00:00
Marcus Overhagen
91b75ef2fd
gcc4 build fix
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-24 11:20:38 +00:00
Marcus Overhagen
27367cc308
Workaround for ICH6M: ports implemented mask 0 is no longer an error.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 19:14:46 +00:00
Marcus Overhagen
3c374980b5
improved debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 19:12:37 +00:00
Marcus Overhagen
f668d91b37
This hopefully stops BPoligon from corrupting memory.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 21:23:04 +00:00
Marcus Overhagen
aee1388ada
improved debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 19:15:12 +00:00
Marcus Overhagen
68cbf40298
Switch Intel AHCI controller from IDE into AHCI mode.
...
Clears BAR5 on ICH8 and ICH9.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:59:29 +00:00
Marcus Overhagen
f41613d5b2
Removed non-AHCI id. Reverts bugreport #1599 change.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:55:57 +00:00
Marcus Overhagen
f53094e7ea
fail gracefully when base address register or irq hasn't been assigned.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:41:24 +00:00
Marcus Overhagen
79844706c2
Propagate is-ATAPI restriction to the SCSI bus manager.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 17:47:57 +00:00
Marcus Overhagen
117c680d90
Warn when lun is not 0. Might be needed for SATA PM support.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 16:49:39 +00:00
Marcus Overhagen
8d722116c2
Enable SATA ports 5 and 6 on Intel ICH8 and ICH9 based
...
systems, and possibly enable ports 7 and 8 in the future.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 16:25:49 +00:00
Marcus Overhagen
65621982c9
New PCI quirk/fixup support.
...
The Jmicron AHCI controller has a mode that combines IDE and AHCI functionality
into a single PCI device at function 0. This happens when the controller is set
in the BIOS to "basic" or "IDE" mode (but not in "RAID" or "AHCI" mode).
To avoid needing two drivers to handle a single PCI device, we switch to the
multifunction (split device) AHCI mode. This will set PCI device at function 0
to AHCI, and PCI device at function 1 to IDE controller.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 15:51:40 +00:00
Marcus Overhagen
270d4ee0ec
disabled most debug output, this makes the driver useable
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 16:36:59 +00:00
Marcus Overhagen
8c8d63ee00
added more device IDs
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 15:49:55 +00:00
Marcus Overhagen
88d9b383f5
added more IDs, removed Intel IDE mode ID due to possible collision with a physical PATA interface
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 20:16:11 +00:00
Marcus Overhagen
2f28a3f623
Added PCI ids from Freebsd, Netbsd and Openbsd pcidevs files.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 17:57:09 +00:00
Marcus Overhagen
83447512ed
Changed device detection. The driver now first uses device and vendor id to check
...
for devices. This allows using devices that are in IDE compatibility mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 16:05:23 +00:00
Marcus Overhagen
c134c7b07c
disable some debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 10:28:24 +00:00
Marcus Overhagen
bfd9a59f77
This enable write support. The driver should be useable now.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 15:54:35 +00:00
Marcus Overhagen
a2a169feab
Improved interrupt handling
...
Removed DBC_I interrupt
Reduce debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 15:12:39 +00:00
Marcus Overhagen
ea44575a31
Cleanup, improved error handling, fix setting of DBC_I bit
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 14:02:04 +00:00
Marcus Overhagen
0845746bf7
Cleanup, device present detection improved.
...
Added support for non-48-bit LBA, added write support.
Proper error handling still missing, write support disabled for your protection.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 17:11:24 +00:00
Marcus Overhagen
55d356bd98
check for device presence before executing commands
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 12:14:45 +00:00
Marcus Overhagen
21b4398f6a
don't set the "clear on RX_OK" bits
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 00:34:09 +00:00
Marcus Overhagen
f5ea6b32a5
added debugging code
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 00:23:21 +00:00
Marcus Overhagen
6b8c1c2ad7
improved prd table handling
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 00:22:19 +00:00
Marcus Overhagen
2bf99ebdee
Added byte swapping of identify device strings.
...
Added capacity reporting.
Wait for interrupts to finish transfers.
Added lba 48-bit read support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 23:44:03 +00:00
Marcus Overhagen
ece77b379a
renamed SCSI_OP_TUR into SCSI_OP_TEST_UNIT_READY
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 21:30:53 +00:00
Marcus Overhagen
a79249de5b
add missing file
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 21:24:26 +00:00
Marcus Overhagen
2ae9d56421
added scatter gather prd table setup, implement scsi inquiry command and emulate test unit ready
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 21:22:25 +00:00
Marcus Overhagen
747c1927fd
removed conditional testing code
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 21:20:46 +00:00
Marcus Overhagen
91f867e016
added sg_memcpy to copy data into a scatter-gather table (inspired by IDE device manager)
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 21:19:14 +00:00
Marcus Overhagen
8ce98e44cc
convert files to new include file locations
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:53:42 +00:00
Marcus Overhagen
a1a086067d
cleanup
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:52:11 +00:00
Marcus Overhagen
41a3048db5
added missing include file (probably gcc4 only build fix)
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:51:31 +00:00
Marcus Overhagen
1e2722379a
splitting the file
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:19:08 +00:00
Marcus Overhagen
641e015e6e
this header should be private
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:08:52 +00:00
Marcus Overhagen
178bce195a
this header should be private
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:07:23 +00:00
Marcus Overhagen
4ecfa05eb3
this header should be private
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:06:24 +00:00
Marcus Overhagen
5451eb688b
this header should be private
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:05:55 +00:00
Marcus Overhagen
7d4093aa23
this header should be private
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:04:05 +00:00
Marcus Overhagen
2745621c91
use defines from PCI.h
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 13:50:48 +00:00
Marcus Overhagen
5aa7b7b6da
Fix broken build and the compiler warning "enumeral mismatch in conditional expression".
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 13:33:47 +00:00
Marcus Overhagen
20c8bc80d5
The Jmicron AHCI controller on my machine is always in PATA emulation mode,
...
despite using the "AHCI native" setting in the BIOS.
Added switching to AHCI mode during init, this makes it work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 18:55:29 +00:00
Marcus Overhagen
63f9ffef37
make sure PCI command register is setup correctly
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 18:09:42 +00:00
Marcus Overhagen
4af29ec0bd
Implemented a identify device command for further testing, works on Intel, doesn't work on Jmicron.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 21:33:15 +00:00
Marcus Overhagen
2c76601709
Cleanup of hard reset, works on Intel, doesn't work on Jmicron.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 15:37:56 +00:00
Marcus Overhagen
c32beda5c4
start dma later, reduce timeouts
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 22:42:24 +00:00
Marcus Overhagen
fab4e5b126
oops
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 21:39:18 +00:00
Marcus Overhagen
de372c5c6b
wait for phy communication
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 21:38:21 +00:00
Marcus Overhagen
22cf14cfbe
perform port reset and wait for devices to be detected
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 21:32:32 +00:00
Marcus Overhagen
be30f13184
fixed wrong port definition
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 19:08:22 +00:00
Marcus Overhagen
8961bec039
try to activate link and spin up the device
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 09:24:06 +00:00
Marcus Overhagen
cb8be29457
Start and stop DMA engine and FIS receive, enable port interrupts.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-22 23:43:25 +00:00
Marcus Overhagen
c542d2bbf1
Fixed memory allocation and field alignment.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-22 22:09:58 +00:00
Marcus Overhagen
633990282e
Setup command list, command table, FIS and PRDT pointers.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-19 20:21:31 +00:00
Marcus Overhagen
9382f57691
correct port number handling
...
allocate memory for command list and fis
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-11 22:09:13 +00:00
Marcus Overhagen
23c7bf9da2
enable interrupts
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 20:49:07 +00:00
Marcus Overhagen
25f926d8e4
forward scsi request to the ports
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 20:26:07 +00:00
Marcus Overhagen
4f733fe93b
added Interrupt handling framework
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 19:54:45 +00:00
Marcus Overhagen
3d41648479
implemented controller reset and AHCI enable, init a port object for each implemented device port
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 18:51:57 +00:00