b43-dev.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] b43: implement timeouts workaround
  2011-05-11  0:10 ` [PATCH 2/2] b43: implement timeouts workaround Rafał Miłecki
@ 2011-05-10 23:42   ` Larry Finger
  2011-05-10 23:56     ` Rafał Miłecki
  0 siblings, 1 reply; 9+ messages in thread
From: Larry Finger @ 2011-05-10 23:42 UTC (permalink / raw)
  To: Rafał Miłecki; +Cc: linux-wireless, John W. Linville, b43-dev

On 05/10/2011 07:10 PM, Rafa? Mi?ecki wrote:
> Documented in:<4BB81CAD.10602@lwfinger.net>

This reference is not correct.

Larry

>
> Signed-off-by: Rafa? Mi?ecki<zajec5@gmail.com>
> ---
>   drivers/net/wireless/b43/main.c |   13 ++++++++++++-
>   1 files changed, 12 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
> index fd8bd98..88bfd29 100644
> --- a/drivers/net/wireless/b43/main.c
> +++ b/drivers/net/wireless/b43/main.c
> @@ -4213,7 +4213,18 @@ static void b43_bluetooth_coext_disable(struct b43_wldev *dev)
>
>   static void b43_imcfglo_timeouts_workaround(struct b43_wldev *dev)
>   {
> -	/* TODO: implement 80211 core workaround here */
> +	struct ssb_bus *bus = dev->dev->bus;
> +	u32 tmp;
> +
> +	if ((bus->chip_id == 0x4311&&  bus->chip_rev == 2) ||
> +	    (bus->chip_id == 0x4312)) {
> +		tmp = ssb_read32(dev->dev, SSB_IMCFGLO);
> +		tmp&= ~SSB_IMCFGLO_REQTO;
> +		tmp&= ~SSB_IMCFGLO_SERTO;
> +		tmp |= 0x3;
> +		ssb_write32(dev->dev, SSB_IMCFGLO, tmp);
> +		ssb_commit_settings(bus);
> +	}
>   }
>
>   static void b43_set_synth_pu_delay(struct b43_wldev *dev, bool idle)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 2/2] b43: implement timeouts workaround
  2011-05-10 23:42   ` Larry Finger
@ 2011-05-10 23:56     ` Rafał Miłecki
  2011-05-11  0:12       ` Larry Finger
  0 siblings, 1 reply; 9+ messages in thread
From: Rafał Miłecki @ 2011-05-10 23:56 UTC (permalink / raw)
  To: Larry Finger; +Cc: linux-wireless, John W. Linville, b43-dev

W dniu 11 maja 2011 01:42 u?ytkownik Larry Finger
<Larry.Finger@lwfinger.net> napisa?:
> On 05/10/2011 07:10 PM, Rafa? Mi?ecki wrote:
>>
>> Documented in:<4BB81CAD.10602@lwfinger.net>
>
> This reference is not correct.

Ouch, GMail seems to lie to me. Any change you can give me real message id of:
http://www.mail-archive.com/b43-dev at lists.infradead.org/msg00049.html
?

-- 
Rafa?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/2] ssb: move ssb_commit_settings and export it
@ 2011-05-11  0:10 Rafał Miłecki
  2011-05-11  0:10 ` [PATCH 2/2] b43: implement timeouts workaround Rafał Miłecki
  0 siblings, 1 reply; 9+ messages in thread
From: Rafał Miłecki @ 2011-05-11  0:10 UTC (permalink / raw)
  To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki

Commiting settings is possible on devices without PCI core (but with CC
core). Export it for usage in drivers supporting other cores.

Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
---
 drivers/ssb/driver_pcicore.c |   26 --------------------------
 drivers/ssb/main.c           |   25 +++++++++++++++++++++++++
 include/linux/ssb/ssb.h      |    1 +
 3 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c
index 8fde122..82feb34 100644
--- a/drivers/ssb/driver_pcicore.c
+++ b/drivers/ssb/driver_pcicore.c
@@ -21,8 +21,6 @@ static u16 ssb_pcie_mdio_read(struct ssb_pcicore *pc, u8 device, u8 address);
 static void ssb_pcie_mdio_write(struct ssb_pcicore *pc, u8 device,
 				u8 address, u16 data);
 
-static void ssb_commit_settings(struct ssb_bus *bus);
-
 static inline
 u32 pcicore_read32(struct ssb_pcicore *pc, u16 offset)
 {
@@ -659,30 +657,6 @@ static void ssb_pcie_mdio_write(struct ssb_pcicore *pc, u8 device,
 	pcicore_write32(pc, mdio_control, 0);
 }
 
-static void ssb_broadcast_value(struct ssb_device *dev,
-				u32 address, u32 data)
-{
-	/* This is used for both, PCI and ChipCommon core, so be careful. */
-	BUILD_BUG_ON(SSB_PCICORE_BCAST_ADDR != SSB_CHIPCO_BCAST_ADDR);
-	BUILD_BUG_ON(SSB_PCICORE_BCAST_DATA != SSB_CHIPCO_BCAST_DATA);
-
-	ssb_write32(dev, SSB_PCICORE_BCAST_ADDR, address);
-	ssb_read32(dev, SSB_PCICORE_BCAST_ADDR); /* flush */
-	ssb_write32(dev, SSB_PCICORE_BCAST_DATA, data);
-	ssb_read32(dev, SSB_PCICORE_BCAST_DATA); /* flush */
-}
-
-static void ssb_commit_settings(struct ssb_bus *bus)
-{
-	struct ssb_device *dev;
-
-	dev = bus->chipco.dev ? bus->chipco.dev : bus->pcicore.dev;
-	if (WARN_ON(!dev))
-		return;
-	/* This forces an update of the cached registers. */
-	ssb_broadcast_value(dev, 0xFD8, 0);
-}
-
 int ssb_pcicore_dev_irqvecs_enable(struct ssb_pcicore *pc,
 				   struct ssb_device *dev)
 {
diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c
index ad3da93..ee2937c 100644
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -1329,6 +1329,31 @@ error:
 }
 EXPORT_SYMBOL(ssb_bus_powerup);
 
+static void ssb_broadcast_value(struct ssb_device *dev,
+				u32 address, u32 data)
+{
+	/* This is used for both, PCI and ChipCommon core, so be careful. */
+	BUILD_BUG_ON(SSB_PCICORE_BCAST_ADDR != SSB_CHIPCO_BCAST_ADDR);
+	BUILD_BUG_ON(SSB_PCICORE_BCAST_DATA != SSB_CHIPCO_BCAST_DATA);
+
+	ssb_write32(dev, SSB_PCICORE_BCAST_ADDR, address);
+	ssb_read32(dev, SSB_PCICORE_BCAST_ADDR); /* flush */
+	ssb_write32(dev, SSB_PCICORE_BCAST_DATA, data);
+	ssb_read32(dev, SSB_PCICORE_BCAST_DATA); /* flush */
+}
+
+void ssb_commit_settings(struct ssb_bus *bus)
+{
+	struct ssb_device *dev;
+
+	dev = bus->chipco.dev ? bus->chipco.dev : bus->pcicore.dev;
+	if (WARN_ON(!dev))
+		return;
+	/* This forces an update of the cached registers. */
+	ssb_broadcast_value(dev, 0xFD8, 0);
+}
+EXPORT_SYMBOL(ssb_commit_settings);
+
 u32 ssb_admatch_base(u32 adm)
 {
 	u32 base = 0;
diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h
index 7e99b34..f017b89 100644
--- a/include/linux/ssb/ssb.h
+++ b/include/linux/ssb/ssb.h
@@ -518,6 +518,7 @@ extern int ssb_bus_may_powerdown(struct ssb_bus *bus);
  * Otherwise static always-on powercontrol will be used. */
 extern int ssb_bus_powerup(struct ssb_bus *bus, bool dynamic_pctl);
 
+extern void ssb_commit_settings(struct ssb_bus *bus);
 
 /* Various helper functions */
 extern u32 ssb_admatch_base(u32 adm);
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/2] b43: implement timeouts workaround
  2011-05-11  0:10 [PATCH 1/2] ssb: move ssb_commit_settings and export it Rafał Miłecki
@ 2011-05-11  0:10 ` Rafał Miłecki
  2011-05-10 23:42   ` Larry Finger
  0 siblings, 1 reply; 9+ messages in thread
From: Rafał Miłecki @ 2011-05-11  0:10 UTC (permalink / raw)
  To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki

Documented in: <4BB81CAD.10602@lwfinger.net>

Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
---
 drivers/net/wireless/b43/main.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index fd8bd98..88bfd29 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -4213,7 +4213,18 @@ static void b43_bluetooth_coext_disable(struct b43_wldev *dev)
 
 static void b43_imcfglo_timeouts_workaround(struct b43_wldev *dev)
 {
-	/* TODO: implement 80211 core workaround here */
+	struct ssb_bus *bus = dev->dev->bus;
+	u32 tmp;
+
+	if ((bus->chip_id == 0x4311 && bus->chip_rev == 2) ||
+	    (bus->chip_id == 0x4312)) {
+		tmp = ssb_read32(dev->dev, SSB_IMCFGLO);
+		tmp &= ~SSB_IMCFGLO_REQTO;
+		tmp &= ~SSB_IMCFGLO_SERTO;
+		tmp |= 0x3;
+		ssb_write32(dev->dev, SSB_IMCFGLO, tmp);
+		ssb_commit_settings(bus);
+	}
 }
 
 static void b43_set_synth_pu_delay(struct b43_wldev *dev, bool idle)
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/2] b43: implement timeouts workaround
  2011-05-10 23:56     ` Rafał Miłecki
@ 2011-05-11  0:12       ` Larry Finger
  2011-05-11  7:35         ` Rafał Miłecki
  0 siblings, 1 reply; 9+ messages in thread
From: Larry Finger @ 2011-05-11  0:12 UTC (permalink / raw)
  To: Rafał Miłecki; +Cc: linux-wireless, John W. Linville, b43-dev

On 05/10/2011 06:56 PM, Rafa? Mi?ecki wrote:
> W dniu 11 maja 2011 01:42 u?ytkownik Larry Finger
> <Larry.Finger@lwfinger.net>  napisa?:
>> On 05/10/2011 07:10 PM, Rafa? Mi?ecki wrote:
>>>
>>> Documented in:<4BB81CAD.10602@lwfinger.net>
>>
>> This reference is not correct.
>
> Ouch, GMail seems to lie to me. Any change you can give me real message id of:
> http://www.mail-archive.com/b43-dev at lists.infradead.org/msg00049.html

This one is good.

Larry

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 2/2] b43: implement timeouts workaround
  2011-05-11  0:12       ` Larry Finger
@ 2011-05-11  7:35         ` Rafał Miłecki
  2011-05-11 12:17           ` Larry Finger
  0 siblings, 1 reply; 9+ messages in thread
From: Rafał Miłecki @ 2011-05-11  7:35 UTC (permalink / raw)
  To: Larry Finger; +Cc: linux-wireless, John W. Linville, b43-dev

W dniu 11 maja 2011 02:12 u?ytkownik Larry Finger
<Larry.Finger@lwfinger.net> napisa?:
> On 05/10/2011 06:56 PM, Rafa? Mi?ecki wrote:
>>
>> W dniu 11 maja 2011 01:42 u?ytkownik Larry Finger
>> <Larry.Finger@lwfinger.net> ?napisa?:
>>>
>>> On 05/10/2011 07:10 PM, Rafa? Mi?ecki wrote:
>>>>
>>>> Documented in:<4BB81CAD.10602@lwfinger.net>
>>>
>>> This reference is not correct.
>>
>> Ouch, GMail seems to lie to me. Any change you can give me real message id
>> of:
>> http://www.mail-archive.com/b43-dev at lists.infradead.org/msg00049.html
>
> This one is good.

Sorry, do you mean <4BB81CAD.10602@lwfinger.net> is OK? Or should I
use link I posted instead of message ID? Or do you know how to get
message ID from the link above?

-- 
Rafa?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 2/2] b43: implement timeouts workaround
  2011-05-11  7:35         ` Rafał Miłecki
@ 2011-05-11 12:17           ` Larry Finger
  2011-05-11 12:31             ` Michael Büsch
  0 siblings, 1 reply; 9+ messages in thread
From: Larry Finger @ 2011-05-11 12:17 UTC (permalink / raw)
  To: Rafał Miłecki; +Cc: linux-wireless, John W. Linville, b43-dev

On 05/11/2011 02:35 AM, Rafa? Mi?ecki wrote:
> W dniu 11 maja 2011 02:12 u?ytkownik Larry Finger
> <Larry.Finger@lwfinger.net>  napisa?:
>> On 05/10/2011 06:56 PM, Rafa? Mi?ecki wrote:
>>>
>>> W dniu 11 maja 2011 01:42 u?ytkownik Larry Finger
>>> <Larry.Finger@lwfinger.net>    napisa?:
>>>>
>>>> On 05/10/2011 07:10 PM, Rafa? Mi?ecki wrote:
>>>>>
>>>>> Documented in:<4BB81CAD.10602@lwfinger.net>
>>>>
>>>> This reference is not correct.
>>>
>>> Ouch, GMail seems to lie to me. Any change you can give me real message id
>>> of:
>>> http://www.mail-archive.com/b43-dev at lists.infradead.org/msg00049.html
>>
>> This one is good.
>
> Sorry, do you mean<4BB81CAD.10602@lwfinger.net>  is OK? Or should I
> use link I posted instead of message ID? Or do you know how to get
> message ID from the link above?
>

Use the link 
"http://www.mail-archive.com/b43-dev at lists.infradead.org/msg00049.html". 
<4BB81CAD.10602@lwfinger.net> just points to a non-existent email address on my 
domain. I don't know how to get a message ID.

Larry

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 2/2] b43: implement timeouts workaround
  2011-05-11 12:17           ` Larry Finger
@ 2011-05-11 12:31             ` Michael Büsch
  2011-05-11 13:06               ` Larry Finger
  0 siblings, 1 reply; 9+ messages in thread
From: Michael Büsch @ 2011-05-11 12:31 UTC (permalink / raw)
  To: Larry Finger; +Cc: Rafał Miłecki, linux-wireless, b43-dev

On Wed, 2011-05-11 at 07:17 -0500, Larry Finger wrote: 
> On 05/11/2011 02:35 AM, Rafa? Mi?ecki wrote:
> > W dniu 11 maja 2011 02:12 u?ytkownik Larry Finger
> > <Larry.Finger@lwfinger.net>  napisa?:
> >> On 05/10/2011 06:56 PM, Rafa? Mi?ecki wrote:
> >>>
> >>> W dniu 11 maja 2011 01:42 u?ytkownik Larry Finger
> >>> <Larry.Finger@lwfinger.net>    napisa?:
> >>>>
> >>>> On 05/10/2011 07:10 PM, Rafa? Mi?ecki wrote:
> >>>>>
> >>>>> Documented in:<4BB81CAD.10602@lwfinger.net>
> >>>>
> >>>> This reference is not correct.
> >>>
> >>> Ouch, GMail seems to lie to me. Any change you can give me real message id
> >>> of:
> >>> http://www.mail-archive.com/b43-dev at lists.infradead.org/msg00049.html
> >>
> >> This one is good.
> >
> > Sorry, do you mean<4BB81CAD.10602@lwfinger.net>  is OK? Or should I
> > use link I posted instead of message ID? Or do you know how to get
> > message ID from the link above?
> >
> 
> Use the link 
> "http://www.mail-archive.com/b43-dev at lists.infradead.org/msg00049.html". 
> <4BB81CAD.10602@lwfinger.net> just points to a non-existent email address on my 
> domain. I don't know how to get a message ID.

It's just an email header added by your MUA.
For example:   Message-ID: <4DCA7E40.9070709@lwfinger.net>

The advantage of this is that links change and vanish. However, message
IDs don't. The message ID uniquely identifies a message, regardless of
where it's stored. So even if the mail archive moves to another URL,
it's still possible to find the actual mail by the ID.

-- 
Greetings Michael.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 2/2] b43: implement timeouts workaround
  2011-05-11 12:31             ` Michael Büsch
@ 2011-05-11 13:06               ` Larry Finger
  0 siblings, 0 replies; 9+ messages in thread
From: Larry Finger @ 2011-05-11 13:06 UTC (permalink / raw)
  To: Michael Büsch; +Cc: Rafał Miłecki, linux-wireless, b43-dev

On 05/11/2011 07:31 AM, Michael B?sch wrote:
> On Wed, 2011-05-11 at 07:17 -0500, Larry Finger wrote:
>> On 05/11/2011 02:35 AM, Rafa? Mi?ecki wrote:
>>> W dniu 11 maja 2011 02:12 u?ytkownik Larry Finger
>>> <Larry.Finger@lwfinger.net>   napisa?:
>>>> On 05/10/2011 06:56 PM, Rafa? Mi?ecki wrote:
>>>>>
>>>>> W dniu 11 maja 2011 01:42 u?ytkownik Larry Finger
>>>>> <Larry.Finger@lwfinger.net>     napisa?:
>>>>>>
>>>>>> On 05/10/2011 07:10 PM, Rafa? Mi?ecki wrote:
>>>>>>>
>>>>>>> Documented in:<4BB81CAD.10602@lwfinger.net>
>>>>>>
>>>>>> This reference is not correct.
>>>>>
>>>>> Ouch, GMail seems to lie to me. Any change you can give me real message id
>>>>> of:
>>>>> http://www.mail-archive.com/b43-dev at lists.infradead.org/msg00049.html
>>>>
>>>> This one is good.
>>>
>>> Sorry, do you mean<4BB81CAD.10602@lwfinger.net>   is OK? Or should I
>>> use link I posted instead of message ID? Or do you know how to get
>>> message ID from the link above?
>>>
>>
>> Use the link
>> "http://www.mail-archive.com/b43-dev at lists.infradead.org/msg00049.html".
>> <4BB81CAD.10602@lwfinger.net>  just points to a non-existent email address on my
>> domain. I don't know how to get a message ID.
>
> It's just an email header added by your MUA.
> For example:   Message-ID:<4DCA7E40.9070709@lwfinger.net>
>
> The advantage of this is that links change and vanish. However, message
> IDs don't. The message ID uniquely identifies a message, regardless of
> where it's stored. So even if the mail archive moves to another URL,
> it's still possible to find the actual mail by the ID.

Ahh. Yes, that Message ID is correct. I just rechecked the header in the mail 
that I sent. Sorry for the confusion and noise.

Larry

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-05-11 13:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-11  0:10 [PATCH 1/2] ssb: move ssb_commit_settings and export it Rafał Miłecki
2011-05-11  0:10 ` [PATCH 2/2] b43: implement timeouts workaround Rafał Miłecki
2011-05-10 23:42   ` Larry Finger
2011-05-10 23:56     ` Rafał Miłecki
2011-05-11  0:12       ` Larry Finger
2011-05-11  7:35         ` Rafał Miłecki
2011-05-11 12:17           ` Larry Finger
2011-05-11 12:31             ` Michael Büsch
2011-05-11 13:06               ` Larry Finger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).