From: George Kashperko <george@znau.edu.ua>
To: "Rafał Miłecki" <zajec5@gmail.com>
Cc: linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: SSB AI support code
Date: Thu, 10 Feb 2011 01:30:34 +0200 [thread overview]
Message-ID: <1297294234.12795.2.camel@dev.znau.edu.ua> (raw)
In-Reply-To: <AANLkTimS7Q5Du5_r3dZbF1gfpDofjL3Vm-AdEZP=zDQd@mail.gmail.com>
> W dniu 9 lutego 2011 22:51 użytkownik Michael Büsch <mb@bu3sch.de> napisał:
> > On Wed, 2011-02-09 at 22:35 +0100, Rafał Miłecki wrote:
> >> What about proposed solution?
> >
> > Well, I'm not going to maintain it due to a lack of devices,
> > knowledge of the AI and a serious lack of additional time.
> >
> > However, I'm certainly OK with you adopting maintainership
> > if people think that the code looks sane and should be merged.
> >
> > One thing I really don't like is the name-confusion introduced
> > by this. We will have functions with the ssb_...() prefix
> > that don't necessarily operate on ssb devices, but on AI devices
> > instead, depending on the actual magic behind the scenes.
> > That's one of the major things I tried hard to avoid in the
> > SSB design from day 0 on.
> > It's what I hated most about Broadcom's SB implementation (there it
> > is pci_...() functions, which operate on PCI, SB or whatever else
> > depending on some serious magic).
> >
> > So my proposal doesn't change: Create two separate busses (SSB and AI)
> > and port the device drivers to work on both. That also implies
> > decoupling the built-in SSB device drivers (CC, MIPS, EXTIF, PCICORE)
> > from the SSB implementation.
> > The code duplication will negligible.
>
> OK, I think I'll need some your help with better understanding SSB.
>
> AFAIK SSB is "box" (ssb_bus) containing cores (ssb_devices).
>
> How do we talk with SSB? Is this that magic "Hostbus"? What does it
> mean? Do we use one of the cores of ssb_bus to talk? Is this why I see
> "ssb: Core 2 found: PCI-E (cc 0x820, rev 0x02, vendor 0x4243)"? If
> only one core can be selected at time, how is this possible we selecre
> 802.11 core and we are still able to talk with SSB?
Not like I know how is that actually expressed in hardware. But here is
what I understood from broadcom's sources for SB/AI buses. Would be much
appreciated for comments on this or maybe some good and fat .pdf's (not
actually hope I will ever see one, seems its like top-secret stuff).
SB/AI cores - some hw interconnecting actual device to bus services.
Some cores (like b11, b44 etc) can talk to bus directly without
intermediate hw, others (like ohci on some bcm socs) wrapped by sumthing
working the way out to the cpu on behalf of device. Bus provides access
to each core and therefore to each final device by means of mmio. Some
of these registers are to manage device'-to-bus and versa workflow (like
tmslow/high, dma control regs, etc), others are solely device registers
(like mii phy access) to controler device itself. Each device registers'
set is mapped into memory one after another 4K space for each core.
For some systems (plain SSB bus) base is at SSB_ENUM_BASE, for others
(connected over e. g. PCI or PCMCIA) prior accessing device ssb code
must "ask" host bus to map ssb core registers' into cpu addrspace prior
accessing it.
When you see "Core xxx found" its ssb scan code iterating through cores'
register space. Either just +0x1000 mmio regs base or requesting
underlying bus to switch active core before probing next one and then
reading/parsing their IDHI register for identification data.
> What are the other cores for? Why do we need driver for chipcommon,
> mipscore? Are that cores internally accessed by 80211 core?
Prior to using any core, very same as b43 one, others (mipscore, usb,
b44, etc.) must be set up properly.
Therefore drivers exists. Chipcommon need setup as well - it handles
cpu/mem/bus/clocks, power control, built-in uarts and might be much
more. Its like "wrapper" core for indirect bus management.
And I dont know if 80211 is talking directly to any other core except
maybe chipcommon.
> What is that whole AI? Is that replacement for SSB? Does it also
> contains cores? What AI and SSB share?
>
While I was struggling with emailer in mine goddamn sloooooooow gnome
x-win terminal Michael already extremely precisely told what AI is ;)
Have nice day,
George
next prev parent reply other threads:[~2011-02-09 23:38 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-09 13:36 SSB AI support code George Kashperko
2011-02-09 14:29 ` SSB AI support code ([RFC1/11] SSB admatch redefine) George Kashperko
2011-02-09 14:31 ` SSB AI support code ([RFC2/11] SSB reintroduce handlers as device ops) George Kashperko
2011-02-09 14:32 ` SSB AI support code ([RFC3/11] SSB irqflag device op) George Kashperko
2011-02-09 16:19 ` Larry Finger
2011-02-09 17:10 ` George Kashperko
2011-02-09 17:48 ` Larry Finger
2011-02-09 18:23 ` George Kashperko
2011-02-09 19:19 ` Larry Finger
2011-02-09 19:26 ` George Kashperko
2011-02-09 19:42 ` Larry Finger
2011-02-09 14:34 ` SSB AI support code ([RFC4/11] SSB core control and state device ops) George Kashperko
2011-02-09 20:35 ` Rafał Miłecki
2011-02-09 21:01 ` Rafał Miłecki
2011-02-09 21:21 ` George Kashperko
2011-02-09 21:03 ` George Kashperko
2011-02-09 21:14 ` Michael Büsch
2011-02-09 21:55 ` Rafał Miłecki
2011-02-09 21:58 ` George Kashperko
2011-02-09 22:00 ` George Kashperko
2011-02-09 22:02 ` Michael Büsch
2011-02-09 22:22 ` George Kashperko
2011-02-09 14:36 ` SSB AI support code ([RFC5/11] SSB propagate core control and state ops usage) George Kashperko
2011-02-09 20:58 ` Rafał Miłecki
2011-02-09 21:12 ` Michael Büsch
2011-02-09 21:26 ` George Kashperko
2011-02-09 21:50 ` Rafał Miłecki
2011-02-09 21:55 ` George Kashperko
2011-02-09 14:37 ` SSB AI support code ([RFC6/11] SSB introduce bus_check_core routine) George Kashperko
2011-02-09 14:39 ` SSB AI support code ([RFC7/11] SSB introduce ssb_bus_detect routine) George Kashperko
2011-02-09 14:40 ` SSB AI support code ([RFC8/11] SSB separate SB-specific scanning) George Kashperko
2011-02-09 14:41 ` SSB AI support code ([RFC9/11] SSB modify irqflag treatment) George Kashperko
2011-02-09 16:23 ` Larry Finger
2011-02-09 16:53 ` George Kashperko
2011-02-09 14:44 ` SSB AI support code ([RFC9/11] SSB separate SB-specific code) George Kashperko
2011-02-09 14:45 ` SSB AI support code ([RFC10/11] SSB modify irqflag treatment) George Kashperko
2011-02-09 14:46 ` SSB AI support code ([RFC11/11] SSB add AI-bus support) George Kashperko
2011-02-09 16:25 ` Larry Finger
2011-02-09 18:33 ` George Kashperko
2011-02-09 16:49 ` Larry Finger
2011-02-09 21:35 ` SSB AI support code Rafał Miłecki
2011-02-09 21:41 ` George Kashperko
2011-02-09 21:51 ` Michael Büsch
2011-02-09 22:53 ` Rafał Miłecki
2011-02-09 23:10 ` Michael Büsch
2011-02-09 23:18 ` Larry Finger
2011-02-10 5:24 ` SSB AI support code ([RFC] v2) George Kashperko
2011-02-10 10:20 ` Michael Büsch
2011-02-10 17:40 ` George Kashperko
2011-02-10 18:11 ` Michael Büsch
[not found] ` <1297362251.15805.51.camel@dev.znau.edu.ua>
[not found] ` <1297363781.30218.37.camel@maggie>
2011-02-10 19:52 ` George Kashperko
2011-02-10 20:07 ` Michael Büsch
2011-02-15 14:50 ` Rafał Miłecki
2011-02-15 15:05 ` George Kashperko
2011-02-09 23:30 ` George Kashperko [this message]
2011-02-15 14:48 ` SSB AI support code Rafał Miłecki
2011-02-15 14:53 ` George Kashperko
2011-02-12 13:03 ` Hauke Mehrtens
2011-02-12 14:15 ` George Kashperko
2011-02-17 9:28 ` Roland Vossen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1297294234.12795.2.camel@dev.znau.edu.ua \
--to=george@znau.edu.ua \
--cc=linux-wireless@vger.kernel.org \
--cc=zajec5@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).