Commit Graph

73 Commits

Author SHA1 Message Date
Alexander Boettcher 6c65e436bf usb: use io_mem on x86 via platform driver
Issue #1487
2015-05-06 10:55:22 +02:00
Alexander Boettcher a4d6be1b3d wifi: use io mem via device interface
Issue #1487
2015-05-06 10:55:22 +02:00
Alexander Boettcher b7ca04ddde dde_kit: use io ports via device interface
Issue #1487
2015-05-06 10:55:21 +02:00
Alexander Boettcher 4ead4484ec dde_linux: upgrade quota for wifi
Issue #755
2015-05-06 10:55:20 +02:00
Alexander Boettcher d37d2bd737 dde_linux: upgrade quota for usb_drv
Issue #755
2015-05-06 10:55:20 +02:00
Alexander Boettcher df50d1b29d run: adjust autopilot run scripts to pci changes
Issue #1486
2015-05-06 10:55:19 +02:00
Alexander Boettcher e4d663cf41 pci: remove device_cap from dma calls
Issue #1486
2015-05-06 10:55:18 +02:00
Alexander Boettcher 5c1504fd8f wifi: use irq via device interface
Issue #1471
2015-05-06 10:55:18 +02:00
Alexander Boettcher a58bc84d3e usb: use irq via platform driver or directly
Issue #1471
2015-05-06 10:55:18 +02:00
Josef Söntgen bfb47cfd4e wifi_drv: use asynchronous IRQ session interface
Issue #1456.
2015-04-23 16:47:59 +02:00
Norman Feske eaab23c012 base: const-correctness of Allocator interface
This patch adds const qualifiers to the functions Allocator::consumed,
Allocator::overhead, Allocator::avail, and Range_allocator::valid_addr.

Fixes #1481
2015-04-17 16:13:22 +02:00
Norman Feske 270f1068cb os: Move Ring_buffer to Genode namespace
Fixes #1479
2015-04-17 16:13:21 +02:00
Norman Feske d9d65aa86b base: use reference for ascii_to output argument
Issue #1477
2015-04-17 16:13:19 +02:00
Josef Söntgen dd47129bef nic session: link-state change handling
A Nic::Session client can install a signal handler that is used to
propagate changes of the link-state by calling 'link_state_sigh()'.
The actual link state is queried via 'link_state()'.

The nic-driver interface now provides a Driver_notification callback,
which is used to forward link-state changes from the driver to the
Nic::Session_component.

The following drivers now provide real link state: dde_ipxe, nic_bridge,
and usb_drv. Currently, OpenVPN, Linux nic_drv, and lan9118 do not
support link state and always report link up.

Fixes #1327
2015-03-27 11:53:13 +01:00
Norman Feske 560a58e5c6 Move packet stream to Genode namespace, fix #1455 2015-03-19 08:57:22 +01:00
Alexander Boettcher cd764a6aa6 usb: support multi touch devices
Issue #1444
2015-03-19 08:57:18 +01:00
Josef Söntgen 47b0aea30d wifi_drv: use report mechanism in wifi.run
Update the wifi run script to reflect the current configuration
mechanism used by the wifi driver.

Issue #1439.
2015-03-13 12:17:28 +01:00
Josef Söntgen 9d5b119186 wifi_drv: add dummy member to empty structs
The size of empty structs differs in C (0 byte) and C++ (1 byte), which
leads to different offsets in compound structures. This fixes the driver
on 32Bit platforms.

Issue #1439.
2015-03-13 12:17:27 +01:00
Josef Söntgen 36bcc69faf wifi_drv: on timeout return correct remaining time
Issue #1439.
2015-03-13 12:17:27 +01:00
Josef Söntgen 7e69013e0c wifi_drv: store timeout also in timer_list.expires
The wireless stack calls timer_before(foo, timer.expires) and up to now
it was always 0. Let's be save and set this field when scheduling the
timer, although it worked fine so far.

Issue #1439.
2015-03-13 12:17:27 +01:00
Josef Söntgen 88fc1eee61 wifi_drv: add verbose attribute in config node
Among others, the driver will now print the MAC address of the wireless
device when 'verbose="yes"' is added to <config>.

Issue #1439.
2015-03-13 12:17:27 +01:00
Josef Söntgen c46e3db4d5 wifi_drv: silence 'Slab too large' error
We will always see this error message when the driver is started. It
is expected and not an actual error. When the driver is running it will
not allocate larger chunks than the Slab provides. Therefore, we can
safely ignore this message.

Issue #1439.
2015-03-13 12:17:27 +01:00
Josef Söntgen 7923b287d9 wifi_drv: fix find_next_bit function
Among others, this function is used in the for_each_set_big() macro,
which is used when configuring the data rate tables. Therefore, this
fixes observed performance issues.

Fixes #1439.
2015-03-13 12:17:25 +01:00
Josef Söntgen f94176af3f wifi_drv: handle invalid config_rom and psk
* Only attach the config_rom dataspace if it is valid.
* Check if PSK has a valid length.

Issue #1439.
2015-03-13 12:17:25 +01:00
Josef Söntgen d443c136ed wpa_supplicant: report quality value
Issue #1439.
2015-03-13 12:17:25 +01:00
Alexander Boettcher d68c7d1d10 usb: rename coordinates to width/height for touch 2015-02-27 11:48:36 +01:00
Martin Stein d2b82274db run scripts: don't use is_qemu_available anymore
With the new run tool, there is no more is_qemu_available function. However,
some scripts still try to use it because only frequently used scripts were
updated by now. The commit replaces the function calls with the new
'have_include power_on/qemu' check.

Ref #1419
2015-02-27 11:48:07 +01:00
Josef Söntgen 894974f73b wifi_drv: copy firmware images to build directory
Always copy the firmware images to the bin directory within the
build directyry when building the wifi_drv binary.

Issue #1415.
2015-02-27 11:48:06 +01:00
Josef Söntgen 818dad72d0 dde_linux: download firmware for iwlwifi driver
Also download firmware images needed by the wifi_drv when preparing
the dde_linux port. The images are placed in 'firmware' directory.

Issue #1415.
2015-02-27 11:48:06 +01:00
Josef Söntgen 85031f1c1a wifi: report wlan networks
The wifi_drv now provides two reports. The first one contains all
accesspoints that were found while scanning the supported frequencies.
The second one reports the state of the driver, i.e., if it is
conntected to an accesspoint or not. In addition to that, the driver
now gets its configuration via a ROM session.

More detailed information are available in 'repos/dde_linux/README'.

Issue #1415.
2015-02-27 11:48:06 +01:00
Alexander Boettcher 2e1686558c run: constrain physical memory for pci/acpi driver
Permit pci/acpi driver to constrain physical memory allocation to needs of
the driver it serves.

Fixes #1045
2015-02-16 13:40:38 +01:00
Sebastian Sumpf c2c8483293 usb_drv: Fix controller initialization on RPI
Execute high priority tasklets immediately, these tasklets need to be processed
before any other work.

Issue #1401
2015-02-16 13:40:36 +01:00
Sebastian Sumpf 6d2c697da1 lxip: Fix timeout handling for 'schedule_timeout'
Up until now 'schedule_timeout' did only wait for the next signal to occur.
However, we might run into situations where there won't occur signals for longer
periods of time. Therefore, we took care of the respective timeout handling.

This commit also adds Genode's tracing support

Issue #1310
2015-02-16 13:40:34 +01:00
Sebastian Sumpf 8843564850 usb_drv: USB terminal driver
Issue #1329
2015-02-16 13:40:34 +01:00
Sebastian Sumpf 0c2bdf9edd usb_drv: Remote USB driver interface
Issue #1329
2015-02-16 13:40:33 +01:00
Sebastian Sumpf 15a379894a lxip: Fix on OKL4
This has been broken for a while now. Use correct (global) signal transmission,
do not use local signal transmission, as signals seems to get lost.

Issue #1310
2015-01-26 12:28:42 +01:00
Josef Söntgen a36d0ec83a lxip: provide struct file pointer for udp_poll
Lxip may deference the file pointer in 'udp_poll()'. So we provide a
valid dummy object.

Fixes #1371.
2015-01-20 12:05:54 +01:00
Alexander Boettcher 0f18ecc142 base: handle input overflow exception
Fixes #1348
2015-01-09 11:52:06 +01:00
Alexander Boettcher a59cf9f557 usb: wacom touchscreen support 2014-12-19 13:58:48 +01:00
Christian Helmuth 22db466194 wifi_drv: adapt wifi.run for iwl7260
Fixes #1317.
2014-12-19 13:58:48 +01:00
Christian Menard fa0f7c0d6d wifi_drv: enable support for iwl7260
- essential support for 7260 chipset and DMA fixes
- assign mvm->pm_ops at beginning of function iwl_op_mode_mvm_start.
  iwl_mvm_mac_setup_register() uses mvm->pm_ops, but it is called
  before this field is set to a valid value.
- disable call to function iwl_mvm_prepare_multicast.
  This function leads to a pagefault, as it aspects a list of multicast
  addresses, but the list is empty as it is not generated by this port.
2014-12-19 13:58:48 +01:00
Josef Söntgen b557fb13f9 wifi_drv: fix timer scheduling
The context of timer are now inserted correctly and the actual timer
triggering the exection of each context is always programmed if the
head of the timer list changes.

Fixes #1326.
2014-12-19 13:58:46 +01:00
Josef Söntgen 4c7a5bb388 wifi_drv: call schedule() in sleep functions
The jiffies are only updated on each round of scheduling the runnable
tasks. We have to schedule the current task that executes the sleep
call to update the jiffies count and thereby preventing the task from
entering an endless loop when using a statement like
'while (!time_after(jiffies, now + timeout)) { msleep(1); }'.

Related to #1326.
2014-12-16 15:08:07 +01:00
Josef Söntgen 9ed935ff2a wifi_drv: look for PCI_CLASS_NETWORK_OTHER only
Instead of probing all device on the PCI bus just look for devices
matching PCI_CLASS_NETWORK_OTHER. This fixes issues with other devices
on the PCI bus, e.g. the GPU, when access their extended config space.

Related to #1326.
2014-12-16 15:07:56 +01:00
Christian Helmuth 9996acf091 dde_linux: check tools needed for libnl 2014-12-05 11:00:15 +01:00
Sebastian Sumpf a4f7800bf0 lxip: signal NETDEV_TX_BUSY if tx queue is full 2014-11-28 12:02:38 +01:00
Josef Söntgen 703e3622ff wifi_drv: Port of the Linux wireless stack 2014-11-28 12:02:36 +01:00
Josef Söntgen 2eaa55e6b1 dde_linux: remove base cxx from lxip.mk 2014-11-28 12:02:36 +01:00
Josef Söntgen f127f5c7fc dde_linux: remove base cxx dep from usb.inc 2014-11-28 12:02:36 +01:00
Josef Söntgen 8870539904 dde_linux: clean up lxip patches 2014-11-28 12:02:36 +01:00