* 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).