5182 Commits

Author SHA1 Message Date
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
Axel Dörfler
d2df03947e * init_first_data_node() did not always set tail_space correctly, leading to
potential data corruption. This fixes bug #1388.
* get_node_at_offset() would return a node too early in the list if the offset
  fell on a node boundary - didn't cause any actual harm, though. 
* append_size(): renamed variable tailSpace to previousTailSpace to make
  it clearer.
* Improved debug output for duplicate_buffer() and clone_buffer().
* Debug output is now prepended by the thread ID.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-06 16:58:50 +00:00
Salvatore Benedetto
d98bdb30bc * Started working on the finisher thread
* Added some TRACE calls in the _InterruptHandler


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-06 14:34:22 +00:00
Jérôme Duval
de5c8292ae fix gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 16:10:39 +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
Jérôme Duval
e470a074e1 added some more support for Audigy 2, untested
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 14:18:10 +00:00
Axel Dörfler
4547914087 * TCP must not lock the endpoint's lock in _TimeWaitTimer() - it will deadlock
with its destructor when the socket is deleted. This effectively stopped all
  network timers from working. This will not only fix bug #1693, but also many
  other networking problems I've seen so far.
* Minor cleanup (mostly line breaks, strange indenting and superfluous
  parentheses).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 13:45:31 +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
Axel Dörfler
5c3cf26310 Got rid of DeleteSocket().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-03 19:55:19 +00:00
Axel Dörfler
c37090b4f1 It seems the RTL 8167 chip works with our 8169 driver unchanged, even though I might just got
lucky.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-03 17:54:29 +00:00
Axel Dörfler
c88e5e410c * Added support for the G33 line of chips: mode setting and acceleration is working fine AFAICT.
* Implemented mapping the GTT area for i9xx chips other than the i965. This should also fix the
  driver working with these chips at all.
* The memory used by the driver now take the GTT area into account - before the GTT could be
  overwritten theoretically...
* Added fix for some i965 quirks from the X driver.
* Added some overlay definitions for the i965.
* Started support for G33 overlay (not complete yet).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-02 18:44:39 +00:00
François Revol
50a57aafa0 Typos
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-02 01:37:02 +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
Michael Lotz
f8e6b29ada Also clear the pci_address_space bit from the bus_master_base. Again might help on bug #1683.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-01 14:36:51 +00:00
Michael Lotz
576bb2455b Since r23142 the ide_adapter does not clear the PCI_address_space bit when detecting a channel. Drivers that use the ide_adapter therefore have to do that themselfs, which broke legacy_sata (probably this is also the case for the promise_tx2 driver). I investigated this as it broke my attempt of a it8211 driver too. This might fix bug #1683 but I cannot test that. Also cleaned out some space indent in that file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-01 12:56:45 +00:00
Michael Pfeiffer
b458d96afb Check correct capability flags.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-30 10:32:27 +00:00
Michael Pfeiffer
5d632c2aba - Fixed HW cursor issues:
- in order to set cursor position SVGA_CURSOR_ON_SHOW has to be written to register SVGA_REG_CURSOR_ON. 
  - do not use alpha cursor because it does not support inverting of source pixels.
- Fixed wrong usage of if-statement inside switch-statement
- Sync at end of SCREEN_TO_SCREEN_BLIT so that app_server does not write to frame buffer while accelerated operation is still running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-30 10:06:46 +00:00
Salvatore Benedetto
e78f31ebbe * Partially implemented interrupt handler routine
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-27 22:26:29 +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
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
Michael Lotz
9e0b9fbda5 * Fix the mem driver to not always return invalid argument
* Cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-18 18:48:50 +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
Axel Dörfler
120453cdd0 Forgot to add the SWI taskqueues - this should fix #1668.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-16 19:42:26 +00:00
Axel Dörfler
1607b8e503 * Added Broadcom BCM570x driver from FreeBSD (bge). Does not compile yet, needs
a bit more work on the compatibility layer.
* Added nVidia nForce MCP driver (nfe) from FreeBSD. Compiles and might even
  work - please test. It would also be nice to know if your PHY is detected
  correctly (see syslog output).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-16 10:56:30 +00:00
Axel Dörfler
81abd45c3e There was no space when the buffer was completely empty...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-13 19:27:05 +00:00
Axel Dörfler
b879372352 Added the timeout to QueueCommand::MakeSpace() as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-13 15:44:41 +00:00
Axel Dörfler
8818c50507 * Made QueueCommands::Write() and MakeSpace() public.
* Implemented MakeSpace() (not yet tested).
* Changed intel_wait_engine_idle() to spin() between reads and to timeout
  after 1 second of waiting (could probably be done way earlier).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-13 14:56:28 +00:00
Stephan Aßmus
216310852f * I think I needed this change to compile this for ZETA
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-12 21:55:40 +00:00
Jérôme Duval
e9edc48ddf fixes misuses of snooze()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-11 16:56:17 +00:00
Stefano Ceccherini
d246d9be88 Some old changes I forgot to commit... BInputServerDevice::InitCheck()
now checks if the fOwner allocation went fine (and returns B_NO_MEMORY 
in case it didn't). Since it can fail, inherited classes should call it 
as well (I modified MouseInputDevice's and KeyboardInputDevice's 
versions for now)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-10 21:20:25 +00:00
Axel Dörfler
7825641a7b Now clears the frame buffer before setting the mode; at least when testing,
one sometimes could still see previous contents of the screen during boot up
for some time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-10 18:42:14 +00:00
Michael Lotz
7846435ed2 Use a more generous snooze time when waiting for the initial explore to complete.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-09 22:22:45 +00:00
Michael Lotz
1a802bca9d * Use the rescan function when compiled for Haiku
* Move waiting for the first explore to complete
* Small cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-09 20:42:47 +00:00
Axel Dörfler
2c0729ea2d * Turns out the 3com driver wasn't picked up after my changes, but the marvell_yukon driver
worked flawlessly this one time... (I got almost 10 MB/s with that one, now 7.5 MB/s with
  the 3com driver)
* We need to acknowledge the interrupt in the handler, because else, the interrupt continues
  to fire after the PIC interrupt is acknowledged by the kernel.
* It also helps a lot to turn off the interrupts on the device while xl_intr() is handling
  the interrupt.
* When the slow handler is running, we now set the new "handling" field in the internal
  interrupt handler which will not invoke the scheduler then (but only signals a handled
  interrupt).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 19:38:51 +00:00