Commit Graph

9466 Commits

Author SHA1 Message Date
Alexander von Gluck IV
c3cfda776d * don't trample PCI rom config
* better error checking
* the driver can now locate the AtomBIOS on real hw!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 21:42:28 +00:00
Alexander von Gluck IV
77a64ff2c8 * use new PCI.h rom flags
* clean up tracing
* remove infinite loop :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 20:46:26 +00:00
Alexander von Gluck IV
5cf44dda39 * move obtaining / copying the vga bios into the driver.
* add missing r500 header
* replace r600 headers with newer one from kernel


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 18:16:10 +00:00
Alexander von Gluck IV
1d5cfc649a * move bios functions into bios.cpp
* implement various methods to pull AtomBIOS from card
* add some missing registers to headers from linux drm driver


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 03:02:57 +00:00
Alexander von Gluck IV
8992f603ed * var typo fix in driver rom shared area creation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 23:13:45 +00:00
Alexander von Gluck IV
81cd663666 * refactor accelerant debugging
* clone VGA rom shared area in accelerant
* enable access, and make a copy of the VGA bios
* give malloc'ed VGA bios pointer to AtomBIOS parser
* Still invalid BIOS magic
* TODO : Move atomBIOS pointer and reorganize some stuff


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 23:11:15 +00:00
Alexander von Gluck IV
39b96f9e92 * Rename PCI rom shared area.. isn't AtomBios until we verify it is
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:16:23 +00:00
Alexander von Gluck IV
32e7d18a75 * Quick style cleanup
* Check for failed malloc in atom_parse


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 18:14:54 +00:00
Alexander von Gluck IV
22582a297c * Map AtomBIOS specified by PCI rom into virtual memory
* Point AtomBIOS to PCI rom mapped in memory
* Things no longer crash, but we get an Invalid BIOS Magic error
  in the logs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 18:05:52 +00:00
Alexander von Gluck IV
4034e8950e * Fix Jamfile to properly reference external source file.
(thanks DeadYak!)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 16:15:32 +00:00
Alexander von Gluck IV
ef2909a10f * Move bios_info into shared info
* Pull pci_rom base address from pci subsystem
* Point AtomBIOS parser to pci rom address
  to set up and malloc atom_context
* This is untested! Don't run on an
  expensive card until I test it on a cheaper
  one!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 14:58:56 +00:00
Alexander von Gluck IV
5136067474 * Initial work on bios_init for setting up AtomBIOS parser
* Refactor AtomBIOS parser to use non-linux-kernel calls
  (normally I would keep it as-is and do wrappers, but the
  AtomBIOS parser has been rewritten from scratch twice
  by its creator  in the last 5 years.. so eh.
* Refactor AtomBIOS parser to be more haiku-like stylewise


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 06:07:49 +00:00
Alexander von Gluck IV
b375e9cd65 * Program DATA_FORMAT to non-interlaced
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 01:07:10 +00:00
Alexander von Gluck IV
cc9e8e94d4 * Add card_info struct used by AtomBIOS parser
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 22:56:18 +00:00
Alexander von Gluck IV
2df3def596 * Remove old legacy internal AtomBIOS parser
* Import "new" AMD AtomBios Parser (aka AMD KGrids)
* Add a new global storage struct for BIOS info
  (ex. location, size, etc)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 22:41:04 +00:00
Adrien Destugues
ab7cbe31c2 Always set the palette registers even if the head is not connected. This will not do anything bad (if the display is disabled, it has no
effect), and since the test was a bit too constraining (I have an LVDS panel on head A), it would prevent setting colors for the CMAP modes.

This finally gets the \n demo working from the original binary from BeOS, without any change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-31 18:11:26 +00:00
Alexander von Gluck IV
ef3a7658fa bug fix, POWER_SHUTDOWN vs POWER_ON
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-31 16:48:59 +00:00
Alexander von Gluck IV
0e3075fb4d * Provide device chipset in accelerant_device_info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-30 18:25:08 +00:00
Alexander von Gluck IV
6ab8261b98 * Pass device name into shared info
* Refactor MCFBsetup to be a little simpler for now
* Implement radeon accelerant_device_info for screen preflet
* Re-add CRT Power calls to display code.
* Disable blanking setting for now... just can't figure out
  what AMD wants for this.
* Remove some un-needed locking in the scaling code
* Be sure to disable VGA when set_display_mode is called
* Refactor mode setting code to loop over all possible displays
  and set the provided mode on the attached ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-30 17:45:14 +00:00
Jérôme Duval
d6e4f54f2d Patch by Jian Chiang as part of his GSoc Project (coding style fixes by myself):
* xhci controller start operation
* command ring and event ring initialization
* No-Op Command test and real xhci irq handle
* xhci root hub support
* add Super Speed enumeration and xhci_rh.cpp into jamfile


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 10:06:34 +00:00
Alexander von Gluck IV
3b1fd3270e * Remove return from testing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 06:12:01 +00:00
Alexander von Gluck IV
eb02753779 * Little cleanup
* Add missing Idle call for connectors
* Reformulate blanking.. this should match what the
  register is after the GTF vesa call
* Set FrameBuffer to card internal address


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 06:10:52 +00:00
Alexander von Gluck IV
e1b9d6e674 * Add LVDS handling for TMDSB
* Fix crash situation if no monitors detected
* Assume TMDSB if no monitors sensed (temporary)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 03:32:01 +00:00
Alexander von Gluck IV
a956672a33 * Fix a few spots where we were checking for NULL unneededly
* Fix a few spots where we *should* of been checking for NULL
  to prevent referencing a null pointer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-27 02:26:49 +00:00
Alexander von Gluck IV
13e2521356 * Fix free NULL check style violations
* Remove linux style EINVAL


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-27 01:42:43 +00:00
Clemens Zeidler
6a0ed7da53 Move S&T back into the app server.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 22:18:55 +00:00
Alexander von Gluck IV
659fefbd43 * Insert missing case break, CID 10659
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 18:36:49 +00:00
Alexander von Gluck IV
271ed0f390 * Fix improper sizeof, CID 10628
* Improve malloc check to look for NULL, CID 10698
* Remove unused size_t


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 18:27:39 +00:00
Clemens Zeidler
7c5525e834 Only allow windows with a normal thick border to S&T. Fixes #6647.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 04:37:27 +00:00
Clemens Zeidler
837ad4a36f Activate only the top window in a group and not all windows. Fixes #6652 and #6616.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 22:26:44 +00:00
Alexander von Gluck IV
0bb924af97 * Add 4250, 4290 PCIIDs as per #7871
* Fix a few tabs to make things consistent


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 17:39:20 +00:00
Clemens Zeidler
f4f30311aa Cleanup app server directory a bit by creating a font and a decorator sub folder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 04:31:54 +00:00
Clemens Zeidler
bdfe478e9d Fix the SATDecorator. Much of the stacking part is handled by the DefaultDecorator now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 01:10:02 +00:00
François Revol
811ac4d502 No point in checking the new device for NULL if it's not nothrow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 18:27:05 +00:00
Jérôme Duval
0990a31aa2 fix comments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 16:34:41 +00:00
Alexander von Gluck IV
422a49d2f8 * Add TMDS Set and Power controls
* Call TMDS controls if the monitor is TMDS connected


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-23 14:38:48 +00:00
Alexander von Gluck IV
9e26987aff * Tab fix
* No functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-23 01:32:25 +00:00
Alexander von Gluck IV
d17bf8d4fb * Add fancy detected monitors debug function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-23 01:27:59 +00:00
Alexander von Gluck IV
f09dc6d975 * Small bit of comment cleanup
* Rename crt_info display_info


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-22 05:14:39 +00:00
Alexander von Gluck IV
95e1d7e828 * Large refactoring of display detection and storage
* Create new display.c/h for display management
* Rename global gCRT to gDisplay
* Add CRT connection type into gDisplay
* Add CRT connection index into gDisplay
* Refactor registers for each display into gDisplay via regs
* We now shouldn't freak out too badly on multi-monitors


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-22 04:59:07 +00:00
Alexander von Gluck IV
787929837b * Add AtomBIOS memory controller callbacks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-22 01:24:26 +00:00
Axel Dörfler
69b1511d01 * Don't crash on invalid EDID modes.
* This might fix #7847, as well as #7510.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 21:54:27 +00:00
Axel Dörfler
d3d53515a9 * Add the width, and height to fill_display_mode(). This should help with #7751
this time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 18:16:58 +00:00
Axel Dörfler
c97f0d47c1 * Coding style cleanup.
* Removed excessive debug output, and values that aren't needed for the timing
  computation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 16:59:50 +00:00
Adrien Destugues
cd4db9ee5d Update usb-floppy icon with a fixed one by jstressman (tweaks the persective and overall look of the icon). Thanks !
Fixes #6677.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 11:41:00 +00:00
Axel Dörfler
b2a7732258 * Don't crash if initialModes is NULL, but the count is not.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 20:37:35 +00:00
Bruno G. Albuquerque
5eed3d9892 Fix crash in VESA accelerant.
- Keep track of the correct number of initial modes available.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 13:59:06 +00:00
Adrien Destugues
eadad13a4f * Fix one more off-by-one error in the interpolating resampler
* Since it now doesn't crash anymore; set it as default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 11:18:54 +00:00
Adrien Destugues
61215fd53d fix bugs in interpolating resampler :
* I got the downsampling version completely wrong. It should now be much better.
 * A small bug in the delta calculation sometimes caused an off-by-one read to the source and a crash of the media add-on server

Effect of this resampler can be heard very clearly using the following setup in Cortex :
 * Demo Audio producer producing a sinewave at any frequency (sampling rate is hardcoded at 44100Hz)
 * Audio output set to 48000 Hz
 * system mixer in between
select either resampler in the mixer and you'll hear the difference immediately.

Should finally fix #1351.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 09:15:21 +00:00
Axel Dörfler
2ff8a6237a * Fixed coding style violation introduced with the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-14 21:30:38 +00:00
Axel Dörfler
0ba65dce69 * Added TODOs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-14 21:23:47 +00:00
Axel Dörfler
d8c71f47c3 * Only add the VESA modes if there is no EDID available.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-14 21:22:53 +00:00
Axel Dörfler
f7d98b0923 * The VESA accelerant now always makes sure that all supported resolutions are
added to the mode list (in 60 Hz, but that doesn't really matter).
* It does this by iterating over the modes found, and computes the
  display_timings from them using the GTF code.
* This should help with one of the problems of ticket #7751.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-13 23:28:33 +00:00
Axel Dörfler
95009aeeb0 * Imported Andy Ritger's GTF code in compute_display_timing.cpp, and mangled it
into a usable function - this has some coding style issues I did not care to
  fix.
* _AddBaseMode() now computes the mode in case it is not present in the list
  yet.
* This should help with bug #7787.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-13 23:26:26 +00:00
Axel Dörfler
429d0b8c0b * Fixed build.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-12 21:51:24 +00:00
Alexander von Gluck IV
84bcfa3d4b * Add mc.cpp for memory controller functions
* Remove read32MC as it doesn't apply to radeon cards >= r600
* Add tmds.cpp for tmds connected monitor management (current radeons
  only have TMDSA for the moment) still needs TDMSPower, etc.
* Add some MC calls to mode.cpp, causes KDL so commented out atm.
* Add command to idle all DACs (although POWER_RESET doesn't do
  anything on DACs, we should be consistent)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-12 20:14:31 +00:00
Alexander von Gluck IV
037bc8a188 * Lots of style cleanup on my code
* Remove some badly ported code in FlashBulkWrite


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 21:35:27 +00:00
Alexander von Gluck IV
ff2898e24a * Use haiku provided arch defines Axel pointed out
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 20:06:39 +00:00
Alexander von Gluck IV
b8d5c5cec2 * Some cleanup of some really bad style introduced by myself
* No functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 20:02:19 +00:00
Alexander von Gluck IV
3fe7883778 * remove superfluous parentheses as per Axel
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 18:46:37 +00:00
Alexander von Gluck IV
70d8929d63 * Wrap x86 asm in defines
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 18:05:46 +00:00
Alexander von Gluck IV
414b6dd98e DeadYak gave a better solution to r42407, simply typecast the defines as we don't want to modify the AMD radeon_hd register headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 17:59:36 +00:00
Alexander von Gluck IV
c59e093db8 wrap x86-only asm code in ifdef's to ensure radeon driver compiles on powerpc and other platforms
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 17:50:58 +00:00
Alexander von Gluck IV
5da2e46394 prevent radeon_hd enumeral mismatch on powerpc/gcc4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 17:28:14 +00:00
Siarzhuk Zharski
fca9893516 Just for porter's comfort: Original FreeBSD code snippet restored and moved under #ifndef __HAIKU__ section. That should make a hint during updating this file to upcoming releases of FreeBSD.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 11:44:10 +00:00
Axel Dörfler
af66203031 * Converted the hash used to the BOpenHashTable instead of khash - basically
just applied r38391 to the IPv6 code (no time to resolve the TODO, and put
  that into a shared class).
* Fixed failure on init handling.
* Not tested, but should work at least better than before, as the hashtable has
  never been initialized before...
* This closes bug #7795.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-09 13:28:51 +00:00
Siarzhuk Zharski
96b88da011 Local Haiku change, missed during update to FreeBSD 8.2 restored.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-09 09:39:58 +00:00
Alexander von Gluck IV
f2fe29a0db * Final (hopefully?) calculation for blank start/end
* Lets actually call PLLPower after PLLSet
* Improve screen blanking function
* Detect DAC/PLL to use separately from CRT id
* Add DACSense that senses displays on DACA/DACB
* Grab CRT in PLL code via gRegister crtid
* Set overscan to 0 for now
* Setting extended video modes now kinda works sometimes :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-09 05:23:51 +00:00
Siarzhuk Zharski
698b6790bc * Network driver for DEC/21143 and K° ("dc") ported from FreeBSD 8.2;
* Network drivers for 3com, ipro100, rtl8139 are updated from FreeBSD 8.2 Release branch;
* Some functions, defines and typedef required by updated and fresh ported FreeBSD
  drivers were added into freebsd_compat layer.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-08 23:00:38 +00:00
Alexander von Gluck IV
eb5c4b0745 * Style Cleanup
* Remove some un-needed test stuff
* Perform a little re-ordering
* Make scale corrections


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-08 04:25:21 +00:00
Alexander von Gluck IV
d97da786e1 * Refactor PLL legacy registers to be pllIndex aware
* Rename PLL register vars to more closely match AMD defines
* Small logic fixes
* Fix pretty large PLLControlTable bug in legacy set.
  Wasn't using output of PLLControlTable.
* Fix *REALLY* big bug in CRTCGrab.
  Using PLL2 value instead of PLL1 due to incorrect
  index offset of pllIndex.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-08 03:35:01 +00:00
Alexander von Gluck IV
b6c5f46896 * Add D2 GRPH update lock register to priv headers
* Add crtControl global register
* Add grphUpdate storage
* Do some logical reordering of register writes
* Correct crt final power-on checks
* Enhance tracing
* Disable PLL, it is needed but seems to completely break
  the modesetting resulting in black-screen-of-doom.
  (fixing PLL set/calibration is now priority one)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 22:24:17 +00:00
Clemens Zeidler
33dd44da71 Small leftover from my debug code. Return the correct status now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 21:14:11 +00:00
Clemens Zeidler
63bf94e273 The complete S&T group has an additional, surrounding magnetic border now. Fixes #7437.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 21:10:10 +00:00
Alexander von Gluck IV
4c330e8cfd small order of operations fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 03:10:32 +00:00
Michael Lotz
4cde5cc228 * Fix binding to link level sockets. The bound type was constructed using the
sdl_e_type in network byte order, causing such a socket not to receive
  anything.
  When working around that by not using htons() on bind, sending would then fail
  on such a socket because the byte order is actually required to be swapped
  there.
* Extend the comment for the B_NET_FRAME_TYPE macro to document that the input
  types are supposed to be in host byte order to avoid future confusion.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-01 20:26:37 +00:00
Alexander von Gluck IV
26e18b1f89 gcc2 buildfix; few style adjustments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-30 21:57:39 +00:00
Clemens Zeidler
9879c0bc8b Forgot this one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-29 23:40:33 +00:00
Clemens Zeidler
83c3aba207 More localization support by taos, thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-29 22:37:44 +00:00
Clemens Zeidler
531eb250f7 Missed this one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 23:43:34 +00:00
Clemens Zeidler
aba82385f1 Patch by taos. Adds rdef files to make localization working.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 23:42:37 +00:00
Rene Gollent
43ad8a3327 Should have been part of r42335.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 20:19:41 +00:00
Rene Gollent
124cdd4f57 Applied patch by Gerald Zajac: Adds hardware overlay support to the ATI
mach64/Rage driver. Resolves #5314. Thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 19:13:49 +00:00
Siarzhuk Zharski
4b722b91db Proper handling of middle mouse event on capFourButtons and capMiddleButton
capable touchpads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-27 18:19:45 +00:00
Michael Lotz
d535a2bec8 While there are USE_SSL checks in the code, provide the corresponding Jamfile
rules. Otherwise the IMAP add-on is always built without SSL support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-26 22:30:36 +00:00
Siarzhuk Zharski
7f4deb4400 * Implemented PS2_CMD_RESEND command handlig;
* Workaround for touchpad reset timeouts on some HP/Compaq KBCs. Looks like such 
  KBC marks the mouse reset request (xFF) as correctly sent (by xFA answer) but 
  does not wait enough time for the answer from touchpad. So complete answer 
  finally contains xFE xAA x00 bytes. The workaround detects this xFE xAA answer
  and issues the RESEND (xFE) request to touchpad. This forces touchpad to resend
  the last packet of data (xAA x00) that can be processed normally by the host;

* Fix for handling passthrough_command() call. The parent device was disabled at
  start of processing command and was not re-enabled back in case any error return.
  This fixes the touchpad "pass-through" feature handling on the same HP/Compaq HW.
  This KBC has the "pass-through" capability marked ON but cannot handle it as
  currently implemented - there is no answer from corresponding port. The parent 
  device stay in disabled state after this;

* Fix ps2_dev_publish() for handling passthrough devices (parent_dev != NULL)
  This workaround postpone the publishing such device until the parent device
  finishes it's opening and set the PS2_ENABLED_FALG. It prevent from mixing 
  the Synaptics multi-command sequences from synaptics_open() and ps2_dev_publish()
  routines and failing both initializations;

Fixes #2867 #3594 #4315



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-26 19:38:26 +00:00
Siarzhuk Zharski
6b61d62e98 Suppress the keyboard and AUX interrupts during sending
PS/2 active multiplexing activation sequence. This prevent from
IRQ storm on some controllers. Fixes #7635.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-26 18:04:29 +00:00
Jérôme Duval
aaebe6a96f merged changes from 8.2 FreeBSD release for ale, alc and ae drivers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-25 11:26:35 +00:00
Axel Dörfler
9674328ebe * Minor style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-24 16:20:46 +00:00
Michael Lotz
80ad7275a9 Fix the build of the pcnet driver. It should probably be updated to the current
FreeBSD version though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-24 15:19:05 +00:00
Clemens Zeidler
8a26696cbf Patch by mt who also puts the Japanese mail translation into HTA. Thanks! Closes #7689.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-23 19:59:00 +00:00
Alexander von Gluck IV
a1d3b4af1e * Add missing DAC code for >= r620
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-22 22:09:44 +00:00
Alexander von Gluck IV
e3e0bb558a finish off DACPower modes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-22 21:17:56 +00:00
Clemens Zeidler
839429d5eb - Use soft inequality constraints to describe the window max size. This means the max size of a window is only violated when it is really necessary. In this case the affected windows get a temporary sufficient large max size limit.
- When resizing a window the window size constraint stays soft when solving the layout. This makes sure that the layout constraints can be fulfilled. Fixes r41759.
- Some other refactoring.

S&T should work much better now. Sorry that I wasn't able to finish it before a3.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-22 05:22:04 +00:00
Clemens Zeidler
6a9178f51c Fix the build and put B_UTF8_ELLIPSIS into the B_TRANSLATE macro, my fault.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 21:23:07 +00:00
Clemens Zeidler
b2a55ebf98 Apply a nice patch from Taos, just some smaller fixes by myself.
Localize the mail add-ons.
The Japanese translation is attached to #7689. Please give a notice when it is in the translation system and the ticket can be closed.
Does the B_UTF8_ELLIPSIS comes into the B_TRANSLATE macro?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 21:09:11 +00:00
Jérôme Duval
c57f433713 fix the PPC build: don't use NULL for an int parameter, found by gcc 4.5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 17:02:44 +00:00
Axel Dörfler
21c22141b8 * Removed default_sent_directory(), and introduced
default_mail{_in|_out}_directory() methods in the BPrivate namespace.
* Used these methods in the inbound/outbound protocols.
* Moved WriteMessageFile() into the BPrivate namespace as well, and put its
  prototype into a new header MailPrivate.h along with the new directory
  getters.
* Removed the automatic copy to the sent directory again, and only have one
  directory for incoming mail. Incidentally, this fixed #7509, although the
  underlying filter restriction remains.
* Automatic whitespace cleanups, some style cleanups. Sorry for the mess.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-19 22:11:04 +00:00
Axel Dörfler
cffd2917a3 * Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-19 22:06:30 +00:00
Jérôme Duval
e53da92708 Part of patch from #6840:
* GCC 4.5 complains about switchs with cases not part of the window_look enum (see WindowPrivate.h).
* To keep them private, cast the enum to int before use in switchs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-19 18:13:21 +00:00
Jérôme Duval
1f5188bb43 Part of patch from #6840: GCC 4.5 complains about an out of bound access on version_descriptor, use the next field instead
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-19 18:05:22 +00:00
Axel Dörfler
f5971e6742 * Fixed excessive translation. Those are BMessage fields, and not supposed to
be translated!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-17 21:30:32 +00:00
Philippe Houdoin
6a80f55b25 Small changes resting on my working copy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 18:07:57 +00:00
Philippe Houdoin
45667a941b No space was made for Hat(s) value(s) in variable_joystick.
Would explain why hat shown by StickIt was always static neutral...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 16:01:32 +00:00
Alexander von Gluck IV
ab29dee1ed A few style fixes, no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 15:24:08 +00:00
Alexander von Gluck IV
6604b1b623 * Break DAC code into sperate source file
* Implement assigning DAC A/B to crt
* Clean up mode change code
* Still some pixel clock wierdness


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 14:39:07 +00:00
Alexander von Gluck IV
f7f3828178 pass device pciid through to accelerant
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 03:10:17 +00:00
Axel Dörfler
2ca6c9f1e4 * Removed extra snooze() for debugging purposes when publishing a device; this
directly reduces the time the mouse cursor is visible but cannot be moved
  yet. Based on a patch by Adek336 as part of ticket #917.
* Decreased the republishing snooze about a second, too.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-15 20:33:31 +00:00
Alexander von Gluck IV
d1d65a79cb * malloc an array of pointers to hold active crt info, mode, limits, etc.
Plan to move gRegister into the crt struct at some point.
* Few style fixes
* Added function to probe edid of attached monitors and populate CRT info
* Disable VGA control modifications temporarly while I hammer out some issues.
* Fix radeon card model checks (bitwise & is not |)
* Finally fix? blanking start / end calculations using porch
* Use mask for setting sync polarity
* Add overscan (8 pixels is default?)
* Disable PLLSet/Power for the moment as it seems to muck things up.
* is_mode_supported now validates if a mode line is with the monitors
  h/v sync frequencies (how does is_mode_supported know what crt the os wants?)
* PLL Write/Read don't actually use the PLL Write/Read functions (thanks AMD!)
* Added better PLL legacy (r600-r610) support
* Consistantly give no DCCG on legacy cards.
* Tracing!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-15 18:22:06 +00:00
Alexander von Gluck IV
b3ce8cd8ba small logic fix on my part, not properly handling usb drives with empty media. Potential fix to #7687
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-14 16:39:35 +00:00
Ingo Weinhold
dc2b8faba2 exit_debugger(): Only try to release the semaphore when no one holds the
scheduler lock. Otherwise we may deadlock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-14 12:48:06 +00:00
Ingo Weinhold
ec5cc81fa0 exit_debugger():
* Only try to cancel the a transfer, if sUseUSBKeyboard is set.
* Set the "_usbPipe" parameter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-14 12:46:40 +00:00
Michael Lotz
08c7202f8a * Add a termios member that stores the config across open/close cycles. This
allows the use of stty to configure the serial device and later using other
  commands with these settings still in place.
* Store incoming termios settings when they are set, restore the previous
  settings on open and apply the control modes to the device side as well.
* Only send the control to the system side tty cookie again. Doing it for both
  cookies was only done to configure the termios, which isn't necessary anymore.
* Remove fallbacks to c_{i|o}speed fields and always use c_cflag & CBAUD for the
  single speed setting we have.
* Remove some leftover control line state logic that doesn't apply anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-14 00:09:33 +00:00
Alexander von Gluck IV
aa2a6e33cb * Move to common MMIO function set to make card subsystem access easier
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 22:28:13 +00:00
Alexander von Gluck IV
d9e412b339 * Repair style issue using uintNN_t vs uintNN
* Make index numbering consistant (0-n vs 1-n)
* Add a little more tracing to PLLCalibrate because
  we were missing a failure situation


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 21:40:22 +00:00
Michael Lotz
77a5d93e96 * Remove the output thread again and write to the device in the write call. To
ensure that we don't block on the tty buffer, we chop up the data into blocks
  that are written into the tty and then the buffer is flushed to the device
  each time. This resolves the issue that a quick open/write/close would not
  actually send the data to the device as it would cancel the transfer before
  the output thread had a chance to run.
* Use the tty_close_cookie() call. Doing the close before waiting for the input
  thread ensures that it is woken up if it blocked on writing into the tty.
* Correct the type of the USB callback status and only try to clear a halt if
  the device was actually stalled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 21:33:55 +00:00
Michael Lotz
bd1aad8366 Add some more function return tracing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 20:46:42 +00:00
Michael Lotz
16c5a72847 * Seperate out the tty_close_cookie from tty_destory_cookie and make the former
available as a module function as well.
* Remove some unneeded resetting from tty_destroy_cookie.
* Move the public module functions to the public API section of the file and
  order them by their declaration order in the module info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 20:44:22 +00:00
Michael Lotz
224d969b1d * When determining the bit to be set for RTS/DTR there was a missing comparison
to op which would've caused a wrong line state to be set.
* Add some more allocation checks.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 17:54:59 +00:00
Alexander von Gluck IV
a604c04965 * Small style fix to Calibration diff var and PLLCRTCGrab stored var
* Repair incorrect DCCG operation at end of PLLSet


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 14:46:52 +00:00
Alexander von Gluck IV
babb12ed0e forgot to remove this, doesn't make sense to power the PLL down on accelerant unload
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 04:19:22 +00:00
Alexander von Gluck IV
e7e76b29e8 * Define default PLL ranges
* Add crtid to register struct
* Disable VGA mode on FrameBuffer set (enables extended mode setting)
* Disable blanking calculations and setting more gracefully via if 0
* Add a *large* amount of code to Set/Calculate/Calibrate PLL
* Disable PLL on removal of accel.
* Remove junk comments on overscan
* Enable pixel clock limit pulling
* write32AtMask style cleanup
* Rename ReadMC to be more consistant
  (I need to adjust naming for these MMIO calls)
* Implement read/write MC. (so many hardcoded oneoffs AMD)
* Implement write32PLLAtMask MMIO call


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 04:07:42 +00:00
Michael Lotz
7c865cf94d usb_floppy is for the most part a copy of usb_disk and should probably be merged
into it again (adding generic CBI support). It is so much of a copy even that it
still claimed to have the original 3 support descriptors while in fact it only
has one. Since the memory beyond that one support descriptor was probably just
zeros, making them complete wildcards usb_support_descriptor wise, this lead to
every single USB device being handed to the usb_floppy device added hook.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 02:15:48 +00:00
Ingo Weinhold
90ade5e298 * Added file_system_module_info::uninitialize() analogously to
partition_module_info::uninitialize().
* Implemented the hook for BFS.
* Implemented KFileSystem::Uninitialize().

Fixes failure to initialize a BFS initialized device with an intel partition
map.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 01:53:11 +00:00
Ingo Weinhold
0b7fe5cbe2 partition_module_info::uninitialize(): Added block size parameter for
convenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 01:38:03 +00:00
Ingo Weinhold
285f4cf441 * Added optional partition_module_info::uninitialize() hook. It is supposed to
destroy the partitioning system's on-disk structure.
* Adjusted the existing partitioning system implementations accordingly.
  Actually implemented the hook for the intel partitioning system.
* Added Uninitialize() method to KDiskSystem and KPartitioningSystem. The latter
  implements the method calling the new module hook.
* _user_uninitialize_partition(): Also let the disk system uninitialize the
  on-disk structure.

This fixes the failure to initialize a disk device with BFS, when it contains a
valid partition map with at least one partition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 01:27:13 +00:00
Ingo Weinhold
8bcc50c336 * Added arch_debug_blue_screen_try_getchar() and arch_debug_serial_try_getchar()
which don't wait for a character, but return -1 when no character is
  available ATM. Implemented correctly for x86 only.
* Changed the semantics of the debugger_module_info::debugger_getchar() hook.
  It is supposed to return immediately now.
* Adjusted usb_keyboard accordingly. Hacked UHCI's debug_process_transfer() to
  achieve that. It does now start, check, or cancel a transfer. Split
  UHCI::ProcessDebugTransfer() into StartDebugTransfer(), and
  CheckDebugTransfer() accordingly, and also added a CancelDebugTransfer().
  The latter seems to have issues. Michael, please have a look. I have no clue
  what I'm doing. :-)
* Adjusted kgetc() to poll all possible inputs using the new
  functions/semantics. This allows to use any input (USB, PS/2, serial) in KDL.
* Removed the no longer needed "serial_input" command.
* read_line(): Also support 0x7f as backspace code. That's what xterm sends.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-12 17:15:42 +00:00
Axel Dörfler
21d6b8e2c7 * Let checkfs collect stats of how the data streams are used.
* Would be nice to only show this when an extra argument had been passed to
  checkfs, but I'm afraid the API is somewhat limited, not to say pretty much
  unusable for the task.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-12 15:24:54 +00:00
Ingo Weinhold
24df65921b Merged signals-merge branch into trunk with the following changes:
* Reorganized the kernel locking related to threads and teams.
* We now discriminate correctly between process and thread signals. Signal
  handlers have been moved to teams. Fixes #5679.
* Implemented real-time signal support, including signal queuing, SA_SIGINFO
  support, sigqueue(), sigwaitinfo(), sigtimedwait(), waitid(), and the addition
  of the real-time signal range. Closes #1935 and #2695.
* Gave SIGBUS a separate signal number. Fixes #6704.
* Implemented <time.h> clock and timer support, and fixed/completed alarm() and
  [set]itimer(). Closes #5682.
* Implemented support for thread cancellation. Closes #5686.
* Moved send_signal() from <signal.h> to <OS.h>. Fixes #7554.
* Lots over smaller more or less related changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-12 00:00:23 +00:00
anevilyak
4bcb62ee96 Applied patch by Jean-Loïc Charroud that reworks the anyboot MBR to fix boot
problems on various systems. Resolves #3441. Thanks!

+alpha3



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-11 19:14:49 +00:00
Rene Gollent
8c3c117201 Adjust ReleaseReference() to also return the previous ref count as
AcquireReference() now does, and adjust all callers that relied on the previous
return type.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-10 22:31:33 +00:00
Michael Lotz
36986acbbd * Finish the port to the new tty module. Back when I left off last time it was
only halfway finished. The way it is supposed to work is that there are two
  tty cookies, representing the system and the device side. Reads and writes
  coming from the system and going to the device are using the system cookie
  while reads and writes coming from the device use the device cookie.
* Move writing to the device into an output thread, similar to how reading from
  the device works. This isn't necessarily a good idea and might be moved back
  into the write hook again to ensure that writes can be made blocking. Right
  now if you just write and then close, the writes will most likely be canceled
  before every going out to the device.
* Removed the read and write lock mutex. They aren't necessary as the tty layer
  will serialize the reads and writes anyway.
* Made simply copying the data to the write buffer the default implementation of
  the OnWrite callback and removed the OnWrite in ACMDevice. The ProlificDevice
  didn't provide an OnWrite hook before, so it would've never written anything.
* Break out the baud index to speed mapping into an inline function. Since the
  defines might change in termios.h just adding an array is a bit fragile (it
  already missed one entry and would've been broken for certain speeds).

This should make usb_serial usable for some (most?) cases. I've tested this with
an Arduino board that uses an FTDI interface. As mentioned above, since writes
currently just write into the tty layer and don't wait for the data to be
flushed, and since close doesn't wait for the output buffers to be drained
either, a simple write and close (as in "echo a > /dev/ports/usb0") will in most
cases cancel the output before it is written to the device. I'm looking into
a few ways to fix that next.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-10 17:35:46 +00:00
Michael Lotz
5cc760197a Apply limits to the transfer lengths. At least in the case where a one byte FTDI
header is used that only has 6 bits of length info this would've previously
potentially overflowed depending on the input size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-10 17:20:27 +00:00
Michael Lotz
f7868b8f1a * Print the speeds even though they are marked as not used (as the baud index
is inside the cflags) since stty for example sets them.
* Turn off debug output by default and fix a warning due to that.
* Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-10 17:18:06 +00:00
Michael Lotz
6e72f897f4 Remove the global lock and the documentation for it. It was specific to the tty
driver and doesn't apply to the generic module.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-10 17:12:51 +00:00
Michael Lotz
4e1d68e994 Style cleanup, 80 char limit. No functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-09 19:00:37 +00:00
Alexander von Gluck IV
5be4b532a8 * Put uint8 back to uint32 as per ML recommendations
* Begin using multi-architecture friendly formatting macros per ML
* Change uint32 snoozeTime to preferred bigtime_t per ML
* Thanks for the great feedback!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 22:10:59 +00:00
Alexander von Gluck IV
331ecb302c change to non-posix int introduced a small bug, sorry about that
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 19:27:39 +00:00
Alexander von Gluck IV
d1639f80d8 small change, use non-posix style int typedef
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 18:57:03 +00:00
Alexander von Gluck IV
ea9b910a26 * change overly large uint32 to uint8 as we only count to 12 max
* add additional tracing to usb_disk lun inquiry
* cd and other optical disk devices can take some time to spin up
  when plugged. Now we give them some time to do so to ensure we
  can detect the media type properly if there is a cd in the drive.
  Things non-mechanical (flash drives) will continue almost immediately
  as there is no spin up time. The more attempts, the longer the wait.
  We now try 7 times (28 seconds total), my modern usb cdrom takes
  about 6 (21 seconds) of those cycles to be ready on power up and 4
  (10 seconds) on media change while powered up.
* tested with usb media and cd media.  Doesn't introduce any visible
  delay to the user.
* the write protected status in lun is now correct for my usb cd device
  on plug (it wasn't previously)
* still seeing it though as read/write. Looking at this now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 18:45:22 +00:00
Axel Dörfler
5cb190eda2 * Remove the entry from the entry cache as well when removing a bad inode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 18:29:01 +00:00
Axel Dörfler
1342dbcbbc * Removed support for building on BeOS R5.
* Made MessageIO comply to our coding style.
* No other functional change (intended).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 17:22:51 +00:00
Alexander von Gluck IV
ba1f2817df fix deprecated non-const char
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 03:50:26 +00:00
Alexander von Gluck IV
36e54f3a44 fix gcc4 warning on missing parentheses on &
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 03:41:48 +00:00
Alexander von Gluck IV
ca3d3619b6 correct cookie pointers to match filesystem operations; new to new.h; fix parameters of ramfs_read_vnode
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 03:35:23 +00:00
Alexander von Gluck IV
39313f2227 begin reorganizing ramfs callback parameters to match new filesystem driver standard; correct incorrect style fix as per Ingo; correct layout of fs operation mapping struct
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 03:13:59 +00:00
Alexander von Gluck IV
6305a11cd4 tweak the last of the nodes; break apart old style file_system_module_info; add fVolume to Volume to replicate bfs style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 02:25:42 +00:00
Alexander von Gluck IV
84a474186f change legacy fs_cookie to void**; tweak a few node function parameters
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 00:58:50 +00:00
Alexander von Gluck IV
f76a033d04 first round of style cleanup on ramfs driver; change node _dir to pointer in ramfs_lookup function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 00:42:51 +00:00
Michael Lotz
1b7d2a5498 Add hat support to the JoystickProtocolHandler. Completely untested for lack of
hardware though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 00:27:31 +00:00
Michael Lotz
9028fd53bd Add HIDReportItem::ScaledRangeData() that scales the data into a pariticular
range.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 00:26:04 +00:00
Alexander von Gluck IV
32aef194f4 remove cpp.h and cpp.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-08 00:10:03 +00:00
Michael Lotz
7802e2dd2c Get the HID descriptor from the already retrieved configuration info instead of
always calling the device and requesting it. If no HID descriptor is found in
the configuration we fall back to retrieving it manually and if that fails we
fall back to a dummy report descriptor length. In the most usual case this will
save one unnecessary USB control request.

Incidentally this also fixes the absolute pointing device under VirtualBox. VBox
stalled the retrieval of the HID descriptor. That alone wasn't so problematic as
in this case we just fell back to the dummy report descriptor length which
would've been large enough. But VBox also times out the next request after the
stall, which in this case was the retrieval of the report descriptor, hence no
HIDDevice could be created.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-07 18:17:08 +00:00
Alexander von Gluck IV
8a480e5d69 undo accidental change to cpp.cpp in r42016
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-07 18:09:12 +00:00
Alexander von Gluck IV
3de080c186 change format of fs_volume to match current kernel filesystem interface
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-07 18:07:25 +00:00
Michael Lotz
7b03963e8a * Add a quirky device entry for XBOX 360 controllers.
* As they don't claim to be HID, they don't provide a report descriptor either,
  so we build one. The built descriptor is similar to the one found in FreeBSD
  for the same class of devices. Might fix/help #7649, for lack of hardware I
  can't test this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-07 00:35:31 +00:00
Michael Lotz
4ca60b965f Move the quirky device detection out of the HIDDevice constructor and into the
usb_hid_device_added hook so that we can actually detect non-HID devices at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-07 00:25:58 +00:00
Michael Lotz
575517e617 * Remove the report ID argument of HIDWriter::DefineInput{Data|Paddding} to
allow for creating descriptors that don't use report IDs at all.
* Adjust sixaxis_build_descriptor and set the global report ID once at the
  beginning instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 23:54:01 +00:00
Michael Lotz
c67c6b5300 * Add device class, subclass and protocol to the quirky device structure.
* Add these to the usb_support_descriptor when adding from the quirky devices.
* Extend the SIXAXIS comment a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 23:48:28 +00:00
Michael Lotz
cac918bed0 Add devices we have explicit quirky device support for to the support
descriptor. This allows us to support devices that aren't strictly HID or only
provide vendor specific interfaces by constructing report descriptors for their
data format.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 22:47:22 +00:00
Jérôme Duval
dae8628f1b .c => .cpp, build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 19:52:16 +00:00
Jérôme Duval
ae67ffbd06 * style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 18:50:53 +00:00
Rene Gollent
b184abda90 Fix gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 02:29:48 +00:00
Michael Lotz
bc64bf6ab4 Add support for absolute pointing devices. Supported are mice/pointers with
absolute coordinates (qemu/kvm -usbdevice tablet) and various digitizers. If a
tablet-like usage is determined the MouseProtocolHandler publishes to
input/tablet instead of input/mouse and reports its info in a tablet_movement
structure instead of a mouse_movement structure, allowing for absolute
coordinates. Note that right now only the absolute coordinates are used, the
other tablet specific inputs (eraser, pressure, tilt and contact) aren't yet
filled in. I will add these as a second step.
I've only tested this with kvm where this makes the "seamless" mouse integration
work and therefore fixes #5989. Note that QEMU for BeOS/Haiku doesn't support
that mode (patch pending on my side) and will lock the pointer into the upper
left corner if -usbdevice tablet is used (whereas it previously just did
nothing).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 00:10:56 +00:00
Michael Lotz
6eabc83386 Add HIDReportItem::ScaledFloatData() which scales the data into a float range
from 0.0 to 1.0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 23:53:04 +00:00
Michael Lotz
21f237c0af Add the tablet input_server device add-on directory to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 23:17:01 +00:00
Michael Lotz
1c1f322ec1 Replace the TabletInputDevice by a MouseInputDevice based reimplementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 19:15:43 +00:00
Michael Lotz
fdad31e6a5 Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 19:09:04 +00:00
Fredrik Modeen
b9bac11908 remove unused code the em driver are in e1000
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 18:25:06 +00:00
Fredrik Modeen
2d3e6927ca Reverting so I can work on it without disturbing the GSoC project ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 17:30:40 +00:00
Joachim Seemer
4269010322 Fixed copy and paste error. Fixes #7640.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 04:58:53 +00:00
Michael Lotz
d3260cdb5f * Reimplement the descriptor patching mechanism for quirky devices by a function
to build a new descriptor using a HIDWriter. This way a completely new
  descriptor can be built on the fly or a fixed already patched blob can be
  written to the writer if desired.
* Implemented writing a new report descriptor for Sony SIXAXIS controllers. The
  descriptor also includes the pressure sensitive button states (exposed as 12
  axes) and the accelerometers/gyroscope (exposed as another 4 axes). While the
  motion sensing data is now available (and fun to look at), the usefulness is
  fairly limited, as the values are not scaled/transformed in any way. It might
  be possible to generically do such transformations using unit descriptions,
  but those are not implemented yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 00:40:19 +00:00
Michael Lotz
517851a173 Reimplement axis mapping and allow for more usages to be axes. This allows for
duplicate usages and simply adds more axes in that case. It also removes the
gaps that were previously put in place if there were higher numbered axes.
However, since the ordering of the axes now depends on the ordering inside the
HID collection, it is possible that some controllers won't have the X, Y and Z
axis mapped as the first three axes, which might confuse applications. I've not
encountered a report structure that would lead to such a situation yet, but then
again the amount of reports I was able to get hold of is fairly limited. If it
becomes a problem the mapping needs to be adjusted accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 00:30:33 +00:00
Michael Lotz
9aec639d12 Add a PrintToStream() method to HIDParser that prints the resulting reports and
the root collection.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 00:12:15 +00:00
Michael Lotz
0e37c8a9fc Implement a HIDWriter that provides a high and lower level interface for writing
report descriptors. These descriptors aren't optimized for efficiency (the
writer doesn't attempt to avoid writing unneeded global items for example) but
they will only serve as input for the HIDParser that parses them correctly
regardless.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 00:10:07 +00:00
Siarzhuk Zharski
0d97cc65ed An Intel PHYs MII module added to ipro100 driver to fix "No Link" status issues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 14:09:24 +00:00
Michael Lotz
6b9615d068 * Keep an open count in the JoystickProtocolHandler.
* Only cancel the update thread if the last open instance is closed. This fixes
  that other applications using the same joystick would stop getting updated
  values as soon as one application was closed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 13:51:30 +00:00
Michael Lotz
6e53f9a990 * Make the quirky device mechanism a bit more useful by allowing an init
function that is triggered before the protocol handlers are added.
* Use the quirky device mechanism to support the Sony SIXAXIS controller (the
  PS3 one). It requires a specific get_report to become operational. Note that
  you still have to push the PS button to enable it after plugging in. Note also
  that only the two analog sticks are reported as axis, the analog values of the
  buttons as well as the motion sensors aren't described by the HID descriptor
  and therefore aren't accessible. The digital button states (on/off only) work
  however. A fixed descriptor could possibly be crafted to support the missing
  features later on though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 12:47:02 +00:00
Michael Pfeiffer
84cb679caa Use layout API
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-04 08:18:28 +00:00
Michael Lotz
e36050e83d Set the debug keyboard info for the kernel debugger when initializing keyboard
handlers. A full sized keyboard is assumed when LEDs are found and those are
preferred then. This makes USB keyboards work (at least those that worked
by voluntarily entering KDL before, i.e. those that are hooked up to UHCI root
ports) also when entering KDL by means of a panic. The first (few) keys are
swallowed though, but that's certainly better than it not working at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 23:24:58 +00:00
Alexander von Gluck IV
93344365ca few small fixes to get ramfs slightly closer to compiling again; <new> is for you; add parentheses to avoid gcc warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 23:03:10 +00:00
Rene Gollent
eab06f5f40 Keyboard and Tablet were likewise using the aforementioned ioctls incorrectly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 22:23:10 +00:00
Rene Gollent
308e87fc11 The ioctl for reading mouse parameters was missing the structure size. This would cause it to randomly fail and exit the loop, resulting in the mouse going unresponsive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 22:12:06 +00:00
Michael Lotz
233d1dc479 Implement variable joystick mode in the JoystickProtocolHandler. It supports
both, variable and extended joystick mode, using the same mechanism of mimicing
the extended_joystick structure with the variable one if required. The mode
used depends on the support flag coming in from BJoystick (currently off), so
with this commit the behaviour doesn't change. I'm going to flip that switch
next though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 21:11:38 +00:00
Philippe Houdoin
fccb048765 Fixed gcc2 build (sorry).
Plus one forgotten small style fix.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 12:39:51 +00:00
Philippe Houdoin
1291377a6e Applied patch by Pete Goodeve, which adds multi-ports support to usb_midi driver.
Fixed some coding style and a few sanity checks where it make sense.

This driver code is not in a good shape and needs a wide cleanup.
unfortunatly, I still don't have any device to test with, so I can't do that anytime soon.
Intead of letting his patch collecting dust since 3 months (my bad),
I think it's better the multi-port support gets at least more exposure than
just Pete's hardware.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 10:30:03 +00:00
Alexander von Gluck IV
5d6dcc0685 remove AtomInit.. breaks radeon_hd build due to missing return and I have a while until I can implement it fully
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-02 23:05:24 +00:00
Alexander von Gluck IV
1dac446909 added scale update locking register; remove leftover intel hack thats not needed on Radeon; fix gcc4 warning on card model comparison
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-02 22:50:28 +00:00
Michael Lotz
5052c5b678 Make adjustments to the JoystickProtocolHandler so that it works in accordance
with the BJoystick requirements:

* Make the Read() non-blocking. This is required as BJoystick is a polling
  interface. A single current state is used that is updated by a separate thread
  on report arrival. The thread is spawned as soon as the ProtocolHandler is
  opened for the first time (and quit at the first wait return after the
  ProtocolHandler is closed). With this we can simply return the current state
  on read.
* Remove the ring buffer as it was not needed in the first place. This also
  happens to solve the problem of sharing a JoystickProtocolHandler. Before,
  concurrent reads would queue up the same result multiple times in the ring
  buffer and then return stale data on the next update.

Solves most of #7629.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-02 00:56:18 +00:00
Michael Lotz
23249681ab Since we never actually read more than one mouse_movement at a time and we only
ever wait for reports on demand, there's no need for buffering at all.
This removes some unnecessary copying and ring buffer overhead, the ring buffer
will now in fact not be created at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-01 23:34:03 +00:00
Alexander von Gluck IV
eb1b3e422f implement AtomBios CailRead/WriteFBData callbacks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-01 18:34:13 +00:00
Alexander von Gluck IV
3fcaf0d61c remove unneeded orphan function declaration for AllocateFB
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-01 14:55:40 +00:00
Alexander von Gluck IV
057f5d1d50 GCC2 build fixes on radeon_hd driver
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-01 14:39:15 +00:00
Michael Lotz
f46bc7f19e * Add a JoystickProtocolHandler to usb_hid that supports the BJoystick protocol.
This includes input scaling, so the resulting input ranges should always match
  the ones of the BJoystick data (hence no calibration should be required).
* It supports joysticks, gamepads and multi-axis controllers. I've only tested
  it with a Microsoft SideWinder Gamepad Pro so far, which now works as expected
  with stickit.
* Fixes #7429.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-31 02:21:05 +00:00
Michael Lotz
10a1a81d02 Also clear the sign extension when not changing signedness, as otherwise we'll
overwrite the values with the sign extension.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-31 02:09:10 +00:00
Michael Lotz
6d551ee44f Also take the unsigned -> signed conversion into account.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 22:31:59 +00:00
Michael Lotz
d75a906285 Add a ScaledData() getter that scales the data to the desired bit width and
converts the signed-ness as specified.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 21:45:10 +00:00
Clemens Zeidler
a4710c0d46 Move ServerConnection class from the IMAP add-on to libmail.so. This avoids to init SSL each time an IMAP add-on
is loaded. SMTP and POP still have this problem! TODO: use the ServerConnection class in these add-ons too.
This would also remove a lot of #ifdef SSL form these add-ons. Will not do it in the near future, feel free to fix it
...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 21:36:06 +00:00
Michael Lotz
b5274bc4f6 Pass read and write calls to the protocol handlers as well, moving the default
of returning B_ERROR to the ProtocolHandler base class. Not used yet, but will
be used for the BJoystick <-> JoystickProtocolHandler.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 19:53:14 +00:00
Clemens Zeidler
b58ab52cd6 SSL should be thread safe (right?) but SSL_library_init function and SSL_load_error_strings are not, or they should be called only once...
Remove extra ssl lock, there is already one in ssl.
This fixes #7574. I have seen this or a similar bug before and it was quit reproduceable, now it seems to be fixed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 05:46:10 +00:00
Fredrik Modeen
981bdb5af9 Hope I fix more than I breake with this update of ipro1000
it's taken from freebsd driver e1000 r221505

This include alot of cards (including my HP)

I had to "remove" som parts. led was the easiest part. All code shoulc have haiku in them

The part below was perhaps needed but I could not fix the error that whas showing (located in if_em.c) aslo it works as is on my HP 8540.

static int
em_sysctl_reg_handler(SYSCTL_HANDLER_ARGS)
{
	struct adapter *adapter;
	u_int val;

	adapter = oidp->oid_arg1;
	val = E1000_READ_REG(&adapter->hw, oidp->oid_arg2);
	return (sysctl_handle_int(oidp, &val, 0, req));
}

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-29 19:27:05 +00:00
Michael Lotz
305aff3f78 * Changed the way how devices are enumerated and protocol handlers are added to
handle the different device classes. Handlers are now added based on the
  application collections that the HID descriptor describes instead of by
  enumerating the different report items inside the reports. This means that a
  device is now logically treated as a mouse when it comes with an application
  collection that designates it as a mouse, instead of when there is a report
  that contains an X and a Y axis. This resolves the conflicts that gamepads
  and joysticks were added as mice due to them containing such elements. This
  therefore fixes #4499 and opens up the way to properly handle other device
  types like joysticks (#7429), gamepads, tablets (#7354, #5989 and #7481) and
  so on. I'll work on gamepads/joysticks next and see where we stand for tablets
  later.
* Added a few enumeration functions to HIDCollection to support the above.
* Fix the root collection handling. A device doesn't describe a single root
  collection and then adds everything as a child. Instead it just has multiple
  collections on level 0. We account for that now by always creating an empty
  logical collection as the root collection where all the collections of the
  descriptor get added.
* Rename the {Mouse|Keyboard}Device.{cpp|h} to
  {Mouse|Keyboard}ProtocolHandler.{cpp|h} as that more clearly describes their
  purpose. These classes are protocol handlers, i.e. they handle the ioctl based
  mouse and keyboard protocol between the driver and the input_server add-ons.
* Change a lot of stuff to use references instead of pointers where it makes
  sense (not necessarily complete yet).

I've tested this successfully on a keyboard with extended keys, a combo device
with a keyboard with extended keys and a mouse, a mouse and a gamepad (that now
doesn't do anything anymore) and found no regressions. However, since there are
a lot of very varied ways how to describe such functions with HID, it's not too
unlikely that some more curiously described devices will now stop working. These
have to be handled case by case and their usages have to be added to the added
to the appropriate handlers (or new handlers have to be written). Please test
and create bug reports (preferrably including the report descriptor that is
written out to /tmp).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-28 19:59:02 +00:00
Alexander von Gluck IV
3035edeb39 add Radeon HD2600 PCIID, Thanks Benjamin A!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-28 16:29:16 +00:00
Jérôme Duval
3cd099e2d4 Patch from Jérôme Leveque: Work in progress: code cleanup (includes dos newlines and 80 chars by line)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-27 18:59:25 +00:00
Alexander von Gluck IV
27dde8e939 small style fix; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-27 02:16:00 +00:00
Alexander von Gluck IV
217c0b1d48 Add surface address high handling; set primary and secondary surface frame buffer offset
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-27 02:14:54 +00:00
Alexander von Gluck IV
5f6744a8cd * move all register calculation into init_registers to
keep things simple to troubleshoot
* use crt offset only on evergreen, else use AMD provided
  register locations
* init_registers(crtid) is called before making register calls
  to a monitor.
* init_registers supports 1-2 displays on r600-r700
* init_registers supports 1-6 displays on r800+ (AMD eyefinity)
* restore CardBlankSet function in a more simple form
  (still needs init_registers addition)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-26 04:51:57 +00:00
Alexander von Gluck IV
2cc7e38c93 temporarly disable screen blanking; setting V/H blank start/end is what was causing empty display, disabled for now; Hardware video mode setting is close!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-25 22:42:37 +00:00
Alexander von Gluck IV
3be5e03652 * rename graphics_memory to frame_buffer. lets keep consistant
* pass mapped frame buffer area id to accelerant
* remove my temporary hacked together frame buffer memory mapping
* completely rely on PCI BAR for now for aperture size / location instead of
  R6XX_CONFIG_FB_BASE reg.
* Remove my temporary AllocateFB function.
* set grphPrimarySurfaceAddr to physical memory frame buffer location (offset 0)
* fix P/N sync setting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-24 22:08:54 +00:00
Michael Lotz
35e8baa6b0 Fix typo in error output and a little automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-24 17:01:35 +00:00
Michael Lotz
c05a3fa6a7 We obviously need to mask off the interrupt threshold value before overwriting
it with our new setting. Otherwise we might end up with an illegal value as the
interrupt threshold which might inhibit interrupt generation alltogether
depending on the controller implementation. This was the case for the ATI/AMD
SBx00 chipsets. Therefore fixes #5551.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-23 21:53:12 +00:00
Michael Lotz
fe81732aca Tiny cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-23 21:48:40 +00:00
Michael Lotz
ce44796e34 Introduce simplistic poll mode for EHCI. If enabled a thread will run the
interrupt handler every millisecond so it can check for interrupts to handle.
While this is certainly not ideal, it allows EHCI to run (surprisingly well
even) on chipsets that experience interrupt routing issues.
It can be enabled with the safemode setting "ehci_polling on" that can either
be entered using the new advanced debug option entry in the bootloader and/or
in the kernel settings file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-23 20:50:21 +00:00
Ingo Weinhold
10919035c8 PlainTextCatalog::WriteToFile(): Escape characters in the comment string.
Hopefully undoes the string changes seen on HTA since r41629.

Note that the asymmetric escaping/unescaping (PlainTextCatalog::WriteToFile()
vs. BHashMapCatalog::SetString()) is rather broken and needs to be fixed.

+alpha I guess.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-22 21:21:01 +00:00
Jérôme Duval
c0b58c071f * added some EHCI definitions (specification 1.1)
* enable per-port change events when available


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-22 19:44:09 +00:00
Jérôme Duval
cca52e7987 ehci usb driver:
* make sure the PortEnable bit is disabled (specification page 28)
* 250ms is too long: USB 2.0 specifies only 50ms. This prevented one of my devices to be detected.
+alpha


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-22 18:43:29 +00:00
Clemens Zeidler
45f20f8f91 Fix reading long lines in multiple bunches. Thanks pulkomandy for testing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-22 08:49:31 +00:00
Alexander von Gluck IV
51a43d0ff4 ensure framebuffer doesn't exceed PCI bar; add basic monitoring of frame buffer memory allocation; fix return of framebuffer to OS to be the correct area
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-19 17:39:07 +00:00
Stephan Aßmus
b46615c55a Applied patch by Joseph "looncraz" Groover from ticket #7445.
This changes how Decorators are managed and applied. The app_server
no longer scans and maintains the available ones himself, but is
simply asked to load a Decorator add-on from a provided path.
The Decorator scanning is moved into DecorInfo and DecorInfoUtil,
private classes in the InterfaceKit. The bin command 'setdecor'
uses those.
I cleaned up all the coding style violations that I could find,
removed chunks of code which didn't make sense (if you never put
a NULL pointer into a list, you don't need to check for this and
so on) and also cleaned up other passages for improved clarity
and simplicity.
I also tested the functionality and it works fine. Would even be
Ok to include in Alpha 3, IMHO. Thanks for the patch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-19 15:25:54 +00:00
Alexander von Gluck IV
90af954387 * actually set device_chipset before reading it.
* make shared memory info naming clearer.
* move frame buffer internal offset read to driver
* remove check of > 512MB as we really should always use frame_buffer_size


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 18:38:28 +00:00
Ingo Weinhold
c2069a9a2e Patch by "starsseed" (with style fixes by myself):
PartitionMapWriter::WriteMBR(): Also read the old MBR from disk when the boot
code shall be overwritten. Prevents overwriting of the disk ID. Closes ticket
#7507.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 10:34:53 +00:00
Alexander von Gluck IV
e7812dd963 correct missed improper int size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 05:28:28 +00:00
Alexander von Gluck IV
e8de44210d fix reversed memory units
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 05:25:41 +00:00
Alexander von Gluck IV
56e6d991bb make math easier to read; fix chipset int length; additions to CardScale
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 04:25:05 +00:00
Alexander von Gluck IV
c41d9ce694 add viewport registers; correct chipset dependent scale code; rename virtualheight to make it more consistant; spell check
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 18:00:58 +00:00
Alexander von Gluck IV
fc7b565382 now CRT is 0-1 vs 1-2
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 17:12:16 +00:00
Alexander von Gluck IV
bd34b2f756 * enhance tracing of accelerant
* introduce a global struct to hold register locations for
  Radeon HD chipset model this accelerant was spawned for.
* add Radeon 5430 PCIID


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 17:08:06 +00:00
Alexander von Gluck IV
2a2b9f942c r600 chipset pciids are a mess, added a few more chipsets from AMD's site
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 14:44:49 +00:00
Alexander von Gluck IV
e6f5f4a6ef improve on Radeon HD pciid list
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 20:29:54 +00:00
Alexander von Gluck IV
6c43ea6336 read and store aperture size (will be used in fblocation calculations)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 18:10:49 +00:00
Jérôme Duval
22f4c33994 * select idle alternate when stopping the UVC device.
* set up a dumb deframer.
* received isochronous buffers can be zero length: loop instead of breaking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 17:31:38 +00:00
Alexander von Gluck IV
ce8044a8cb card ids are ordered by series as the AMD pciid space is nowhere near sequential; also removing the series word as it doesn't align to the other entries
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 16:35:26 +00:00
Philippe Houdoin
d7a82feb5c Added a few Radeon HD 48xx devices IDs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 15:19:02 +00:00
Alexander von Gluck IV
f60710603b be more consistent in bitwise unit conversions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 14:46:23 +00:00
Alexander von Gluck IV
e49d783eb9 add proper memory size unit handling across all driver supported cards
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 04:43:58 +00:00
Alexander von Gluck IV
2be925fd04 * turns out r800 has different register locations :(
* remove device_type and replace with device_chipset
* change MEMSIZE to >> 10 as r600-r700 store this in bytes (r800 uses MB and will be fixed soon)
* add if statement to select what register locations to use based on chipset
** Maybe use a struct or something to store these in a standardized way?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 04:03:18 +00:00
Alexander von Gluck IV
536fb7eef6 added 4770, thanks moochris!; added 5650, thanks DaaT!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 19:08:24 +00:00
Michael Lotz
609f2f3393 Check if PCI interrupts are disabled on the EHCI device. Rather unlikely to be
the case, but maybe there's some BIOSes that disable them? More or less poking
around for #5551, doesn't do any harm in any case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 15:03:38 +00:00
Michael Lotz
c46509339b * Disable interrupts in OHCI before doing BIOS handover. Shouldn't matter much
but maybe it helps on some chipsets to avoid interrupt storms during handover.
* Remove comments that aren't true anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 14:42:53 +00:00
Michael Lotz
3bb5704280 Introduce workaround for the (documented) bug with ATI/AMD SB600 and early SB700
periodic list cache. This workaround is based on similar patches in NetBSD and
Linux and disables the (Advanced) Periodic List Cache on the affected devices
using ATI/AMD specifc registers (as documented in the corresponding AMD
register reference guide).
Also remove a ton of stray whitespace introduced by the isochronous patches.
Please take more care the next time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 14:36:19 +00:00
Alexander von Gluck IV
19935655ac add Radeon 5470, thanks RISC!; simplification in Blanking call, thanks Axel!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 00:37:59 +00:00
Michael Lotz
5316b696ae * Set the actual default of the ACPI module to enabled instead of relying on the
kernel settings file. As pointed out by Rene, there's otherwise no way to
  enable ACPI when the settings file is absent, as there's only a disable switch
  in the boot menu.
* Remove MADT dumping as it isn't really implemented. This info can actually be
  printed in the IO-APIC code now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 16:28:43 +00:00
Alexander von Gluck IV
cf546fa0c3 move framebuffer setting code into its own function; reorder mode setting operations to match Xorg driver; make mode functions CRT1/2 register aware
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 14:34:12 +00:00
Alexander von Gluck IV
415c4ad366 correct incorrect read location of PLL data
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 03:17:31 +00:00
Alexander von Gluck IV
9331e9bb0d fix bitwise check for mode timing polarity
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 22:03:47 +00:00
Alexander von Gluck IV
88bfef92b3 add hook to pass EDID back if requested by userspace (screen applet); fix calculation of H blankStart; correct typo on H_SYNC vs V_SYNC register; set +/- V_SYNC to 0x01 vs 0x02.. this prob still needs work; style corrections
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 16:58:49 +00:00
Alexander von Gluck IV
c106176083 doh! style fix; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 01:41:33 +00:00
Alexander von Gluck IV
e1d1a14430 further enhance / cleanup tracing; detect Radeon HD graphics card memory size and store it in shared info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 01:36:51 +00:00
Alexander von Gluck IV
dfd1e5889e remove (now) un-needed modeline examples; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 17:04:31 +00:00
Michael Lotz
407af313ca Make the signature argument to get_table() const. Should fix the GCC4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 09:05:43 +00:00
Michael Lotz
2645ca0a28 Provide a function to gain ACPI table access.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 08:22:22 +00:00
Jérôme Duval
7df33d912b * Implement inbound isochronous transfer for EHCI, based on UHCI implementation.
* changes next_log to their actual type instead of void*
* the field this_phy now includes the item type, it simplifies things.
* isochronous transfer descriptors are linked in the periodic frame list first,
and points to existing interrupt transfer descriptors.

This is still work in progress. Yet it's worth committing as it doesn't seem to
have impacts, and is required for the UVC SoC project. Tested basically with 
usb_webcam to receive UVC stream headers.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 21:25:32 +00:00
Jérôme Duval
16d113f9e5 fix typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 21:05:41 +00:00
Alexander von Gluck IV
2613175e19 * add commented out radeon_hd driver/accel to HaikuImage
* add boot item support to radeon hd driver
* add edid storage to shared info
* add pull of active monitor VESA EDID to radeon hd driver (until AtomBios complete)
* EDID pulled in driver now passed to create_display_modes
* move registers to external stock xorg radeon hd register headers (lic. allows it)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 02:02:41 +00:00
Michael Lotz
2800b06462 Add missing const to the path argument of get_handle().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-09 13:05:28 +00:00
Jérôme Duval
c356b0477f spaces -> tab
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 19:36:47 +00:00
Jérôme Duval
eae25c8854 "intel_extreme" was printed twice
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 19:18:31 +00:00
Jérôme Duval
c5fc0286bc style fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 19:16:42 +00:00
Michael Lotz
ce57718d12 Add set_current_resources() which will be used to configure device resources
from settings retrieved through get_{current|possible}_resources().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 12:13:55 +00:00
Jérôme Duval
fae2ac4671 Made ieee80211_ratectl_tx_complete and ieee80211_ratectl_rate functions no op instead of not calling these functions in each wlan driver.
This should be iso functionality.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 07:46:25 +00:00
Alexander von Gluck IV
192781dd49 * use common accelerant code
* remove manual sDisplayMode and make use of mode_list_area via Axel's common accelerant code using vesa as example
* move mask enabled write32 function to accelerant with write32 calls
* move register offsets into mode.h headers
* rename DxMode* to CardMode*
* make adjustments and implement radeon hd mode setting further
* remove previously defined kStdModeTimings
* hardware mode setting still needs work


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 05:37:26 +00:00
Michael Lotz
290ac5f9b5 Basically revert r41365. Remove the get_pci_info() function of ACPI again as it
turns out to be flaky, is a little bit of a hack anyway and performs unnecessary
operations. The functionality is now handled kernel side which optimizes those
problems away.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 01:15:39 +00:00
Michael Lotz
5789be33af Add a way to look up basic PCI info for an ACPI device. It works for retrieving
the base bus number and segment which is what we're using them for. It should
work generically, however I only tested it to look up PCI bridge devices.
The logic is a subset of what is done in AcpiEvPciConfigRegionSetup when setting
up the operation region for a PCI device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 16:50:46 +00:00
Michael Lotz
63cffb7ee3 Add a way to store a new interrupt_line value to the PCI module. It both updates
the cached pci_info and writes the new value into PCI config space. Drivers
using either mechanism to enumerate devices will therefore get the updated
value.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 16:40:32 +00:00
Michael Lotz
f8dac47aab Add a debugger command to refresh the cached pci_infos from PCI config space.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 15:49:13 +00:00
Alexander von Gluck IV
91235829b2 start a const list of common mode timings (mostly vesa); verify refresh rate is sane by calculating it using pixel clock and horizontal/vertical totals
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:50:05 +00:00
Alexander von Gluck IV
45aa6cb6a2 revert _currentMode back to the way it should be
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:19:01 +00:00
Axel Dörfler
10dfe8970c * Really, there is absolutely no need to pass the default argument to an
optional parameter...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:03:15 +00:00
Alexander von Gluck IV
333bd77062 fix naming of static display mode var; make mode sanity check ensure timing settings are sane instead of less-then-useful positive int check; fix silly bug in tracing output (%d vs %s)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 19:22:39 +00:00
Alexander von Gluck IV
d1baedd428 simplify and enhance tracing; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 16:29:49 +00:00
Alexander von Gluck IV
b95e491de2 undid some of r41334, gDisplayMode didn't make sense as
a pointer (also as written would prob crash); use new mode sanity check on the provided static mode

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 05:06:11 +00:00
Alexander von Gluck IV
089bcdeab0 move mode related registers into header file
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 22:59:39 +00:00
Alexander von Gluck IV
71f51395d6 add header file ifndef guard
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 22:55:02 +00:00
Alexander von Gluck IV
d5c3acac3e added header file for mode.cpp; change gDisplayMode to pointer for now; add function to quickly perform sanity check on mode lines; enhance tracing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 22:52:17 +00:00
Alexander von Gluck IV
12c25669bf enhance tracing of the radeon_hd accelerant
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 19:25:18 +00:00
Fredrik Holmqvist
01de6adfba This opens up so many possiblities.
* ACPI module now has a get_possible_resources function.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 17:29:37 +00:00
Alexander von Gluck IV
042aefc4ea small bit of style cleanup; added additional checks to see if a battery was damaged or it is just an empty slot
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-04 23:12:25 +00:00
Rene Gollent
8a9d5e34fe Patch by Atis Elsts from GSoC 2010 that was overlooked.
- Adds IPv6 fragmentation support and some partial work to enable configuration of IPv6 in net_server. Not currently in the build.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 22:07:39 +00:00
Axel Dörfler
a0bc939256 * Correctly detect Enhanced CDs, and take their extra lead gap into account.
* This fixes bug #3025.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 19:28:02 +00:00
Alexander von Gluck IV
67f2df2363 add some R800 cards to known pci ids; implement basic known card type/model storage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 18:57:22 +00:00
Axel Dörfler
3b8f747060 Applied cleaned up patch originally by Ziusudra as part of ticket #3473:
* Changed the session module to create an extra session for existing audio
  tracks.
* Let cdda also recognize "audio partitions" as published by the session module.
* If there is only a single session, the session module now gives file system
  drivers the chance to play with the device directly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 18:27:12 +00:00
Axel Dörfler
f505da5e20 * Removed two superfluous newlines from debug output.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 18:10:42 +00:00
Jérôme Duval
e5937bd21c * fixed typo
* when removing a transfer, if this was the only one in the list, we set fLastIsochronousTransfer to NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-27 20:06:28 +00:00
Axel Dörfler
b21e41910b * Write the new Media:Length attribute instead of the old Audio:Length one.
* Use uint64 instead of off_t for the frame numbers.
* Shuffled Volume methods around to match the declaration order.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-26 17:15:20 +00:00
Clemens Zeidler
eb32094b24 Fix wrong debug output and disable it, might help with #7448.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-22 06:53:40 +00:00
Jérôme Duval
bf3381e771 activate some traces for EHCI bus driver (see bug #4718)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-19 21:25:00 +00:00
Jonas Sundström
73f124eb41 Add highlighting of apps that will not quit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-18 23:44:20 +00:00
Jonas Sundström
22e0bde18b Change strings to sentence casing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-14 23:45:53 +00:00
Jérôme Duval
745e924303 we don't report stats for now, as some init is missing for ratectl, this should avoid KDL for these drivers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-14 23:00:33 +00:00
Jonas Sundström
95bd470555 Show localized app names. Show reboot count-down in bold type. Layout changes to support multiline strings, and for this purpose adding a BTextView derivate which enforces its height. (I did look at BTextView itself, but it wasn't obvious to me how approach it.) Making use of the IconView class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-14 17:48:52 +00:00
Jonas Sundström
924253e4ff Localization. Cleanup.
CID 6338, 6339, 8912 - Replace strcpy with strlcpy.
CID 9523 - Initialize class member.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-12 18:31:07 +00:00
Jérôme Duval
8dc03de632 merged changes from 8.2 FreeBSD release for most wlan drivers and net80211.
updated several firmwares for iprowifi4965 and iprowifi3945. Tested on iprowifi4965 only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-11 22:48:42 +00:00
Jonas Sundström
fcde0c6292 Cleanup. Removal of superfluous UpdateList() call.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-11 16:55:56 +00:00
Jonas Sundström
4787e491e6 Add a Quit button to the Team Monitor.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-11 15:22:40 +00:00
Jérôme Duval
d7b15506c1 * improves traces
* added _ProbeCommitFormat() and _SelectBestAlternate()
* to be noticed: BUSBInterface::SetAlternate() isn't const and there is no mean to get a non-const BUSBInterface.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-07 21:54:25 +00:00
Jérôme Duval
c5a669052f * style fixes.
* added SuggestVideoFrame() so that this can be overriden.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-07 20:59:30 +00:00
Jérôme Duval
d7411ad2ec added traces for unimplemented isochronous transfers for ehci and ohci
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-07 20:39:17 +00:00
Clemens Zeidler
9b35c5d38d - Generate helper events for ALPS touchpads. This is needed for tap drag and edge motion. This emulates the synaptics touchpad somehow. For example, we need more events to decide if a tap is a
simple click or becomes a tap drag. ALPS does not send these events.
- Enable ALPS.
- Force const edge motion speed. Synaptics sends events with a certain frequency ALPS don't. Even worse ALPS stops sending events durring a edge motion when you don't move your finger. Current 
speed is 200 pixel/s. In theory synaptics has different event frequency modes which would result in a different edge motion speed in the previous approach. Please check if synaptics works/speed is correct. Will try to get a synaptics laptop for testing...
- fix class variable names.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-06 22:14:27 +00:00
Clemens Zeidler
a16bab72a7 Initialize the synaptics cookie again. Not sure but maybe this fixes a crash on startup (if there is an interrupt before the ring buffer is created...).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-06 19:59:10 +00:00
Joachim Seemer
329daa448d Changed a few strings as discussed on the i18n mailing list. Added localization of license descriptions in AboutSystem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-04 17:36:39 +00:00