Commit Graph
100 Commits
Author SHA1 Message Date
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
Marcus Overhagen 9815383e54 a class for the SATA ports
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 18:51:03 +00:00
Marcus Overhagen 105f622310 print proper values for zero-based numbers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 16:52:46 +00:00
Marcus Overhagen 093a713df2 map registers and print some information
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 14:29:10 +00:00
Marcus Overhagen 1a941c2e04 added more definitions from specification
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 14:28:47 +00:00
Marcus Overhagen 06c88385e8 copied
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 12:40:39 +00:00
Marcus Overhagen 036a8857a6 added a workaround to prevent loading the driver multiple times for the same device
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-28 21:10:39 +00:00
Marcus Overhagen 5461952df6 improved debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-27 22:02:28 +00:00
Marcus Overhagen fc002ebb35 print PCI vendor and device ID
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 21:26:16 +00:00
Marcus Overhagen e63ca93e6a compile fix for gcc 2.95
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 21:19:52 +00:00
Marcus Overhagen 83a2d4db1a make sure the request failes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 20:53:35 +00:00
Marcus Overhagen 48a55608e6 added a completely broken way to get the pci_device
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 20:45:59 +00:00
Marcus Overhagen 9f8f7442f3 pci_device can't be made static, it identifies the individual controller PCI device
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 20:28:30 +00:00
Marcus Overhagen a53e060c17 set scsi target id maximum to 33 (32 devices + controller) for ahci controller
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 19:59:12 +00:00
Marcus Overhagen 402a4a4e7b Set scsi target id limit to 16, was previously hardcoded to 2. Add a node attribute to allow overriding this value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 19:57:51 +00:00
Marcus Overhagen ddf188703a Moved PCI access code, but the compiler refuses to convert 'device_node_info*' to 'pci_device_info*' in argument passing...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 19:19:57 +00:00
Marcus Overhagen 21255d1fc7 moved controller specific functionality into it's own class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 19:06:14 +00:00
Marcus Overhagen 2210148f94 compile the sim as C++
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 16:57:31 +00:00
Marcus Overhagen c42a837e85 scsi_sim_cookie is just another name for void *
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 16:55:45 +00:00
Marcus Overhagen 64ceb67ba3 even more debugging
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 16:49:53 +00:00
Marcus Overhagen 8eca44fa7e added more debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 16:04:10 +00:00
Marcus Overhagen 1bb5a6b3d3 driver interface for ahci
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 20:11:32 +00:00
Marcus Overhagen 20c4c9e77e Don't trust the user, and enforce the iovec limit.
Also check for negative positions smaller -1
(as -1 means using current address).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 19:07:10 +00:00
Marcus Overhagen e9b8c538b0 increase history size to a useful value
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 18:46:01 +00:00
Marcus Overhagen 31cf24c13e debugging instrumentation for Cortex lockup bug (some weeks old already)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 18:44:55 +00:00
Marcus Overhagen 07580bfab4 purged
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 21:56:44 +00:00
Marcus Overhagen f6ed9e7b0a remove ide/ahci and put reuseable stuff into scsi/ahci
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 21:19:06 +00:00
Marcus Overhagen d1dc70fa5f FD_CLOEXEC is a flag, other bits may be set
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-05 13:56:01 +00:00
Marcus Overhagen 43fdea7d52 writev test application. I expected this to crash haiku, but it hasn't
so far.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-05 13:24:52 +00:00
Marcus Overhagen 4e7050cd09 Allow thread priority setting from inside kdl. Right now, a
single priority 12 thread can make the whole GUI appear frozen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-29 01:30:59 +00:00
Marcus Overhagen 3ab19002fe Added "suspend", "resume" and "drop" commands to kernel debugger.
It's now possible to debug amok-running user threads by 
suspending or resuming them, as well as dropping them into 
the userland-debugger from inside kdl.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-29 01:06:36 +00:00
Marcus Overhagen 8f5e97473f build fix (rebuidling MessagingService.o wasn't possible after this jamfile was changed in r21715)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-29 00:51:36 +00:00
Marcus Overhagen 2e53897578 kernel debugger support for suspending a thread
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-29 00:24:54 +00:00
Marcus Overhagen 71ec907eaa Build fix for GCC 4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-28 22:36:02 +00:00
Marcus Overhagen ba8c1ff561 Make partition access saver. attempts to read or write outside of a partition
now fail with B_BAD_VALUE. It's also no longer possible to overwrite the begin
of a partition by specifying a negative position, as negative positions are no
longer translated into 0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-25 22:30:59 +00:00
Marcus Overhagen 85b3a71e69 Check the pos parameter before calling into kernel.
This does prevent the unwanted side effect of reading or writing at the current 
file pointer position when the functions are called with a -1 position.
It's save to do this check in user space, because calling the _kern_* function
with -1 pos has the same effect as calling the normal read/write posix functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-25 22:10:56 +00:00
Marcus Overhagen ad1d8116a6 compile fix, header file for strcmp was missing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:37:11 +00:00
Marcus Overhagen c41c3f9bca gcc4 compile fix, but C++ predicates are ugly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:36:11 +00:00
Marcus Overhagen 896aa538d4 gcc4 fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:02:12 +00:00
Marcus Overhagen 005b9e7acd spolling fex
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 16:42:46 +00:00
Marcus Overhagen ca39427c4e cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 16:39:38 +00:00
Marcus Overhagen cbd5957241 disable the per frame debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-23 23:36:47 +00:00
Marcus Overhagen 935522a3ae better error handling
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-23 23:35:26 +00:00
Marcus Overhagen be5f5c2d14 ck a dull boy All work and no play makes Jack a dull boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a dull
boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a 
dull boy. All work and no play makes Jack a


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-23 23:17:57 +00:00
Marcus Overhagen 84371c1446 revert the part of the previous checkin that completely broke video seeking (however, the current state is hardly working at all)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 21:02:50 +00:00
Marcus Overhagen beb89275f5 Synchronize even at begin of the file, some avi files contain garbage at the beginning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 20:14:00 +00:00
Marcus Overhagen 56853d6ff1 Use separate waiting semaphores for audio and video, later to be used for seeking
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 20:12:21 +00:00
Marcus Overhagen d85ccec96a This fixes most audio seeking problems with AVI files, but
still needs some work. The sync code was never executed, as
if (len < chunkSize) (len = signed, chunkSize = unsigned) 
was compiled into an unsigned compare and thus always false
for len=-1.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 19:38:59 +00:00
Marcus Overhagen 2087d23365 always sync to frame begin after a seek
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 15:54:08 +00:00
Marcus Overhagen 6c1def1920 truncate chunks first and then check for zero size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 12:55:46 +00:00
Marcus Overhagen f4eb963104 Added an additional check before calculating maxsize to avoid overflows.
Ignore empty 'strn' chunks instead of treating them as an error. This
also fixes loading of the "The party at the end of the earth.divx" file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 12:44:33 +00:00
Marcus Overhagen 1b842f776a Moved some functionality from avi_reader into OpenDMLParser.
Added basic seeking support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 20:44:45 +00:00
Marcus Overhagen b991dadc45 small coding style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 16:12:57 +00:00
Marcus Overhagen 59ab99e7c6 Preparation of seek support. Put AVI index handling into different files. Preload the full idx1 (standard) index during file opening.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-10 23:13:28 +00:00
Marcus Overhagen 27cc6d1f0f check for scale==0
parse strn chunk
fix spelling errors
prepare for INFO list parsing


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-07 22:03:11 +00:00
Marcus Overhagen f44764386f code cleanup: replaced bool results with status_t
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-07 20:15:34 +00:00