Commit Graph

9412 Commits

Author SHA1 Message Date
Siarzhuk Zharski
3aaf71a600 Fix for reported keyboard id endiannes. I'm sorry for the extra noise.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 17:19:46 +00:00
Siarzhuk Zharski
fc3cecb361 Support of keyboard id reading. Partially fixes #7963.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 16:57:06 +00:00
Michael Lotz
c788baed28 Style cleanups only, no functional change.
* Make the pointer style consistent accross all components, which should make it
  easier when working all over the place.
* 80 char limits.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 15:15:03 +00:00
Alexander von Gluck IV
f66a1a8d71 * fix TODO style due to ML
* rename bpc to bitsPerChannel
* remove un-needed / unused PCI BAR reference
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 14:12:03 +00:00
Adrien Destugues
7117b2ea25 Add support for Silicon Labs CP210x to usb_serial.
Not completely tested : my device has no control lines wired. RX/TX seems to
work fine, at least.

Inspiration from the Linux driver since there isn't any documentation avilable:
http://lxr.free-electrons.com/source/drivers/usb/serial/cp210x.c

The switch/case for VID/PID identification is getting quite long. Isn't there a
better way to do it ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 11:46:53 +00:00
Alexander von Gluck IV
5fd0277927 * add function to make pll flag adjustments
* bug fix of improper unit conversion


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-15 16:46:20 +00:00
Michael Lotz
f0468be384 * Rework how registers are accessed. Most registers are now grouped into
register blocks and we encode their block into the register definition. On
  register access these blocks are then translated into the final address.
* Set up the register blocks for (G)MCH and PCH variants.
* Remove most SandyBridge code that was actually PCH specific and is now taken
  care of automatically.
* This will temporarily break SandyBridge support again until the right
  transcoders are actually programmed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-15 15:35:35 +00:00
Michael Lotz
16cc59778b Attempt at panel control for SandyBridge, still disabled though as it doesn't
work yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-15 11:20:40 +00:00
Alexander von Gluck IV
cf1d1fb4ff * add function to probe pll timing limits from AtomBIOS
* rename *_* pll vars to match style guidelines
* refactor PLL calculation to be easier to read with
  more central 10kHz unit conversions
* limited mode switching has been seen working including
  a perfect 1280x1024@75


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-15 04:23:32 +00:00
Alexander von Gluck IV
c0fe7a011b * tweaks to pll calculation reference units.. make divisors match 10 kHz unit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 23:27:44 +00:00
Alexander von Gluck IV
245fe001e7 * first shot at fixing pll calculations
AtomBIOS wants number of 10Khz Units
* better debugging after modeset on current
  CRTC status


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 22:57:00 +00:00
Michael Lotz
bff57edf94 Add indexed color mode support for SandyBridge.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 19:30:20 +00:00
Michael Lotz
395d16a9bd Some more SandyBridge specifics to get V-blank interrupts going.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 19:11:29 +00:00
Alexander von Gluck IV
2cc1b10386 * make atombios lockup checking adjustments more robust
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-14 18:34:45 +00:00
Alexander von Gluck IV
53aac74407 * there is only one DDC channel on DVI-I connectors. as such
we get valid EDID data for two physical connectors (one analog, one digital)
  Check for load on the analog or assume digital and keep rolling as normal
* style fix, rename bios_*_scratch to biosScratch*


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 17:48:22 +00:00
Michael Lotz
951b5e5147 More SandyBridge specifics: Use the proper registers for display detection and
DPMS. Still needs to be reworked...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:56:11 +00:00
Michael Lotz
832d09b54d Apply r42844 to the analog case as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:49:46 +00:00
Michael Lotz
ec38b90046 * Use the actual (virtual) width and height instead of the display timing
values, as those might be slightly off (when coming from the GTF for example)
  and cause needless display scaling.
* Tiny cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:47:02 +00:00
Michael Lotz
65ac830822 Fix comparison.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:37:03 +00:00
Stefano Ceccherini
f53638d71e Some refactoring, some other changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:07:10 +00:00
Stefano Ceccherini
8efc947242 Ordered SubIncludes (thank you Jerome)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 16:05:48 +00:00
Michael Lotz
9f6dd24974 Don't try to do another request sense if the failing operation already was a
request sense. Otherwise we can easily run into an infinite recursion. Should
fix #8022.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 15:54:40 +00:00
Michael Lotz
e436a27e5f * Add preliminary support for one SandyBridge mobile integrated graphics device
(the one in my new ThinkPad X1). The PLL is still off a bit so it has a few
  blurry stripes, but EDID and mode setting basically works.
* Starting with IronLake the north/south bridge or (G)MCH/ICH setup was moved
  into a platform control hub (PCH) which means that many registers previously
  located in the GMCH are now in the PCH and have a new address.
* I'm committing this mostly because this way the additions are more easy to
  follow. It is a bit messy and I'll clean it up more and possibly make it a
  bit more generic. Also most of these changes actually apply to IronLake and up
  and aren't SandyBridge specific, so a few of those additions will still get a
  broader scope and new chips will be added.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 09:07:33 +00:00
Michael Lotz
c6e876fc85 Tiny cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 08:43:56 +00:00
Stefano Ceccherini
79e3f9012d HPET driver for testing HPET code more easily.
Seems to work correctly on real hardware, not on qemu where it
can only use the irq 2, and this causes wreakage (could be a programming error).
Changed from the kernel code:
- Adapted to use as a driver
- Configure for level interrupts instead of edge, which seems not to work correctly
- Add traceing dprintfs
- Various other changes
Does not use yet the new interrupt api introduced by Michael Lotz.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-13 08:20:10 +00:00
Alexander von Gluck IV
e774cb4b0a * style fixes
move quite a bit of code away from var_var format
* #if 0 some not-yet-ready r500 code
* no real functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-12 22:04:41 +00:00
Alexander von Gluck IV
6b49ba8931 * style fixes, no functional change...
frev / crev to tableMajor / tableMinor
  size to tableSize
  offset to tableOffset


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-12 21:21:45 +00:00
Alexander von Gluck IV
6b0b621be9 * style fixes, no functional change...
automatic crtc_id -> crtcID
  automatic pll_id -> pllID
  automatic encoder_id -> encoderID
  automatic connector_index -> connectorIndex
  automatic encoder_flags -> encoderFlags


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-12 20:45:49 +00:00
Alexander von Gluck IV
dc223cc5a0 * style fix
ensure bitwise ands are compared to 0 or non 0 as per Axel


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-12 20:28:37 +00:00
Alexander von Gluck IV
7934da0f09 * add *very* preliminary dpms support
we will need to query the card dpms state
  for each monitor at a later date


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-12 19:36:47 +00:00
Alexander von Gluck IV
042bdcc0d2 * complete pll_set for all AtomBIOS revisions
* add update of crtc encoder scratch registers
* rename id for more descriptive crtc_id
* encoder dpms, BL on/off on lcd


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-12 17:24:15 +00:00
Alexander von Gluck IV
14493b1ecb * quick style fix before I forget, no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 22:32:45 +00:00
Alexander von Gluck IV
e7d0abae23 * move pll info into pll_info struct.
* reduce the number of unique storage uint32's


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 22:23:31 +00:00
Joseph Prostko
4431610388 * Commenting out tracing, as before. Sorry about re-enabling it accidentally.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 18:13:36 +00:00
Joseph Prostko
7c7c2f12c1 * Fix build due to missing comma in r42823
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 18:10:20 +00:00
Alexander von Gluck IV
44db4996ae * better tracing of modeline sanitization for #8001
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 17:39:43 +00:00
Siarzhuk Zharski
522a82beb6 SiS190/191 NIC driver moved from the development branch to the trunk
to be available for using during build. It was requested by Frederik Modeen.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 14:59:28 +00:00
Siarzhuk Zharski
2191dfe4bd * Check the KBC command byte for kbd disable bit during keyboard probe and clean
it in case it was set "on".
* Tracing added for the case of ignoring interrupt with not active OBF status bit.

Fixes #7973 #6313



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-11 14:00:32 +00:00
Alexander von Gluck IV
82720f1cd0 * move pll info onto encoder
* add atombios PLL adjustment code
* add initial PLL clock flags


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-10 18:07:53 +00:00
Alexander von Gluck IV
1fca5eaf11 * detect hdmi and tv and set as such
* set encoder flags the same as connector flags
* add curly comments to make troubleshooting clearer
* program encoder dpms scratch registers


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-10 16:46:22 +00:00
Alexander von Gluck IV
936aec7461 * remove some legacy code
* don't init asic unless needed
* do dpms by hand on mode set
* detect tv and skip during detection for now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-09 22:04:07 +00:00
Alexander von Gluck IV
d0509b7eb9 * move encoder info into own struct
* rename some connector / encoder struct members
* improve debugging in connector / encoder
  AtomBIOS walking


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-09 19:51:59 +00:00
Alexander von Gluck IV
17b66d8250 * add digital encoder setup code
* make encoder setup functions return status_t
* really need a struct to hold encoder info


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-09 19:10:56 +00:00
Philippe Houdoin
d41559757e Expand usb_raw ioctl to support retrieving full usb configuration descriptor from userland, not only the header part.
I try to keep UBSConfiguration binary compatibility, but proofreading is welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-09 15:15:15 +00:00
Alexander von Gluck IV
ffb494caeb * add encoder DPMS code
* flip encoders on during modeset.
* crt0 status keeps getting higher and higher which is a good sign.
  the more bits that are set, the closer to a successful lock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-05 04:45:54 +00:00
Alexander von Gluck IV
b54c811990 * add encoder code to handle setting up and adjusting encoders
* reorganize mode set code to match layout of linux DRM driver
* add initial DPMS code
* add lots of TODOs


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-05 04:25:50 +00:00
Alexander von Gluck IV
7c91a33c84 * RIP Radeon register banging
Remove old non-atombios code
* add encoder.c and encoder.h to handle
  encoder management
* fix pll code to use encoder object id
  vs crtcid


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-03 00:59:44 +00:00
Alexander von Gluck IV
f35af704c8 * use bit-banged edid for monitor ranges
* add function to set encoder to crtc
* clean up some comments


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-03 00:15:04 +00:00
Alexander von Gluck IV
39bc159e6e * small bit of common i2c / ddc white space cleanup
* small bit of tracing cleanup
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-01 03:11:21 +00:00
Alexander von Gluck IV
ae347a6ce0 * squash a *silly* bug
don't set up a pointer and not malloc it.
* small cleanups to radeon_hd i2c bit-banging code
* i2c bit banging is now functioning


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-01 03:07:33 +00:00
Alexander von Gluck IV
70b41cd671 * improve Nothern Islands PCI ID information using FreeBSD
list of Radeon HD Cards
* break tradition of sorting by chipset id because they really
  are not in any kind of order.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-30 20:25:05 +00:00
Matt Madia
ac592b5638 Fixed the build under Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-30 01:11:24 +00:00
Axel Dörfler
f9a7bd8e55 * install-test-apps is now running through again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-29 23:19:49 +00:00
Axel Dörfler
e373834fe9 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-29 22:48:46 +00:00
Axel Dörfler
fbe9bdf095 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-29 22:47:46 +00:00
Alexander von Gluck IV
f61b3e2026 * there's one 'l' in Philips
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-29 15:08:44 +00:00
Alexander von Gluck IV
495a05fa9f * reading through i2c specs, little comment cleanup
* add a few notes for future i2c bit-bangers
* cleanup of tracing
* no real functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-29 15:03:49 +00:00
Alexander von Gluck IV
dd29505893 * remap GPIO pin storage to global struct as they really aren't tied to
a connector. (thus allowing for future non-ddc gpio devices like fan speed)
* map all i2c gpio pins on accelerant init
* use a smaller sub function to attach gpio info to connector i2c info


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-27 21:34:28 +00:00
Alexander von Gluck IV
4a0f028c4d * perform some i2c cleanup from xorg ati driver
* read gpio pins back after setting them to improve reliability


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-27 20:08:46 +00:00
Alexander von Gluck IV
2ce1337c71 * fix several i2c communication bugs
dealing with i2c register addresses.
* cleanup i2c hacks
* now receive the following message in SimNow:
  "No device present at I2C slave address 0x66"


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-26 16:50:29 +00:00
Clemens Zeidler
6c5757eedb Check if the socket has been created successfully.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-23 02:11:32 +00:00
Clemens Zeidler
a8e3ae78c9 Switch to BWeakReference class. Hope this does not break anything. Calling virtual destructur on a struct
should work fine, right?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-22 22:46:14 +00:00
Alexander von Gluck IV
e40c00685c * correct some naming after deeper investigation of
linux drm driver.  Seems radeon_hd isn't limited to the
  standard 0xa0 i2c slave address.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-21 21:36:00 +00:00
Alexander von Gluck IV
6655050606 * style fix
* clean up int types
* curly brace cleanup
* move vars away from top of functions
  when possible
* split DDR timings to seperate header to
  avoid warnings on unused items
* quite a few automated changes, please excuse
  things within diff still not fixed / incorrect


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-20 13:39:40 +00:00
Alexander von Gluck IV
6fca1a84fc * fix header function define
* while doing our last-resort fallback, skip
  TV DAC encoders as it is likely that is not
  what the user wants. This may need to change
  as the driver matures. (ex: only a tv is
  connected, no edid)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-20 12:47:47 +00:00
Siarzhuk Zharski
1724ebde55 usb_asix driver refactoring:
* work with multicast filter table implemented;
* new device lookup and creation procedure: avoid duplication 
  of supported devices information;
* coding style fixes;
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-18 16:47:47 +00:00
Alexander von Gluck IV
117e135799 * ddc still giving 128 bytes of 0's
* add code to check if 0 valid displays were found
* if 0 edid's were found, we inject the first connector
  as a last resort... SimNow seems to be ok with this and
  I get a valid screen mode set :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-18 15:29:24 +00:00
Siarzhuk Zharski
b1312c5c64 Updating vt612x and jmicron2x0 drivers to FreeBSD Release 8.2 sources.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-14 18:11:04 +00:00
Alexander von Gluck IV
54c0390b90 * remove un-needed i2c_bus on each connector... we simply set this up each time
it's needed using the gpio information
* rename gpio information struct to be cleaner and shorter
* add function to debug found connectors
* set gpio mask to 1 vs the defined mask... this seems to get us closer
  to working ddc / edid per connector
* change gpio_info u16's to u32's to ensure we aren't overflowing anything
* fix bug always setting hw_capable true
* change TRACE to ERROR to always show debug data when called


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-14 15:40:30 +00:00
Siarzhuk Zharski
288723f429 Bringing usb_davicom to life: part 3 of 3:
* Lot of code refactoring and code style fixes;
* Promiscuous mode implemented;
* Multicasting support implemented;
* Binary-search devices table lookup procedure used
  instead of switch one.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-12 19:42:52 +00:00
Siarzhuk Zharski
b337f35c45 Bringing usb_davicom to life: part 2 of 3:
* This part is just fixes to let the driver work. I have decided
  to separate this changes just for Adrien's information because 
  final version will be refactored significantly.
* The fixes:
  - Endpoint 3 acknowledgements must be enabled in USB Control Register
    to let async notifications work;
  - Functions to handle MII registers and MII initialization routines
    are implemented and used;
  - Sending WRITE1_REGISTER request typo was fixed;
  - Small typo in queueing RX iovec fixed: we are receiving 2 blocks not 1;
  - one byte size padding is required in case TX packet length is multiple 
    of pipe max packet size;
  - StopDevice procedure implemented;
  - StartDevice procedure fixed;

* Code style fixes are coming soon. Please be patient.  



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-12 19:35:28 +00:00
Siarzhuk Zharski
ed2e27f066 Bringing usb_davicom to life: part 1 of 3:
* Unfortunately I have to rollback r42712 completely because it was 
"the attempt in the wrong direction" and the working version was already
implemented on top of previous revision. Just fixed version and code style
refactored one are coming soon. Please be patient.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-12 19:19:11 +00:00
Alexander von Gluck IV
3cd033a15c * i2c locking should happen just before reading the edid
locking and unlocked on every bit read sounds excessive
* set vdif and vdif size to NULL... they really aren't needed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-11 23:26:12 +00:00
Alexander von Gluck IV
f6be39e0ae * correct naming error. (a shift is a shift until you use it.. then its a mask)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-11 21:34:06 +00:00
Axel Dörfler
57f2ed7eb3 * This should fix the GCC4 build (we should really try to eliminate those tiny
include differences between our compiler setups).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-11 20:16:09 +00:00
Axel Dörfler
654613b661 * Implemented intel_propose_display_mode() using the new helper functions.
* In intel_set_display_mode(), we now use the sanitize_display_mode() method
  directly in order to see if the mode is valid (it's valid when it doesn't
  need to be altered anymore).
* This should be the final nail on ticket #7419.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-11 18:32:56 +00:00
Axel Dörfler
83187b29d3 * Added helper functions for the "propose mode" accelerant hook.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-11 18:29:50 +00:00
Alexander von Gluck IV
b053beab99 * refactor GPU i2c bit-banging code to be correct using drm as reference
* add i2c locking code that represents common things we need to do before
  and after access


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-11 18:20:41 +00:00
Alexander von Gluck IV
d06251a95a * make ERROR define to always show AtomBIOS parsing errors
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-11 17:15:14 +00:00
Axel Dörfler
8a0a741db6 * Added missing but very common 1920x1080 resolution at 60Hz refresh. This
should help with #7419.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-11 12:21:33 +00:00
Alexander von Gluck IV
f6766f291e * rework i2c read / write to make sense using values provided
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-09 19:43:09 +00:00
Alexander von Gluck IV
f3ccbf7121 * document GPIO values better based on AMD docs
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-09 18:45:38 +00:00
Alexander von Gluck IV
c3ec7fedec * bug fix in AtomBIOS data table parser, incorrect int size causing issues
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-09 17:09:04 +00:00
Alexander von Gluck IV
a9d08e5e27 * adjust error to make more sense
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-09 15:44:27 +00:00
Alexander von Gluck IV
a8b357c747 * run edid check on all connectors regardless of encoder
* correction to output check (B_OK != true)
* check for invalid gpio (prevents seg violation)
* tab cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-08 22:11:20 +00:00
Alexander von Gluck IV
6b8f21461e * change c to cpp to resolve C89/C99 issue. (thanks Deadyak!)
* changing to cpp uncovered a few bugs in ide_adaptor
* correct losing signed integer
* correct a variable name that conflicted with a type
* gcc2 build now fixed after r42724


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-08 15:47:25 +00:00
Alexander von Gluck IV
51928f9997 * make ata/ide channel pretty names more descriptive
* verified nothing in the source tree references "IDE PCI"
* line length fixes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-08 03:15:37 +00:00
Alexander von Gluck IV
b5fc0237e1 * add i2c/ddc info storage to connector
* add edid info storage to display
* pass i2c/ddc information to common i2c code
* add code to read/write i2c/ddc
* i2c/ddc read/write code works 'in theory', needs tested
* detect monitors based on presence of edid on connector


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-06 23:00:07 +00:00
Alexander von Gluck IV
440381c60f * rename video_electronics to video_configuration as per Axel
* rename decode_* to get_*
* clean up get_* text when unknown connector/encoder


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-06 16:01:33 +00:00
Adrien Destugues
9bf2d48690 Some more work on usb_davicom driver :
* Setup the interrupt endpoint on device setup, not start
 * Fixup some flags I was setting wrong
 * Add even more debug traces


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-03 20:11:27 +00:00
Alexander von Gluck IV
cfda569d7f * add function to set up i2c bus for connector
* few tab fixes
* add Axel as author as the base i2c stuff is from intel_extreme


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-02 21:11:01 +00:00
Alexander von Gluck IV
a88394e56e * find GPIO pin connector i2c is on for DDC / EDID
* add i2c_bus to connector information


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-02 17:47:14 +00:00
Alexander von Gluck IV
f78f38a51c * rename wimax driver directory to wwan to be more generic
* given the rise of other 4G wwan technology such as lte, this
  seems cleaner and better matches wlan directory for wifi.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-02 16:27:35 +00:00
Alexander von Gluck IV
e53d637520 * reformulate display and connector storage to match AtomBIOS requirements
* each active gDisplay references a gConnector index
* add atombios DAC sense.. this really won't be the main call used...
  AtomBIOS expects you to attempt an EDID read to detect connected displays
* remove old manual DACSense
* next we attempt to add ddc / edid


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-01 15:27:57 +00:00
Jérôme Duval
67eb6cdee8 * extracted some private methods to have a more readable code
* fixed negative parameter values handling
* clean up and method shuffle


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-30 22:10:46 +00:00
Jérôme Duval
f7ca82dc00 Read the previous descriptor pointer before freeing transfer and transfer descriptors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-30 20:46:07 +00:00
Philippe Houdoin
a46e462db9 * Fix the "USB USB Webcam" name: now generic UVC USB webcam will be named, well, that:
Generic UVC USB Webcam.
* Added my own Logitech HD Pro C910, which publish a compound device class, not an UVC class.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-27 05:54:55 +00:00
Jérôme Duval
51a01ea03b Patch from Gabriel Hartmann for his GSoC UVC project. Coding style updates by myself. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-25 16:36:48 +00:00
Alexander von Gluck IV
b81f42ecbc * complete encoder detection
* need to break out connector and encoder addition into seperate functions as
  the linux kernel did... that function is getting pretty large and deep.
* my card seems to map everything as TV DAC or TMDS... weird.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-24 14:49:31 +00:00
Alexander von Gluck IV
2c062f84e5 * as we are doing a lot of math on bios in gAtomContext, lets make it a
uint8 vs a void pointer.
* guys at AMD confirmed that the method looking directly at the object table
  should be the only method used on modern cards (r600 or later)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-24 04:28:46 +00:00