* radeonfb monid i2c bus
@ 2008-06-06 10:01 Jean Delvare
2008-06-06 13:46 ` Alex Deucher
2008-06-06 13:50 ` Benjamin Herrenschmidt
0 siblings, 2 replies; 8+ messages in thread
From: Jean Delvare @ 2008-06-06 10:01 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linux-fbdev-devel
Hi Ben,
Can you explain what is the "monid" i2c bus on Radeon adapters? I have
two Radeon chips here, an M6 in my old laptop and a 9200 in my desktop
system. On the M6 there is nothing on the monid bus. On the 9200, the
monid bus doesn't even work, every access results in timeout. The
radeonfb driver doesn't even look for EDID EEPROMs on that bus (except
in debug code.)
So I'm curious why you create this i2c bus if you don't need it.
Have you ever seen a Radeon adapter where there is something on that
bus?
Thanks,
--
Jean Delvare
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: radeonfb monid i2c bus
2008-06-06 10:01 radeonfb monid i2c bus Jean Delvare
@ 2008-06-06 13:46 ` Alex Deucher
2008-06-06 13:50 ` Benjamin Herrenschmidt
1 sibling, 0 replies; 8+ messages in thread
From: Alex Deucher @ 2008-06-06 13:46 UTC (permalink / raw)
To: Jean Delvare; +Cc: Benjamin Herrenschmidt, linux-fbdev-devel
On Fri, Jun 6, 2008 at 6:01 AM, Jean Delvare <khali@linux-fr.org> wrote:
> Hi Ben,
>
> Can you explain what is the "monid" i2c bus on Radeon adapters? I have
> two Radeon chips here, an M6 in my old laptop and a 9200 in my desktop
> system. On the M6 there is nothing on the monid bus. On the 9200, the
> monid bus doesn't even work, every access results in timeout. The
> radeonfb driver doesn't even look for EDID EEPROMs on that bus (except
> in debug code.)
>
> So I'm curious why you create this i2c bus if you don't need it.
> Have you ever seen a Radeon adapter where there is something on that
> bus?
There are several i2c busses available on radeons and different OEMs
use different combinations. The bus used by each display output is
listed in the connector table in the vbios rom on x86 cards. Other
uses include controlling external TMDS or DAC chips on some cards.
This info is also available via the bios tables on x86 cards.
Alex
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: radeonfb monid i2c bus
2008-06-06 10:01 radeonfb monid i2c bus Jean Delvare
2008-06-06 13:46 ` Alex Deucher
@ 2008-06-06 13:50 ` Benjamin Herrenschmidt
2008-06-08 14:20 ` Jean Delvare
1 sibling, 1 reply; 8+ messages in thread
From: Benjamin Herrenschmidt @ 2008-06-06 13:50 UTC (permalink / raw)
To: Jean Delvare; +Cc: linux-fbdev-devel
On Fri, 2008-06-06 at 12:01 +0200, Jean Delvare wrote:
> Hi Ben,
>
> Can you explain what is the "monid" i2c bus on Radeon adapters? I have
> two Radeon chips here, an M6 in my old laptop and a 9200 in my desktop
> system. On the M6 there is nothing on the monid bus. On the 9200, the
> monid bus doesn't even work, every access results in timeout. The
> radeonfb driver doesn't even look for EDID EEPROMs on that bus (except
> in debug code.)
>
> So I'm curious why you create this i2c bus if you don't need it.
> Have you ever seen a Radeon adapter where there is something on that
> bus?
The BIOS connector tables might make us use it. Otherwise, it tends to
have the external TMDS transmitter on it for which we'll one day get
proper support for re-initializing on wakeup from sleep...
Ben.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: radeonfb monid i2c bus
2008-06-06 13:50 ` Benjamin Herrenschmidt
@ 2008-06-08 14:20 ` Jean Delvare
2008-06-08 22:48 ` Jimmy.Jazz
2008-06-09 5:15 ` Alex Deucher
0 siblings, 2 replies; 8+ messages in thread
From: Jean Delvare @ 2008-06-08 14:20 UTC (permalink / raw)
To: benh; +Cc: linux-fbdev-devel
On Fri, 06 Jun 2008 23:50:18 +1000, Benjamin Herrenschmidt wrote:
> On Fri, 2008-06-06 at 12:01 +0200, Jean Delvare wrote:
> > Can you explain what is the "monid" i2c bus on Radeon adapters? I have
> > two Radeon chips here, an M6 in my old laptop and a 9200 in my desktop
> > system. On the M6 there is nothing on the monid bus. On the 9200, the
> > monid bus doesn't even work, every access results in timeout. The
> > radeonfb driver doesn't even look for EDID EEPROMs on that bus (except
> > in debug code.)
> >
> > So I'm curious why you create this i2c bus if you don't need it.
> > Have you ever seen a Radeon adapter where there is something on that
> > bus?
>
> The BIOS connector tables might make us use it.
Where is the code handling this? In radeon_monitor.c I can only see
radeon_probe_i2c_connector() being called on ddc_vga, ddc_dvi and
ddc_crt2. No reference to ddc_monid.
> Otherwise, it tends to
> have the external TMDS transmitter on it for which we'll one day get
> proper support for re-initializing on wakeup from sleep...
But apparently not all chips have the "monid" bus? Or is it a card
property, and other cards using the same Radeon 9200 might have it
while mine doesn't? I wouldn't care about an empty i2c bus, but a
broken bus as I get now affects the whole i2c subsystem and its users
in unpleasant ways. That's why I am wondering if there's a way to avoid
it.
Thanks,
--
Jean Delvare
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: radeonfb monid i2c bus
2008-06-08 14:20 ` Jean Delvare
@ 2008-06-08 22:48 ` Jimmy.Jazz
2008-06-09 5:15 ` Alex Deucher
1 sibling, 0 replies; 8+ messages in thread
From: Jimmy.Jazz @ 2008-06-08 22:48 UTC (permalink / raw)
To: Jean Delvare; +Cc: linux-fbdev-devel
Jean Delvare a écrit :
>
> Where is the code handling this? In radeon_monitor.c I can only see
> radeon_probe_i2c_connector() being called on ddc_vga, ddc_dvi and
> ddc_crt2. No reference to ddc_monid.
>
>
You will find several patches that make use of that functionality. The
current radeonfd driver is quite incomplete and is unusable for the
never cards that use an atom bios. The driver needs also to be
patched. Some of the ati x800 family cards like the one i own will only
work with the ddc_monid and one or more of the patches i mentioned.
> But apparently not all chips have the "monid" bus? Or is it a card
> property, and other cards using the same Radeon 9200 might have it
> while mine doesn't? I wouldn't care about an empty i2c bus, but a
> broken bus as I get now affects the whole i2c subsystem and its users
> in unpleasant ways. That's why I am wondering if there's a way to avoid
> it.
>
There are certainly many good reasons why the driver will stay
unchanged. One reason could be, it is stable for most of the users and
"easily" patchable to fit particular needs. Like me, you need particular
needs :)
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: radeonfb monid i2c bus
2008-06-08 14:20 ` Jean Delvare
2008-06-08 22:48 ` Jimmy.Jazz
@ 2008-06-09 5:15 ` Alex Deucher
2008-06-09 7:14 ` Jean Delvare
1 sibling, 1 reply; 8+ messages in thread
From: Alex Deucher @ 2008-06-09 5:15 UTC (permalink / raw)
To: Jean Delvare; +Cc: benh, linux-fbdev-devel
On Sun, Jun 8, 2008 at 10:20 AM, Jean Delvare <khali@linux-fr.org> wrote:
> On Fri, 06 Jun 2008 23:50:18 +1000, Benjamin Herrenschmidt wrote:
>> On Fri, 2008-06-06 at 12:01 +0200, Jean Delvare wrote:
>> > Can you explain what is the "monid" i2c bus on Radeon adapters? I have
>> > two Radeon chips here, an M6 in my old laptop and a 9200 in my desktop
>> > system. On the M6 there is nothing on the monid bus. On the 9200, the
>> > monid bus doesn't even work, every access results in timeout. The
>> > radeonfb driver doesn't even look for EDID EEPROMs on that bus (except
>> > in debug code.)
>> >
>> > So I'm curious why you create this i2c bus if you don't need it.
>> > Have you ever seen a Radeon adapter where there is something on that
>> > bus?
>>
>> The BIOS connector tables might make us use it.
>
> Where is the code handling this? In radeon_monitor.c I can only see
> radeon_probe_i2c_connector() being called on ddc_vga, ddc_dvi and
> ddc_crt2. No reference to ddc_monid.
There are 4 or 5 ddc buses (really just gpios) and each oem can choose
to wire up to a connector. The bios connector table contains this
map. ddc_vga and ddc_dvi are the most commonly used, but I've seen
cards with other settings. If you want the full story take a look at
the xorg radeon driver (xf86-video-ati).
>
>> Otherwise, it tends to
>> have the external TMDS transmitter on it for which we'll one day get
>> proper support for re-initializing on wakeup from sleep...
>
> But apparently not all chips have the "monid" bus? Or is it a card
> property, and other cards using the same Radeon 9200 might have it
> while mine doesn't? I wouldn't care about an empty i2c bus, but a
> broken bus as I get now affects the whole i2c subsystem and its users
> in unpleasant ways. That's why I am wondering if there's a way to avoid
> it.
>
They are just gpio pads. All the cards supported by radeonfb have
then, but only certain ones are wired up as per the bios connector
tables on x86 cards. Mac cards and we currently hard code them based
on lots of investigation. I suppose, ideally, you check the connector
tables and some of the other bios tables (powerplay, external tmds,
ext dac, multimedia. etc.) and only init the buses you have a
particular card.
Alex
> Thanks,
> --
> Jean Delvare
>
> -------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://sourceforge.net/services/buy/index.php
> _______________________________________________
> Linux-fbdev-devel mailing list
> Linux-fbdev-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel
>
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: radeonfb monid i2c bus
2008-06-09 5:15 ` Alex Deucher
@ 2008-06-09 7:14 ` Jean Delvare
2008-06-09 13:02 ` Alex Deucher
0 siblings, 1 reply; 8+ messages in thread
From: Jean Delvare @ 2008-06-09 7:14 UTC (permalink / raw)
To: Alex Deucher; +Cc: benh, linux-fbdev-devel
Hi Alex,
Thanks for your answers.
On Mon, 9 Jun 2008 01:15:00 -0400, Alex Deucher wrote:
> On Sun, Jun 8, 2008 at 10:20 AM, Jean Delvare <khali@linux-fr.org> wrote:
> > But apparently not all chips have the "monid" bus? Or is it a card
> > property, and other cards using the same Radeon 9200 might have it
> > while mine doesn't? I wouldn't care about an empty i2c bus, but a
> > broken bus as I get now affects the whole i2c subsystem and its users
> > in unpleasant ways. That's why I am wondering if there's a way to avoid
> > it.
>
> They are just gpio pads. All the cards supported by radeonfb have
> then, but only certain ones are wired up as per the bios connector
> tables on x86 cards. Mac cards and we currently hard code them based
> on lots of investigation. I suppose, ideally, you check the connector
> tables and some of the other bios tables (powerplay, external tmds,
> ext dac, multimedia. etc.) and only init the buses you have a
> particular card.
That would indeed make sense. If these are GPIOs, do we even have any
guarantee that they aren't used for other purposes when not used for
I2C? I've always considered the monid I2C bus on my adapters to be
non-existent (i2c-algo-bit can't control the lines) and that's the
reason why I wanted it to not be created, but maybe the GPIO lines are
actually used for something different and creating the non-existent I2C
bus could break that?
So if it is possible to create the I2C buses (by default, at least)
only when the BIOS connector tables say they are present, I'm in favor
of doing that.
--
Jean Delvare
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: radeonfb monid i2c bus
2008-06-09 7:14 ` Jean Delvare
@ 2008-06-09 13:02 ` Alex Deucher
0 siblings, 0 replies; 8+ messages in thread
From: Alex Deucher @ 2008-06-09 13:02 UTC (permalink / raw)
To: Jean Delvare; +Cc: benh, linux-fbdev-devel
On Mon, Jun 9, 2008 at 3:14 AM, Jean Delvare <khali@linux-fr.org> wrote:
> Hi Alex,
>
> Thanks for your answers.
>
> On Mon, 9 Jun 2008 01:15:00 -0400, Alex Deucher wrote:
>> On Sun, Jun 8, 2008 at 10:20 AM, Jean Delvare <khali@linux-fr.org> wrote:
>> > But apparently not all chips have the "monid" bus? Or is it a card
>> > property, and other cards using the same Radeon 9200 might have it
>> > while mine doesn't? I wouldn't care about an empty i2c bus, but a
>> > broken bus as I get now affects the whole i2c subsystem and its users
>> > in unpleasant ways. That's why I am wondering if there's a way to avoid
>> > it.
>>
>> They are just gpio pads. All the cards supported by radeonfb have
>> then, but only certain ones are wired up as per the bios connector
>> tables on x86 cards. Mac cards and we currently hard code them based
>> on lots of investigation. I suppose, ideally, you check the connector
>> tables and some of the other bios tables (powerplay, external tmds,
>> ext dac, multimedia. etc.) and only init the buses you have a
>> particular card.
>
> That would indeed make sense. If these are GPIOs, do we even have any
> guarantee that they aren't used for other purposes when not used for
> I2C? I've always considered the monid I2C bus on my adapters to be
> non-existent (i2c-algo-bit can't control the lines) and that's the
> reason why I wanted it to not be created, but maybe the GPIO lines are
> actually used for something different and creating the non-existent I2C
> bus could break that?
In theory they could be used for other things, but I'm pretty sure
this set (monid, dvi, vga, crt2) is only used for i2c.
>
> So if it is possible to create the I2C buses (by default, at least)
> only when the BIOS connector tables say they are present, I'm in favor
> of doing that.
That would be ideal, unfortunately, I don't have the time to implement
anything like that for radonhd. For anyone interested, the code in
the Xorg radeon driver would be a good guide. The drm modesetting
work should also alleviate this, once it's done for radeon hw.
Alex
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-06-09 13:02 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-06 10:01 radeonfb monid i2c bus Jean Delvare
2008-06-06 13:46 ` Alex Deucher
2008-06-06 13:50 ` Benjamin Herrenschmidt
2008-06-08 14:20 ` Jean Delvare
2008-06-08 22:48 ` Jimmy.Jazz
2008-06-09 5:15 ` Alex Deucher
2008-06-09 7:14 ` Jean Delvare
2008-06-09 13:02 ` Alex Deucher
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).