Commit Graph

33904 Commits

Author SHA1 Message Date
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
d3e3ae8edc Implement a very naive configure_link_device() function that just blindly sets
the first possible configuration. This will probably result in a "everything
mapped to a single IRQ" situation, but should get systems that make use of link
devices in APIC mode at least running.
To make more sensible decisions the interface has to be changed next as it
currently doesn't allow to get anything but the very first possible config.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 13:15:26 +00:00
Michael Lotz
2a127b718c Reimplement the IRQ setting function. Based on the template we get from current
resources we input the desired configuration and then set them. Note that the
set_current_resources() ("_SRS") method is pretty picky (on the low-level ACPI
side) and needs the configuration in exactly the form get_current_resources()
("_CRS") returns, so that's why we need to utilize that buffer as a template.
Looking at FreeBSD there seem to be systems that don't actually provide a
"_CRS", where we will need to fall back to using the get_possible_resources()
("_PRS") data to construct a valid template...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 12:56:49 +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
Michael Pfeiffer
6baeabf916 * merging gutenprint-5.2.7 into the main branch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 11:20:56 +00:00
Fredrik Modeen
cd273c4865 Guess the constructor was not only used in the layout API ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 08:25:41 +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
348eade4a8 Print the routing table unconditionally for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 01:17:02 +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
9b50b2889a * Implement the PCI address retrieval on the kernel side and remove the need
for the introduced get_pci_info() method in ACPI as it doesn't work reliably.
  The new version should be more robust and efficient as it only resolves the
  root bridge values once.
* Don't try to read and use the secondary bus register for the root bridge as
  it isn't actually a normal bridge. We get the root bridge bus by using the
  Base Bus Number (_BBN) method.
* Rewrite the logic to recurse down to all busses.
* Minor debug output changes to make the info more readable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 01:07:39 +00:00
Michael Lotz
56b5ad0781 Added a temporary opt-in option "enable_ioapic" to the boot menu. This way the
IO-APIC can be easily enabled to test it on various configurations. Note that
the previous default opt-out didn't work because the safemode options would not
be touched at all when not actually entering the boot menu.
Once IO-APIC is more broadly tested this can be removed again and the opt-out
option reenabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 21:41:09 +00:00
Michael Lotz
90fd2a0795 Added root name for PCI express, a note about why it works even without it and
a TODO to eventually do it correctly anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 17:36:10 +00:00
Michael Lotz
8c804ef2d6 * Added functionality to resolve the addresses provided in the IRQ routing table
to PCI devices partly using the new ACPI interface and by using bridge config
  information from PCI.
* Added lookup of matching device/pin combinations and update of the relevant
  interrupt line variable via the new PCI module function. This means that the
  Global System Interrupt (GSI) that is used after switching to the IO-APIC is
  now stored in the PCI config space and drivers enumerating these devices will
  now attach their interrupt handlers to the right IRQs.
* Resolve all relevant interrupt information directly into the irq_routing_entry
  so that can be used as the single source for config information. This includes
  resolving the current setting of any PCI link devices into the irq field that
  represents a GSI now.
* Use that info to configure interrupts in arch_int.cpp and remove the logic
  there.
* Some cleanup and added debug output.

This implements the final missing part for using IO-APICs and full APIC mode for
interrupt routing. Note that there is no quirk handling of any form, so this
may very well not work on some configurations. Note also that I have tested this
only on one machine so far. Once proper testing is done the default of disabling
the IO-APIC can be removed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 17:32:12 +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
François Revol
6d4e8bc473 More Milan specific stuff...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 21:35:17 +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
Axel Dörfler
ccb1117c85 * Fixed a bug in BPoseView::CreatePoses() that Ingo found, but was apparently
too lazy to fix?!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:43:27 +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
François Revol
6091174371 Add some calls for Milan debugging.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:11:05 +00:00
Axel Dörfler
4296233f0e * Made the messed up BMessage* constructors private - since it only affects the
layout API, we probably can just phase it out after a while.
* Introduced new constructors, and added missing flags to one of them to make
  it more convenient to use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:04:55 +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
Axel Dörfler
10785555c1 * Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 19:46:55 +00:00
Axel Dörfler
ff3b4246cc * Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 19:39:39 +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
Axel Dörfler
a11e2f430c * Minor coding style fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 19:20:39 +00:00
Alexander von Gluck IV
829200a090 rework r41321, check first character to see if string is empty. Thanks Ingo and Axel!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 18:30:36 +00:00
Alexander von Gluck IV
0974aaee15 add (slightly overly) cautious checks of battery info to avoid NULL segfault... acpi can be flakey at times
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 16:52:26 +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
Michael Lotz
218aaf536f * Prettify the printed routing table.
* Remove wrong extra line when printing an irq_descriptor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 02:01:09 +00:00
Michael Lotz
1882d05b95 We need to specify the intended interrupt model with ACPI so that we get the
correct PCI IRQ routing table for that mode. With this, we finally get the right
PIRQ <-> Global System Interrupt mapping and can therefore program the right
IO APIC entries. The only missing part now is to fix up the pci_info of the
devices with the then active GSI.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 01:55:58 +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
Axel Dörfler
968d7d8c8d * Forgot to remove some unused code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 22:05:52 +00:00
Axel Dörfler
2bd44ad179 * Changed the look and text of ReadOnlyBootPrompt to be a bit more inviting.
* This should close #5786, but YMMV - comments and corrections welcome!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 21:49:18 +00:00
Axel Dörfler
09dc38501a * Added missing 'const' for the entry_ref paramter of Load(), and Save().
* Cleaned up Keymap.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 21:35:39 +00:00
Michael Lotz
c846e2aab0 Remove wrong comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 20:06:23 +00:00
Michael Lotz
c0b7f988f4 * Change some of the structure fields to more sensible types.
* The irq values we get from ACPICA are already converted, remove the wrong
  extra conversion from bitfield to irq number.
* Add and handle extended irq structures.
* Disable the legacy PIC when done configuring the IOAPIC. Since during that
  configuration the ACPI module is initialized, the ACPI SCI is still enabled
  in the PIC instead of the IOAPIC. We'll have to delay that routing in the
  ACPI module for it to work.
* Correctly handle the fixed IRQ case for the PCI interrupt routing (hopefully).
* Actually allow for enumeration of possible IRQ settings. Not yet used though.

All of this brings us a bit closer, though it still won't work for PCI
interrupts. ISA interrupts work fine through the IOAPIC as far as my hardware
goes, but PCI interrupts are connected to dedicated IOAPIC pins and I still
haven't figured out how to determine their exact routing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 19:59:04 +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
Alexander von Gluck IV
afa7517fc7 small logic correction, string compare reversed for empty battery slot test
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 18:35:43 +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
Joachim Seemer
f79510c141 Changed comment prefix from # to //. Thanks yourpalal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-04 18:27:00 +00:00
Joachim Seemer
082f2abce1 User taos found another unneeded comma and enforced 80 chars/line on two occasions. Thanks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-04 18:13:17 +00:00
Michael Lotz
8e52f69ef2 Cleanup and a minor debug output change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-03 22:49:27 +00:00
François Revol
90d5d9525e Add j2k extension to JPEG2000, some samples can be found at http://www.openjpeg.org/index.php?menu=samples
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-02 12:56:39 +00:00