<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-op-linux/include/linux/bcma/bcma_driver_pci.h, branch v4.2.2</title>
<subtitle>Talos™ II Linux sources for OpenPOWER</subtitle>
<id>https://git.raptorcs.com/git/talos-op-linux/atom?h=v4.2.2</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-op-linux/atom?h=v4.2.2'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/'/>
<updated>2015-06-08T11:33:26+00:00</updated>
<entry>
<title>bcma: make calls to PCI hostmode functions config-safe</title>
<updated>2015-06-08T11:33:26+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-06-07T11:15:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=a8077d6573530a91d5674a28cdedbed39c391ff0'/>
<id>urn:sha1:a8077d6573530a91d5674a28cdedbed39c391ff0</id>
<content type='text'>
Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: allow disabling (not building) PCI driver</title>
<updated>2015-03-13T14:25:50+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-03-05T17:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=982a40f5c0bb03368989a6b1ae833b474854e931'/>
<id>urn:sha1:982a40f5c0bb03368989a6b1ae833b474854e931</id>
<content type='text'>
It isn't required for bcma bus on SoCs, so provide some empty functions
and allow disabling it.

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: move PCI IRQ control function to host specific code</title>
<updated>2015-03-13T14:25:50+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-03-05T17:25:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=702131e2a393b45174be326f1dbe20b658b4f157'/>
<id>urn:sha1:702131e2a393b45174be326f1dbe20b658b4f157</id>
<content type='text'>
This function isn't really related to any bus core. It touches PCI
device config registers only, so move it to the (PCI) host file.

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: move internal function declarations to private header</title>
<updated>2015-03-05T12:11:43+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-03-04T13:24:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=0a4e699a41f767dff76ca7dc1019b9ca6de3eb42'/>
<id>urn:sha1:0a4e699a41f767dff76ca7dc1019b9ca6de3eb42</id>
<content type='text'>
These functions are not exported nor used anywhere, so there is no
reason to put them in public headers.
Also drop unused bcma_chipco_(suspend|resume).

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: change IRQ control function to accept bus as an argument</title>
<updated>2015-03-02T14:59:45+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-02-08T16:11:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=5b6ff664c8959d715e785b9465b042407a5d87a0'/>
<id>urn:sha1:5b6ff664c8959d715e785b9465b042407a5d87a0</id>
<content type='text'>
It doesn't operate on PCI core, but PCI host device, so there is no
point of passing core related struct.

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: add helpers bringing PCIe hosted bus up / down</title>
<updated>2015-03-02T14:59:45+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-02-08T16:11:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=4186721d02b71ae943e60bbf50d3488fd5fd6adb'/>
<id>urn:sha1:4186721d02b71ae943e60bbf50d3488fd5fd6adb</id>
<content type='text'>
Bringing PCIe hosted bus up requires operating on host-related core.
Since we plan to support PCIe Gen 2 devices we should provide a helper
picking the correct one (PCIE or PCIE2).

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: add early_init function for PCIe core and move some fix into it</title>
<updated>2015-01-29T08:53:08+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-01-25T10:11:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=b504075f5903b969a54ef3a6ae994c0872edb259'/>
<id>urn:sha1:b504075f5903b969a54ef3a6ae994c0872edb259</id>
<content type='text'>
There are some PCIe core fixes that need to be applied before accessing
SPROM, otherwise reading it may fail.

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: make bcma_core_pci_{up,down}() callable from atomic context</title>
<updated>2013-09-26T18:02:33+00:00</updated>
<author>
<name>Arend van Spriel</name>
<email>arend@broadcom.com</email>
</author>
<published>2013-09-25T10:11:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=2bedea8f26c92e2610f2f67889144990749461e0'/>
<id>urn:sha1:2bedea8f26c92e2610f2f67889144990749461e0</id>
<content type='text'>
This patch removes the bcma_core_pci_power_save() call from
the bcma_core_pci_{up,down}() functions as it tries to schedule
thus requiring to call them from non-atomic context. The function
bcma_core_pci_power_save() is now exported so the calling module
can explicitly use it in non-atomic context. This fixes the
'scheduling while atomic' issue reported by Tod Jackson and
Joe Perches.

[   13.210710] BUG: scheduling while atomic: dhcpcd/1800/0x00000202
[   13.210718] Modules linked in: brcmsmac nouveau coretemp kvm_intel kvm cordic brcmutil bcma dell_wmi atl1c ttm mxm_wmi wmi
[   13.210756] CPU: 2 PID: 1800 Comm: dhcpcd Not tainted 3.11.0-wl #1
[   13.210762] Hardware name: Alienware M11x R2/M11x R2, BIOS A04 11/23/2010
[   13.210767]  ffff880177c92c40 ffff880170fd1948 ffffffff8169af5b 0000000000000007
[   13.210777]  ffff880170fd1ab0 ffff880170fd1958 ffffffff81697ee2 ffff880170fd19d8
[   13.210785]  ffffffff816a19f5 00000000000f4240 000000000000d080 ffff880170fd1fd8
[   13.210794] Call Trace:
[   13.210813]  [&lt;ffffffff8169af5b&gt;] dump_stack+0x4f/0x84
[   13.210826]  [&lt;ffffffff81697ee2&gt;] __schedule_bug+0x43/0x51
[   13.210837]  [&lt;ffffffff816a19f5&gt;] __schedule+0x6e5/0x810
[   13.210845]  [&lt;ffffffff816a1c34&gt;] schedule+0x24/0x70
[   13.210855]  [&lt;ffffffff816a04fc&gt;] schedule_hrtimeout_range_clock+0x10c/0x150
[   13.210867]  [&lt;ffffffff810684e0&gt;] ? update_rmtp+0x60/0x60
[   13.210877]  [&lt;ffffffff8106915f&gt;] ? hrtimer_start_range_ns+0xf/0x20
[   13.210887]  [&lt;ffffffff816a054e&gt;] schedule_hrtimeout_range+0xe/0x10
[   13.210897]  [&lt;ffffffff8104f6fb&gt;] usleep_range+0x3b/0x40
[   13.210910]  [&lt;ffffffffa00371af&gt;] bcma_pcie_mdio_set_phy.isra.3+0x4f/0x80 [bcma]
[   13.210921]  [&lt;ffffffffa003729f&gt;] bcma_pcie_mdio_write.isra.4+0xbf/0xd0 [bcma]
[   13.210932]  [&lt;ffffffffa0037498&gt;] bcma_pcie_mdio_writeread.isra.6.constprop.13+0x18/0x30 [bcma]
[   13.210942]  [&lt;ffffffffa00374ee&gt;] bcma_core_pci_power_save+0x3e/0x80 [bcma]
[   13.210953]  [&lt;ffffffffa003765d&gt;] bcma_core_pci_up+0x2d/0x60 [bcma]
[   13.210975]  [&lt;ffffffffa03dc17c&gt;] brcms_c_up+0xfc/0x430 [brcmsmac]
[   13.210989]  [&lt;ffffffffa03d1a7d&gt;] brcms_up+0x1d/0x20 [brcmsmac]
[   13.211003]  [&lt;ffffffffa03d2498&gt;] brcms_ops_start+0x298/0x340 [brcmsmac]
[   13.211020]  [&lt;ffffffff81600a12&gt;] ? cfg80211_netdev_notifier_call+0xd2/0x5f0
[   13.211030]  [&lt;ffffffff815fa53d&gt;] ? packet_notifier+0xad/0x1d0
[   13.211064]  [&lt;ffffffff81656e75&gt;] ieee80211_do_open+0x325/0xf80
[   13.211076]  [&lt;ffffffff8106ac09&gt;] ? __raw_notifier_call_chain+0x9/0x10
[   13.211086]  [&lt;ffffffff81657b41&gt;] ieee80211_open+0x71/0x80
[   13.211101]  [&lt;ffffffff81526267&gt;] __dev_open+0x87/0xe0
[   13.211109]  [&lt;ffffffff8152650c&gt;] __dev_change_flags+0x9c/0x180
[   13.211117]  [&lt;ffffffff815266a3&gt;] dev_change_flags+0x23/0x70
[   13.211127]  [&lt;ffffffff8158cd68&gt;] devinet_ioctl+0x5b8/0x6a0
[   13.211136]  [&lt;ffffffff8158d5c5&gt;] inet_ioctl+0x75/0x90
[   13.211147]  [&lt;ffffffff8150b38b&gt;] sock_do_ioctl+0x2b/0x70
[   13.211155]  [&lt;ffffffff8150b681&gt;] sock_ioctl+0x71/0x2a0
[   13.211169]  [&lt;ffffffff8114ed47&gt;] do_vfs_ioctl+0x87/0x520
[   13.211180]  [&lt;ffffffff8113f159&gt;] ? ____fput+0x9/0x10
[   13.211198]  [&lt;ffffffff8106228c&gt;] ? task_work_run+0x9c/0xd0
[   13.211202]  [&lt;ffffffff8114f271&gt;] SyS_ioctl+0x91/0xb0
[   13.211208]  [&lt;ffffffff816aa252&gt;] system_call_fastpath+0x16/0x1b
[   13.211217] NOHZ: local_softirq_pending 202

The issue was introduced in v3.11 kernel by following commit:

commit aa51e598d04c6acf5477934cd6383f5a17ce9029
Author: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
Date:   Sat Aug 24 00:32:31 2013 +0200

    brcmsmac: use bcma PCIe up and down functions

    replace the calls to bcma_core_pci_extend_L1timer() by calls to the
    newly introduced bcma_core_pci_ip() and bcma_core_pci_down()

    Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
    Cc: Arend van Spriel &lt;arend@broadcom.com&gt;
    Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;

This fix has been discussed with Hauke Mehrtens [1] selection
option 3) and is intended for v3.12.

Ref:
[1] http://mid.gmane.org/5239B12D.3040206@hauke-m.de

Cc: &lt;stable@vger.kernel.org&gt; # 3.11.x
Cc: Tod Jackson &lt;tod.jackson@gmail.com&gt;
Cc: Joe Perches &lt;joe@perches.com&gt;
Cc: Rafal Milecki &lt;zajec5@gmail.com&gt;
Cc: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
Reviewed-by: Hante Meuleman &lt;meuleman@broadcom.com&gt;
Signed-off-by: Arend van Spriel &lt;arend@broadcom.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>bcma: add bcma_core_pci_power_save()</title>
<updated>2013-08-26T18:09:03+00:00</updated>
<author>
<name>Hauke Mehrtens</name>
<email>hauke@hauke-m.de</email>
</author>
<published>2013-08-23T22:32:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=521deea64088bc885a76bd174241eaa3d3a6876f'/>
<id>urn:sha1:521deea64088bc885a76bd174241eaa3d3a6876f</id>
<content type='text'>
This enables or disables power saving on the PCIe bus when the wifi is
in operation or not.

Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>bcma: do not export bcma_core_pci_extend_L1timer()</title>
<updated>2013-08-26T18:09:03+00:00</updated>
<author>
<name>Hauke Mehrtens</name>
<email>hauke@hauke-m.de</email>
</author>
<published>2013-08-23T22:32:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=780335acc815802dcee63d75f5589d43c3ccb402'/>
<id>urn:sha1:780335acc815802dcee63d75f5589d43c3ccb402</id>
<content type='text'>
This is not called any more, do not export it.

Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
</feed>
