Thread (58 messages) 58 messages, 3 authors, 2012-06-11

Re: [PATCH 16/18] brcmsmac: do not call brcms_c_chipmatch() for non PCI

From: Arend van Spriel <hidden>
Date: 2012-06-07 19:06:44

On 06/07/2012 03:19 PM, Hauke Mehrtens wrote:
Hi Arend,

On 06/06/2012 01:23 PM, Arend van Spriel wrote:
quoted
On 06/06/2012 01:07 AM, Hauke Mehrtens wrote:
quoted
brcms_c_chipmatch() just works for PCIe devices and returns false for
non PCIe devices. This stops brcms_ops_stop() from calling it when the
devices is not a PCIe device.
Although this is true you may want to consider what this function
provides. The intent is to have a more accurate filter to determine
support the device by the driver, ie. more accurate than what is in the
driver device table.

So in brcms_c_chipmatch() we may want a host-type independent filtering
and validate bcma_device_id, bcma_chipinfo, and possibly bcma_boardinfo.
I do not like this function at all. ;-)

Are these restrictions in this function really needed? I would more like
to restrict it to something like core revs, which is done in the device
table and the phy types and versions. A restriction by chipid would also
be reasonable as some chips are needing some special workarounds, these
checks could also be done for SoCs.
I look where the function came from and it is called in several places
in our proprietary driver, which has a pretty coarse filter in the
device table.

The BCMA device table in brcmsmac is more finegrained and currently has
entries for the different 80211 core revisions. However, the brcmsmac
may have additional revision requirement for chipcommon and other cores
inside the chip so this function may have it merits for checking that.

Gr. AvS
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help