#
629f071b |
|
27-Feb-2024 |
X512 <danger_mail@list.ru> |
pci: extend MSI interrupt vector number to 32 bits Also increase MSI message data size to 32 bits according to PCIe spec. Remove 0xff check for MSI interrupts because it is potentially valid interrupt vector number. Reject 0xff only for legacy pin interrupts. - MSI-X supports up to 2048 interrupts per device that do not fit to `uint8`. - Non-x86 systems may use separate interrupt vector ranges for hard-wired interrupts and MSI interrupts so `uint8` is not enough to represent all of them. Change-Id: Iaf9ffb197ec23db0f97ffe3ea756d28d7bfc8705 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7433 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
c01fadca |
|
30-Jul-2013 |
Jerome Duval <jerome.duval@gmail.com> |
AHCI: add MSI support.
|
#
2f0f9d87 |
|
14-Sep-2012 |
Marcus Overhagen <marcus@overhagen.de> |
cleanup variable naming for port count
|
#
1a4dcbd8 |
|
28-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* gPCI was never set anymore after my changes. I replaced it now by a fPCI member in AHCIController, since, at least in theory, every PCI device could come with its own module. * Fixed exported module names to indicate compliance with the new device manager. * Apparently, GCC4 doesn't like mixing C++/C linkage even for variables anymore, though it really shouldn't care about that. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25699 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
368167ed |
|
26-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Integration of the new driver architecture. * Moved devfs from fs/ to device_manager/, and separated the legacy driver support from it. * Removed fast_log module. * There are a couple of (temporary) regressions, though: - legacy SATA and ISA IDE support is disabled, the drivers haven't been ported yet. - The not yet used ATA bus manager hasn't been ported yet, either. - AHCI changes have not been tested. - the listdev command has been removed from the build (as it currently doesn't work anymore). - device manager generated IDs currently are not freed anymore when a device node is removed. - generic drivers can't yet use the new driver architecture. - simple busses that do not support device types won't work yet. - legacy driver publishing/unpublishing (ie. what USB needs) has not been tested, and may be broken. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25662 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27367cc3 |
|
19-Nov-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Workaround for ICH6M: ports implemented mask 0 is no longer an error. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22959 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
79844706 |
|
10-Nov-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Propagate is-ATAPI restriction to the SCSI bus manager. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22874 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
83447512 |
|
03-Oct-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Changed device detection. The driver now first uses device and vendor id to check for devices. This allows using devices that are in IDE compatibility mode. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22419 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
22cf14cf |
|
24-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
perform port reset and wait for devices to be detected git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22293 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9382f576 |
|
11-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
correct port number handling allocate memory for command list and fis git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22221 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
25f926d8 |
|
01-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
forward scsi request to the ports git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22146 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4f733fe9 |
|
01-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added Interrupt handling framework git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22145 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3d416484 |
|
01-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
implemented controller reset and AHCI enable, init a port object for each implemented device port git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22144 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
105f6223 |
|
01-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
print proper values for zero-based numbers git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22141 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
093a713d |
|
01-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
map registers and print some information git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22137 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
036a8857 |
|
28-Aug-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added a workaround to prevent loading the driver multiple times for the same device git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22099 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4f6fa362 |
|
27-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed driver initialization - you are supposed to call init_driver() and uninit_driver() yourself. We're also using this to let the controller access the pci_device object. * Fixed some style violations for your pleasure ;-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22082 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
48a55608 |
|
26-Aug-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added a completely broken way to get the pci_device git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22075 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
21255d1f |
|
26-Aug-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
moved controller specific functionality into it's own class git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22069 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c01fadcadb0f00bfeac3e7c5572f9ebdd8301799 |
|
30-Jul-2013 |
Jerome Duval <jerome.duval@gmail.com> |
AHCI: add MSI support.
|
#
2f0f9d8780ed3f7ec4804f2aba568868f75251f3 |
|
14-Sep-2012 |
Marcus Overhagen <marcus@overhagen.de> |
cleanup variable naming for port count
|
#
1a4dcbd8dedf06b9625fcf6ad4c74b14cb796803 |
|
28-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* gPCI was never set anymore after my changes. I replaced it now by a fPCI member in AHCIController, since, at least in theory, every PCI device could come with its own module. * Fixed exported module names to indicate compliance with the new device manager. * Apparently, GCC4 doesn't like mixing C++/C linkage even for variables anymore, though it really shouldn't care about that. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25699 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
368167ede8118f72da8c9ac5bb98ce9b46a8a639 |
|
26-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Integration of the new driver architecture. * Moved devfs from fs/ to device_manager/, and separated the legacy driver support from it. * Removed fast_log module. * There are a couple of (temporary) regressions, though: - legacy SATA and ISA IDE support is disabled, the drivers haven't been ported yet. - The not yet used ATA bus manager hasn't been ported yet, either. - AHCI changes have not been tested. - the listdev command has been removed from the build (as it currently doesn't work anymore). - device manager generated IDs currently are not freed anymore when a device node is removed. - generic drivers can't yet use the new driver architecture. - simple busses that do not support device types won't work yet. - legacy driver publishing/unpublishing (ie. what USB needs) has not been tested, and may be broken. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25662 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27367cc30809568f4fd7480ee160af46511209f9 |
|
19-Nov-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Workaround for ICH6M: ports implemented mask 0 is no longer an error. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22959 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
79844706c278112c1e949850c11757de3fd26fc0 |
|
10-Nov-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Propagate is-ATAPI restriction to the SCSI bus manager. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22874 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
83447512ed157f2fbe0165c57a924aad1de14c43 |
|
03-Oct-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Changed device detection. The driver now first uses device and vendor id to check for devices. This allows using devices that are in IDE compatibility mode. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22419 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
22cf14cfbeb75dfc24947cb395368050f919b127 |
|
24-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
perform port reset and wait for devices to be detected git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22293 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9382f576917776521166203d7a1ecde8aaab8341 |
|
11-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
correct port number handling allocate memory for command list and fis git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22221 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
25f926d8e4b852f0d88a63ce005c18309205407b |
|
01-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
forward scsi request to the ports git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22146 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4f733fe93bda89631a901a417e0cbca1b00b97c0 |
|
01-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added Interrupt handling framework git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22145 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3d41648479b388410eaecae895cc5bcf6f931408 |
|
01-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
implemented controller reset and AHCI enable, init a port object for each implemented device port git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22144 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
105f6223108a543bed34c92210b81edfd7173898 |
|
01-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
print proper values for zero-based numbers git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22141 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
093a713df2e9cf464741c78b3e8bc37df8d0a2b1 |
|
01-Sep-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
map registers and print some information git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22137 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
036a8857a688d19fa7d268315d2df9253112e573 |
|
28-Aug-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added a workaround to prevent loading the driver multiple times for the same device git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22099 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4f6fa362cfa47f22a0c789a42d35556d7ac25a31 |
|
27-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed driver initialization - you are supposed to call init_driver() and uninit_driver() yourself. We're also using this to let the controller access the pci_device object. * Fixed some style violations for your pleasure ;-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22082 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
48a55608e6e5e34e123d00c5e7f07581fcf70473 |
|
26-Aug-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added a completely broken way to get the pci_device git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22075 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
21255d1fc7c8179fbcb979c4600884605b8973c3 |
|
26-Aug-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
moved controller specific functionality into it's own class git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22069 a95241bf-73f2-0310-859d-f6bbb57e9c96
|