- 03 Dec, 2020 1 commit
-
-
serial.h defines global variables, which it shouldn't do. Instead, it needs to declare them as extern (they are already defined in a source file). Signed-off-by:
Nico Mayer <mayerNico@outlook.de> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 07 May, 2017 1 commit
-
-
Copy from buffer to cache block only after verifying whether the cache block is valid. Signed-off-by:
Gurgel100 <baesae@hotmail.ch> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 26 Nov, 2016 1 commit
-
-
Kevin Wolf authored
A directory isn't supposed to contain multiple entries with the same name. Error out when someone tries to create a new directory entry with the same name as an existing entry uses. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 05 Nov, 2016 1 commit
-
-
Kevin Wolf authored
It shouldn't normally happen that there are two directory entries with the same name, but in order to avoid crashes on inconsistent file systems, let's make sure to free the right resource instead of just one with the same name. Also, remove only one directory entry so that another unlink() request can succeed and fully remove the second entry. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 16 Oct, 2016 5 commits
-
-
Kevin Wolf authored
We have done everything to support qemu's e1000e emulation now. The only missing part is fixing qemu so that it doesn't zero the buffer address in descriptors after using them. The spec is explicit that the CDI driver is right here and qemu isn't. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
The old e1000 models used to clear the interrupt flags in ICR on read, but e1000e doesn't do this any more. Just writing the bits back is fine for both, so let's do just that. Clearing the bits must be done before actually processing the interrupt in order to avoid races with new events. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
Checking whether bit 0 has been set in the status field only works for determining whether a descriptor has been used by the NIC if the bit is properly cleared before handing it to the device. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
Fix a debug output format string: The buffer address is 64 bits. Also avoid printing a warning for Tx Queue Empty interrupts, these are normal and expected. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
The EERD reading function missed that the offset for the EEPROM address differs between e1000 and e1000e, too. Instead of adding yet another parameter to do_read_eerd() that has to be passed by model-specific wrappers, put the parameter directly in the model struct and take them from there. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 16 Jan, 2016 9 commits
-
-
Kevin Wolf authored
So far we only set the format for the output widget. The stream must have the same format set. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
This is the "External Amplifier Power Down" flag and a 1 must be written to power the amplifier up. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
Widgets that aren't fully powered stay silent. So power them up. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
hda_set_volume() scaled the volume (which is between 0 and 255 in the CDI interface) to something between 0 and 127. That's not generally what the hardware wants. The number of "steps" are given in the amplifier capabilities parameter and this is what we need to scale to. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
While enumerating widgets, don't only consider output widgets (i.e. DACs), but also output pins (i.e. the jack or internal device wherer the sound actually goes). We need to enable the output there. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
Even for non-output widgets, gather some data and print it in debug mode. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
The code now continues iterating over all widgets even if it already found an output widget. That is exactly what it should be doing. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 30 Dec, 2015 7 commits
-
-
Kevin Wolf authored
As we currently don't forward any link changes to the OS, the most reasonable thing to do is to wait a bit during device initialisation to give it a chance to have the link set up before the OS tries to make a DHCP request. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
This adds support for the e1000e in my Thinkpad T500. The main difference between the already supported e1000 cards and the 8086:10f5 is that the EEPROM can't be accessed using EERD, but must use the flash interface. Apart from that, only the settings in TCTL differ. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
Before we can add another model that works differently, let's move a few model-specific things to e1000_model. This patch merely introduces some indirection, no semantic change is intended. It also adds a (commented out) function for e1000e EERD use, which is the same as for the previously supported e1000 models except that some flags are in different bit positions. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
This patch converts the existing PCI ID list into a list of model structs, which we will extend to store model-specific options and function pointers. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
! e1000: If we don't queue a new packet, we must not advance the tx_cur_buffer either. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
The hardware is supposed to write to these, so let's make sure that the compiler doesn't cache any values. While at it, assert the right alignment. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
It's bit 3, not bit 2. Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 21 Dec, 2015 3 commits
-
-
Kevin Wolf authored
Cc: cdi-devel@tyndur.org Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
Cc: cdi-devel@tyndur.org Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
Kevin Wolf authored
The .fs_probe callback checks whether the file system could be mounted on a given storage device without actually mounting it. On success, it can return the volume name of the file system. Cc: cdi-devel@tyndur.org Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 12 Dec, 2015 6 commits
-
-
Max Reitz authored
* struct ata_device inherits cdi_storage_device or cdi_scsi_device. Since this driver does not know all of the fields contained therein for sure, the object has to be initialized to 0. Signed-off-by:
Max Reitz <max@tyndur.org> Acked-by:
Kevin Wolf <kevin@tyndur.org>
-
Max Reitz authored
! ATAPI commands need to be of size 12. However, general SCSI packets may have any length and thus the SCSI command to be sent has to be copied to a temporary buffer before it can be passed to the ATAPI device. Signed-off-by:
Max Reitz <max@tyndur.org> Acked-by:
Kevin Wolf <kevin@tyndur.org>
-
Max Reitz authored
+ This adds a USB mass storage device driver. It is missing proper error handling (e.g. for STALLed endpoints) and support for any USB MSD class other than bulk-only (e.g. control-bulk-interrupt for USB floppy drives). Signed-off-by:
Max Reitz <max@tyndur.org> Acked-by:
Kevin Wolf <kevin@tyndur.org>
-
Max Reitz authored
+ This adds a USB 2.0 bus driver. It is missing support for USB 3.x (obviously), and also interrupt and isochronous transfers (and other things, too). Also, it is probably bad (e.g. there is only a single counter for device IDs instead of keeping track of which IDs are used and which are not). Signed-off-by:
Max Reitz <max@tyndur.org> Acked-by:
Kevin Wolf <kevin@tyndur.org>
-
Max Reitz authored
+ This adds an EHCI USB host controller driver. It is missing support for periodic schedule (interrupt and isochronous transfers), hotplugging, suspend/resume, etc. pp.. Signed-off-by:
Max Reitz <max@tyndur.org> Acked-by:
Kevin Wolf <kevin@tyndur.org>
-
Max Reitz authored
+ Add headers to be used by USB host controller drivers, the USB bus driver, and USB device drivers. These headers are still lacking functions for periodic transactions (interrupt/isochronous), hotplugging, suspend/resume, etc. pp.. Signed-off-by:
Max Reitz <max@tyndur.org> Acked-by:
Kevin Wolf <kevin@tyndur.org>
-
- 21 Oct, 2015 1 commit
-
-
+ I cannot remember how well this driver works, but it is certainly better than having none at all. Signed-off-by:
Max Reitz <max@tyndur.org> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- 19 Jul, 2015 5 commits
-
-
+ Currently, all devices provided on a bus have to be passed to the init_device() function of all drivers handling any device type on that bus. cdi_handle_bus_device() can be used by the driver to specify a pattern (struct cdi_bus_device_pattern) which allows the CDI implementation to speed up the selection of the correct driver for a new device. Signed-off-by:
Max Reitz <max@tyndur.org> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
+ One SCSI device may provide multiple LUNs. Add a field for the LUN count to cdi_scsi_device. + Furthermore, add a field to select the LUN to cdi_scsi_packet. Signed-off-by:
Max Reitz <max@tyndur.org> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
- Remove týndur-specific fields from non-OS-dependant structures Signed-off-by:
Max Reitz <max@tyndur.org> Acked-by:
Kevin Wolf <kevin@tyndur.org> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
+ Add cdi_elapsed_ms() + Add CDI_CONDITION_WAIT() and CDI_CONDITION_WAIT_SLEEP() macros for waiting until a volatile condition is fulfilled or a timeout occurs Signed-off-by:
Max Reitz <max@tyndur.org> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-
+ Type inheritance is a common pattern seen in CDI. The new CDI_UPCAST() macro makes conversion to superclasses safer and allows for multiple inheritance if the need arises. + Add some endianness conversion functions. Even though support for big endian platforms is nowhere in sight, endianness conversion is still a common operation which should not be implemented in the driver itself but provided by the CDI implementation. Signed-off-by:
Max Reitz <max@tyndur.org> Signed-off-by:
Kevin Wolf <kevin@tyndur.org>
-