<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/bluetooth, branch v5.6.13</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v5.6.13</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v5.6.13'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2020-01-24T18:57:53Z</updated>
<entry>
<title>Bluetooth: btrtl: Use kvmalloc for FW allocations</title>
<updated>2020-01-24T18:57:53Z</updated>
<author>
<name>Maxim Mikityanskiy</name>
<email>maxtram95@gmail.com</email>
</author>
<published>2020-01-24T17:15:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=268d3636dfb22254324774de1f8875174b3be064'/>
<id>urn:sha1:268d3636dfb22254324774de1f8875174b3be064</id>
<content type='text'>
Currently, kmemdup is applied to the firmware data, and it invokes
kmalloc under the hood. The firmware size and patch_length are big (more
than PAGE_SIZE), and on some low-end systems (like ASUS E202SA) kmalloc
may fail to allocate a contiguous chunk under high memory usage and
fragmentation:

Bluetooth: hci0: RTL: examining hci_ver=06 hci_rev=000a lmp_ver=06 lmp_subver=8821
Bluetooth: hci0: RTL: rom_version status=0 version=1
Bluetooth: hci0: RTL: loading rtl_bt/rtl8821a_fw.bin
kworker/u9:2: page allocation failure: order:4, mode:0x40cc0(GFP_KERNEL|__GFP_COMP), nodemask=(null),cpuset=/,mems_allowed=0
&lt;stack trace follows&gt;

As firmware load happens on each resume, Bluetooth will stop working
after several iterations, when the kernel fails to allocate an order-4
page.

This patch replaces kmemdup with kvmalloc+memcpy. It's not required to
have a contiguous chunk here, because it's not mapped to the device
directly.

Signed-off-by: Maxim Mikityanskiy &lt;maxtram95@gmail.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_qca: Enable power off/on support during hci down/up for QCA Rome</title>
<updated>2020-01-16T05:30:35Z</updated>
<author>
<name>Rocky Liao</name>
<email>rjliao@codeaurora.org</email>
</author>
<published>2020-01-16T03:22:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ae563183b647b3bdb47e8a78a5de879adf733735'/>
<id>urn:sha1:ae563183b647b3bdb47e8a78a5de879adf733735</id>
<content type='text'>
This patch registers hdev-&gt;shutdown() callback and also sets
HCI_QUIRK_NON_PERSISTENT_SETUP for QCA Rome. It will power-off the BT chip
during hci down and power-on/initialize the chip again during hci up. As
wcn399x already enabled this, this patch also removed the callback register
and QUIRK setting in qca_setup() for wcn399x and uniformly do this in the
probe() routine.

Signed-off-by: Rocky Liao &lt;rjliao@codeaurora.org&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_qca: Retry btsoc initialize when it fails</title>
<updated>2020-01-15T21:36:57Z</updated>
<author>
<name>Rocky Liao</name>
<email>rjliao@codeaurora.org</email>
</author>
<published>2020-01-15T08:55:51Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=bb2500ab0270aa0d1d39614f08f4f9a2dc0df8c1'/>
<id>urn:sha1:bb2500ab0270aa0d1d39614f08f4f9a2dc0df8c1</id>
<content type='text'>
This patch adds the retry of btsoc initialization when it fails. There are
reports that the btsoc initialization may fail on some platforms but the
repro ratio is very low. The symptoms is the firmware downloading failed
due to the UART write timed out. The failure may be caused by UART,
platform HW or the btsoc itself but it's very difficlut to root cause,
given the repro ratio is very low. Add a retry for the btsoc initialization
can work around most of the failures and make Bluetooth finally works.

Signed-off-by: Rocky Liao &lt;rjliao@codeaurora.org&gt;
Reviewed-by: Matthias Kaehlcke &lt;mka@chromium.org&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_shutdown()</title>
<updated>2020-01-15T21:36:57Z</updated>
<author>
<name>Rocky Liao</name>
<email>rjliao@codeaurora.org</email>
</author>
<published>2020-01-15T08:55:50Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=5559904ccc0867a0ce796761681e40defe4a5f44'/>
<id>urn:sha1:5559904ccc0867a0ce796761681e40defe4a5f44</id>
<content type='text'>
Current qca_power_shutdown() only supports wcn399x, this patch adds Rome
power off support to it. For Rome it just needs to pull down the bt_en
GPIO to power off it. This patch also replaces all the power off operation
in qca_close() with the unified qca_power_shutdown() call.

Signed-off-by: Rocky Liao &lt;rjliao@codeaurora.org&gt;
Reviewed-by: Matthias Kaehlcke &lt;mka@chromium.org&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_bcm: enable IRQ capability from devicetree</title>
<updated>2020-01-15T21:32:31Z</updated>
<author>
<name>Guillaume La Roque</name>
<email>glaroque@baylibre.com</email>
</author>
<published>2020-01-15T10:12:43Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f25a96c8eb46b86744540ade61c2dbc844c23dbd'/>
<id>urn:sha1:f25a96c8eb46b86744540ade61c2dbc844c23dbd</id>
<content type='text'>
Add support for getting IRQ directly from DT instead of relying on
converting a GPIO to IRQ. This is needed for platforms with GPIO
controllers that that do not support gpiod_to_irq().

Reviewed-by: Kevin Hilman &lt;khilman@baylibre.com&gt;
Signed-off-by: Guillaume La Roque &lt;glaroque@baylibre.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: btsdio: Check for valid packet type</title>
<updated>2020-01-15T21:28:51Z</updated>
<author>
<name>Luiz Augusto von Dentz</name>
<email>luiz.von.dentz@intel.com</email>
</author>
<published>2020-01-15T21:02:21Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=7e8aeffb112aa1d1600ce0ee44e444b63e3d41f9'/>
<id>urn:sha1:7e8aeffb112aa1d1600ce0ee44e444b63e3d41f9</id>
<content type='text'>
Check for valid packet type before calling hci_recv_frame which is
inline with what other drivers are doing.

Signed-off-by: Luiz Augusto von Dentz &lt;luiz.von.dentz@intel.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_h5: Add support for ISO packets</title>
<updated>2020-01-15T21:28:51Z</updated>
<author>
<name>Luiz Augusto von Dentz</name>
<email>luiz.von.dentz@intel.com</email>
</author>
<published>2020-01-15T21:02:20Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1cc3c10c5aea84d4b0400423449c316eed3f27df'/>
<id>urn:sha1:1cc3c10c5aea84d4b0400423449c316eed3f27df</id>
<content type='text'>
This enables H5 driver to properly handle ISO packets.

Signed-off-by: Luiz Augusto von Dentz &lt;luiz.von.dentz@intel.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_h4: Add support for ISO packets</title>
<updated>2020-01-15T21:28:51Z</updated>
<author>
<name>Luiz Augusto von Dentz</name>
<email>luiz.von.dentz@intel.com</email>
</author>
<published>2020-01-15T21:02:19Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ef564119ba832f55337935038dc0a91baa7417d1'/>
<id>urn:sha1:ef564119ba832f55337935038dc0a91baa7417d1</id>
<content type='text'>
This enables H4 driver to properly handle ISO packets.

Signed-off-by: Luiz Augusto von Dentz &lt;luiz.von.dentz@intel.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_vhci: Add support for ISO packets</title>
<updated>2020-01-15T21:28:51Z</updated>
<author>
<name>Luiz Augusto von Dentz</name>
<email>luiz.von.dentz@intel.com</email>
</author>
<published>2020-01-15T21:02:16Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f92a8cb569e39e28515e3f9c0ccaa16f874644b7'/>
<id>urn:sha1:f92a8cb569e39e28515e3f9c0ccaa16f874644b7</id>
<content type='text'>
This make virtual controllers to pass ISO packets around.

Signed-off-by: Luiz Augusto von Dentz &lt;luiz.von.dentz@intel.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_qca: Add qca_power_on() API to support both wcn399x and Rome power up</title>
<updated>2020-01-14T13:54:03Z</updated>
<author>
<name>Rocky Liao</name>
<email>rjliao@codeaurora.org</email>
</author>
<published>2020-01-13T04:30:20Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=5e6d8401ade984296ae9629cb06458c2784e1882'/>
<id>urn:sha1:5e6d8401ade984296ae9629cb06458c2784e1882</id>
<content type='text'>
This patch adds a unified API qca_power_on() to support both wcn399x and
Rome power on. For wcn399x it calls the qca_wcn3990_init() to init the
regulators, and for Rome it pulls up the bt_en GPIO to power up the btsoc.
It also moves all the power up operation from hdev-&gt;open() to
hdev-&gt;setup().

Signed-off-by: Rocky Liao &lt;rjliao@codeaurora.org&gt;
Reviewed-by: Matthias Kaehlcke &lt;mka@chromium.org&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
</feed>
