From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: sudheer <urwithsudheer@gmail.com>
Cc: Sivasankar Chander <siva.ilugc@gmail.com>, linuxppc-embedded@ozlabs.org
Subject: Re: [Fwd: Re: [Ilugc] help regarding powerpc and vga card]
Date: Sat, 15 Jul 2006 05:20:32 +1000 [thread overview]
Message-ID: <1152904832.23037.99.camel@localhost.localdomain> (raw)
In-Reply-To: <44B77452.1070106@gmail.com>
> >> All PCI VGA cards for use on x86 PCs have a ROMscan
> BIOS
> >> extension on them. This initializes the card after POST -
> basically,
> >> the motherboard BIOS transfers control to the BIOS on the
> >> PCI VGA card, which then initializes itself. If control is
> not
> >> transfered to the VGA BIOS on the card, the VGA controller
> >> stays isolated and will not respond to PCI device
> enumeration,
> >> etc.
> >
> I have a doubt here. How does the processor know that the card
> sitting
> here is a vga card
> and control should be transfered to initialize it. I think it
> can know
> that it is a vga card only by reading the config space .
> And bios is necesary for vga card to work in its normal way.
> Is it
> necesary for bios to be initialised to get detected.
> Please correct me if i am wrong.
You are not wrong (though your mailer sucks). The initial poster seems
to be a bit confused.
All PCI video cards (VGA or not) shall respond to PCI config spaces
normally. They can be enumerated, and if they carry a BIOS image (or any
other firmware support like an Open Firmware F-Code driver), it should
be accessible via the standard PCI expansion ROM BAR.
There is no such thing as "the VGA controller stays isolated" or
whatever sort of crap. However, it is true that the video card needs to
be initialized to be able to actually output anything useful, and
depending on the chip, it's generically a complex procedure involving
setting up all sorts of PLLs, initializing the card's memory controller
and performing the appropriate SDRAM init sequence, initializing the
various external chips like TMDS transmitters on the card etc etc...
That is normally done by the card's firmware which generally sits in the
card's PCI expansion ROM (not always though, it's getting common
nowadays on x86 laptops for example to have the video card's BIOS mixes
with the main BIOS to save a flash chip). The most common type of
firmware is indeed an x86 video BIOS, which can run on non-x86 platforms
through an emulator like x86emu (a common practice, works fairly well
afaik).
Note that what that BIOS does it to poke the card's registers, which are
accessible via the card's normal PCI BARs :) At least most of the time.
Some cards do indeed require some use of the legacy VGA registers for
initialization, which means issuing IO cycles on the bus to fixed VGA
addresses, but that's pretty much irrelevant.
next prev parent reply other threads:[~2006-07-14 19:20 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-14 10:39 [Fwd: Re: [Ilugc] help regarding powerpc and vga card] sudheer
2006-07-14 19:20 ` Benjamin Herrenschmidt [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-07-14 10:38 sudheer
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=1152904832.23037.99.camel@localhost.localdomain \
--to=benh@kernel.crashing.org \
--cc=linuxppc-embedded@ozlabs.org \
--cc=siva.ilugc@gmail.com \
--cc=urwithsudheer@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).