Message ID | 20090530182513.214244z6d3s8cb9c@lidskialf.net (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Quoting Andrew de Quincey <adq_dvb@lidskialf.net>: > Hi, this patch took a while to track down. The brf6150.c from the > original Nokia n770 kernel source > (kernel-source-2.6.16-2.6.16-osso29) works. However, the brf6150.c > that was added to the linux-omap tree on the 8th feb 2006 (commit > 9f43ca7f2eca4de6f145bc1d165df4a415546258) does not (for this n770 > anyway :). > > In the linux-omap commit, there is a lot of new neat power > management code that uses two GPIOs: one for the host to signal the > brf6150 when to wake up and one for the brf6150 to signal the host > to wake up. > > The problem is that on the hardware I'm using these GPIOs do not > change, so the host never "wakes up", and consequently never > schedules packets to be transferred to the brf6150. I've tested the > platform GPIO library is working properly and appears to be. > > The n770 code is configured to use the following brf6510 GPIOS: > reset:4, hostwake:61, btwake:194. > > The attached patch forces this schedule, but isn't really a good > patch as the (non-functional) PM stuff is still in there. > > Can anyone shed any light on this situation? Note that I am using > the brf6150fw.bin firmware binary from the > SU-18_2006SE_1.2006.26-8_PR_F5_MR0_ARM OS release. > > The bluetooth firmware from SU-18_2006SE_2.2006.39-14_PR_F5_MR0_ARM > is corrupt (has loads of zero bytes at the start, which the code > reveals is invalid). > > The bluetooth firmware from SU-18_2006SE_3.2006.49-2_PR_F5_MR0_ARM > is ALSO corrupt; this time its been truncated to 8192 bytes so the > loader runs off the end. > > If this can't be resolved, and since I don't have any docs on the > brf6150 or newer firmware images, I'd be tempted to simply kill the > PM code since its not actually doing anything useful. I'd prefer to > get it to work though.... Hi, its been pointed out that the firmware extraction method I was using was corrupting the firmware. Extracting it /properly/ makes the bluetooth chip work correctly with the PM code! So, the second prepatch ain't necessary any more. Next up: fix N770 sound. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
commit 3dd6f369919225473c77db006a60af0d1ca66ce4 Author: Andrew de Quincey <adq@lidskialf.net> Date: Sat May 30 18:04:24 2009 +0100 schedule tx when packet submitted due to non-working power management GPIOs diff --git a/drivers/bluetooth/brf6150.c b/drivers/bluetooth/brf6150.c index 4f0112a..50caa74 100644 --- a/drivers/bluetooth/brf6150.c +++ b/drivers/bluetooth/brf6150.c @@ -187,6 +187,7 @@ static void brf6150_disable_pm_tx(struct brf6150_info *info) } if (gpio_get_value(info->btinfo->host_wakeup_gpio)) tasklet_schedule(&info->tx_task); + tasklet_schedule(&info->tx_task); } static void brf6150_pm_timer(unsigned long data)