Re: [PATCH RFT/RFC] b43: Add QOS support
Hm, it seems there are two other variables in SHM we should probably write: 0x000E EDCF Status Offset I'll have to double-check that. 0x0030 TXF Current Index I don't think we need to write that, it's used internally by the ucode to manage the queues. johannes signature.asc Description: This is a digitally signed message part ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [PATCH RFT/RFC] b43: Add QOS support
On Wednesday 13 February 2008 13:07:53 Johannes Berg wrote: + if (queue = ARRAY_SIZE(wl-qos_params)) { + /* Queue not available or don't support setting +* params on this queue. Return success to not +* confuse mac80211. */ + return 0; + } Is that really necessary? If so, I'll probably remove it when doing the QoS rework, it shouldn't be, imho you should return an error if mac80211 tries to configure a queue = hw.queues. Yep, mac80211 walks the whole queue array without looking at hw-queues. I think this needs fixing in mac80211. -- Greetings Michael. ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [PATCH RFT/RFC] b43: Add QOS support
On Wed, 2008-02-13 at 13:14 +0100, Michael Buesch wrote: On Wednesday 13 February 2008 13:07:53 Johannes Berg wrote: + if (queue = ARRAY_SIZE(wl-qos_params)) { + /* Queue not available or don't support setting + * params on this queue. Return success to not + * confuse mac80211. */ + return 0; + } Is that really necessary? If so, I'll probably remove it when doing the QoS rework, it shouldn't be, imho you should return an error if mac80211 tries to configure a queue = hw.queues. Yep, mac80211 walks the whole queue array without looking at hw-queues. I think this needs fixing in mac80211. Ah. Yeah I already fixed that in my WIP QoS patch. johannes signature.asc Description: This is a digitally signed message part ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [PATCH RFT/RFC] b43: Add QOS support
Hm, it seems there are two other variables in SHM we should probably write: 0x000E EDCF Status Offset Ok already mentioned this on IRC but for the record: this is set by the initial value upload. johannes signature.asc Description: This is a digitally signed message part ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [PATCH RFT/RFC] b43: Add QOS support
On Tuesday 12 February 2008 22:05:42 Michael Buesch wrote: This patch adds QOS support for b43. Please comment on this and test this. This patch depends on Johannes' burst time - txop patch being _not_ applied. One can trivially fix that, though. Hm, it seems there are two other variables in SHM we should probably write: 0x000E EDCF Status Offset 0x0030 TXF Current Index The status offset is the offset of the status field in the QOS data structure for a queue? What is the TXF Current Index? -- Greetings Michael. ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
Re: [PATCH RFT/RFC] b43: Add QOS support
On Tuesday 12 February 2008 22:05:42 Michael Buesch wrote: This patch adds QOS support for b43. Please comment on this and test this. This patch depends on Johannes' burst time - txop patch being _not_ applied. One can trivially fix that, though. + for (i = 0; i ARRAY_SIZE(wl-qos_params); i++) { + params = (wl-qos_params[i]); + if (params-need_hw_update) { + b43_qos_params_upload(dev, (params-p), + qos_shm_offsets[i]); + params-need_hw_update = 1; Whoopsy, needs to be: params-need_hw_update = 0; + } + } + + spin_unlock_irqrestore(wl-irq_lock, flags); + b43_mac_enable(dev); +} +/* Initialize the core's QOS capabilities */ +static void b43_qos_init(struct b43_wldev *dev) +{ + /* Upload the current QOS parameters. */ And here we need a loop setting all need_hw_update to 1. + b43_qos_update(dev); + /* Enable QOS support. */ + b43_hf_write(dev, b43_hf_read(dev) | B43_HF_EDCF); + b43_write16(dev, B43_MMIO_IFSCTL, + b43_read16(dev, B43_MMIO_IFSCTL) + | B43_MMIO_IFSCTL_USE_EDCF); +} -- Greetings Michael. ___ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev