- 05 Mar, 2012 1 commit
-
-
Kevin Wolf authored
Commit 10f8c755 broke the floppy driver by initialising the drives before the controller. This fix restores the right order. Additionally, floppy must assign the device's driver after 10f8c755 because it calls the device init function before generic CDI code can do the job. This could clearly need some cleanup so that CDI calls the device init functions again, but for now let's just fix the breakage. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 18 Jun, 2011 2 commits
-
-
! ata: Retrying after read/write errors helps to make the code work a bit more reliably on real hardware Signed-off-by:
Antoine Kaufmann <toni@tyndur.org> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
! ata: The busmaster DMA buffer must be aligned to 64k for DMA to work on real hardware, too Signed-off-by:
Antoine Kaufmann <toni@tyndur.org> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 25 Mar, 2011 1 commit
-
-
This patch fixes the e1000 driver in VMware (and potentially some real hardware as well) by enforcing a 16-byte alignment for transmit and receive descriptors. Without this fix, the card automatically aligns the addresses on a 16-byte boundary, causing corruption in several data structures. The specification specifically states "The * Descriptor Base Address must point to a 16-byte aligned block of data". VMware appears to be far more pedantic than QEMU and VirtualBox when using these buffers. Signed-off-by:
Matthew Iselin <matthew@theiselins.net> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 06 Mar, 2011 1 commit
-
-
Kevin Wolf authored
We use receive buffers of 1536 bytes, but tell the NIC that the buffer size is 2048. Probably not a good idea. While at it, make the buffer size setting in RCTL explicit, even though it's just a zero. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Rich Edelman <redelman@gmail.com>
-
- 23 Dec, 2010 3 commits
-
-
Kevin Wolf authored
+ hdaudio: Added a CDI driver for Intel HD Audio. Tested on qemu and VirtualBox. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Max Reitz <max@tyndur.org>
-
This adds an AC97 sound output driver using the CDI.audio interface. Signed-off-by:
Max Reitz <max@tyndur.org> Acked-By:
Matthew Iselin <matthew@theiselins.net> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
This adds the CDI.audio header for sound I/O drivers. Signed-off-by:
Max Reitz <max@tyndur.org> Acked-By:
Matthew Iselin <matthew@theiselins.net> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 27 Nov, 2010 1 commit
-
-
Kevin Wolf authored
! ata: Bit 3 in the Bus Master IDE Command Register is set if the DMA transfer is a bus master write, i.e. read from disk and write to memory. Current code got that wrong and sets it for writes to the disk. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 17 Nov, 2010 1 commit
-
-
* Unset the executable bit Signed-off-by:
Max Reitz <max@tyndur.org> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 10 Sep, 2010 1 commit
-
-
Kevin Wolf authored
If we want to point people at the CDI documentation, we should have some helpful content on the main page. This is a beginning, with a short introduction to CDI, and some links to the most important doxygen pages as well as to the git repo, mailing list and IRC. I already used this patch for generating new documentation, you can take a look at the usual URL (http://lpt.tyndur.org/cdi/english ) Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Rich Edelman <redelman@gmail.com>
-
- 28 Aug, 2010 2 commits
-
-
Kevin Wolf authored
This is the third e1000 model that is supported by VirtualBox. No further changes to the code seem to be required, it works fine as soon as the driver detects the device. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Matthew Iselin <matthew@theiselins.net>
-
Kevin Wolf authored
This extends the existing documentation for the storage module and adds an English translation. I consider cdi_storage_driver_register useless, so instead of documenting I removed it. If anyone has a use for it, please tell me and I'll try and find a reason why you're wrong. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Matthew Iselin <matthew@theiselins.net>
-
- 16 Aug, 2010 1 commit
-
-
This patch makes the e1000 driver work in VirtualBox. I'm working towards getting the driver working in VMWare as well, but VMWare emulates a different chip (82545 rather than 82540). Those fixes and adjustments will come in a different patch, at a later date. The biggest change here is that the driver now supports the microwire interface for reading from the EEPROM as well as the EERD. Signed-off-by:
Matthew Iselin <matthew@theiselins.net> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 27 Jul, 2010 2 commits
-
-
Kevin Wolf authored
Add some comments for previously undocumented structures, convert German comment to UTF-8 and add English translations. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Max Reitz <max@tyndur.org>
-
Kevin Wolf authored
There were CDI headers which included stdio.h and sys/types.h and used types of these header files. Usage of both headers is not permissible in the context of CDI, so replace them by standard types. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Max Reitz <max@tyndur.org>
-
- 14 May, 2010 1 commit
-
-
Kevin Wolf authored
Added English translation of the general interface description. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Rich Edelman <redelman@gmail.com>
-
- 13 Feb, 2010 1 commit
-
-
This patch provides a prototype and initial documentation for the cdi_provide_device function. Signed-off-by:
Matthew Iselin <matthew@theiselins.net> Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Rich Edelman <redelman@gmail.com> Acked-by:
Max Reitz <max@tyndur.org>
-
- 12 Feb, 2010 7 commits
-
-
Kevin Wolf authored
- misc.h: Removed memory management functions Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Matthew Iselin <matthew@theiselins.net> Acked-by:
Max Reitz <max@tyndur.org> Acked-by:
Rich Edelman <redelman@gmail.com>
-
Kevin Wolf authored
* In all drivers, replace cdi_alloc_phys_mem by cdi_mem_alloc * In all drivers, replace cdi_alloc_phys_addr by cdi_mem_map Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Matthew Iselin <matthew@theiselins.net> Acked-by:
Max Reitz <max@tyndur.org> Acked-by:
Rich Edelman <redelman@gmail.com>
-
Kevin Wolf authored
* pcnet: The initialization block a is temporary structure and doesn't belong in pcnet_device. The code for sending it is split out into its own function to make the switch to cdi_mem_alloc/free easier. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Matthew Iselin <matthew@theiselins.net> Acked-by:
Max Reitz <max@tyndur.org> Acked-by:
Rich Edelman <redelman@gmail.com>
-
Kevin Wolf authored
This adds a new CDI header cdi/mem.h. It unifies memory allocations (and memory areas passed from external sources) for different types of DMA, allows the OS layer to back it by shared memory (makes sense in a microkernel approach) and probably some more nice things. What cdi_mem_alloc/map/free are good for is obvious, I hope. To explain the use of the other functions, consider the following. Let's take a disk driver as an example. Instead of buffer/size its write function will directly get a memory area from the OS. The OS might already have allocated the memory physically contiguous, but it doesn't need to do so. The driver calls cdi_mem_require_flags which copies the data into a suited buffer - but if the OS already did the right thing, it's a no-op. cdi_mem_copy is for the other way round. Now the disk driver wants to read something from its disk. It gets a memory area from the OS and uses cdi_mem_require_flags to get something usable for DMA, which may or may not involve a copy. When the disk has transferred all the data, the driver uses cdi_mem_copy to make sure that the read data ends up in the buffer it was passed - and again, if the buffer had already the right flags this will be a no-op. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Matthew Iselin <matthew@theiselins.net> Acked-by:
Max Reitz <max@tyndur.org> Acked-by:
Rich Edelman <redelman@gmail.com>
-
* Change CDI headers to use angle brackets for other CDI headers Signed-off-by:
Matthew Iselin <matthew@theiselins.net> Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Max Reitz <max@tyndur.org> Acked-by:
Rich Edelman <redelman@gmail.com>
-
Kevin Wolf authored
Start documentation on general subjects that cannot be associated with any module or data structure. The page is linked from the Doxygen main page. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Antoine Kaufmann <toni@tyndur.org>
-
Kevin Wolf authored
Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Max Reitz <max@tyndur.org>
-
- 23 Jan, 2010 1 commit
-
-
Kevin Wolf authored
Handling partitions is not the disk driver's job. Remove the corresponding code. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Max Reitz <max@tyndur.org> Acked-by:
Rich Edelman <redelman@gmail.com>
-
- 10 Jan, 2010 1 commit
-
-
Kevin Wolf authored
Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 09 Jan, 2010 1 commit
-
-
This patch adds English translations to include/cdi/lists.h. Signed-off-by:
Rich Edelman <redelman@gmail.com> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 31 Dec, 2009 3 commits
-
-
Kevin Wolf authored
+ Add module documentation for Core module + Add some more doxygen commits in cdi.h + Add English translations for comments in cdi.h Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Matthew Iselin <matthew@theiselins.net> Acked-by:
Rich Edelman <redelman@gmail.com> Acked-by:
Max Reitz <max@tyndur.org>
-
Kevin Wolf authored
- cdi.h: cdi_run_drivers is no longer needed in the public interface. It's now something completely internal to the CDI implementation. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
* net.h: send_packet is currently in cdi_net_device despite being driver specific and not device specific. Move it to cdi_net_driver. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 30 Dec, 2009 3 commits
-
-
Kevin Wolf authored
* Instead of implementing the PCI scan in each driver, we can simply move the logic into the CDI library. It enumerates all PCI devices and calls init_device on all known drivers until it finds a driver that can handle the device. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Max Reitz <max@tyndur.org> Acked-by:
Matthew Iselin <matthew@theiselins.net>
-
Kevin Wolf authored
* Up to now, the cdi-device struct was created during the init_driver call of the driver and init_device only completed the initialisation. The new model is that init_device gets bus information (e.g. PCI address, device/vendor ID) and decides if it can handle the device. If so, it creates a cdi_device object and returns it. This way device creation is decoupled from driver initialisation and hot-plugging becomes possible. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Max Reitz <max@tyndur.org> Acked-by:
Matthew Iselin <matthew@theiselins.net>
-
Kevin Wolf authored
+ Each device gets a structure that links it to its bus. For now this means moving the cdi_pci_device out of the specific device struct of each driver into the generic cdi_device. Signed-off-by:
Kevin Wolf <kevin@tyndur.org> Acked-by:
Max Reitz <max@tyndur.org> Acked-by:
Matthew Iselin <matthew@theiselins.net>
-
- 28 Dec, 2009 1 commit
-
-
Kevin Wolf authored
! iso9660: If we start reading in the middle of a cache block, we must not try to copy a whole block, but stop at the end of the cache block. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 22 Dec, 2009 4 commits
-
-
Kevin Wolf authored
- cdi_device.type is redundant, we already have a pointer to the driver which stores the type. Remove it. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
+ Added mempool header written by Kevin as a temporary solution for the USB host controller drivers coming soon Signed-off-by:
Max Reitz <max@tyndur.org> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! cdi-osdep.h: Matt fixed the English documentation for CDI_DRIVER and I forgot to synchronise the German one in the same commit. This patch fixes it. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! iso9660: If an error occurs during a read operation, the CDI cache returns a NULL pointer. We better check for that. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 21 Dec, 2009 1 commit
-
-
Kevin Wolf authored
! ata: The error register is only valud if ERR is set in the status register Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-